개요
ft_linear_regression은 ecole42의 머신러닝 프로젝트로, 경사 하강법(gradient descent algorithm)을 사용하여 학습된 선형 함수를 통해 자동차 가격을 예측하는 프로그램이다. 데이터셋은 src/data.csv에 있으며, 가격과 주행거리(마일리지) 쌍으로 구성되어 있다. 이 프로젝트에서는 어떤 언어든 자유롭게 사용할 수 있으므로, JavaScript(Node.js와 React를 시각화용으로 사용)를 사용했다.
프로젝트 제한사항
- 외부 라이브러리 사용 금지: 경사 하강법 알고리즘과 선형 회귀 모델은 외부 머신러닝 라이브러리(예: TensorFlow, scikit-learn 등)를 사용하지 않고 직접 구현해야 한다.
- 모든 수학적 연산과 최적화 알고리즘은 순수 코드로 작성해야 한다.
사용 방법
-
패키지 설치
> pnpm i -
학습 전 예측
src/model.json을 학습하기 전에 가격을 예측해본다.> pnpm predict > milage: 200000 > price: 0 -
학습
> pnpm train =========================== Theta0 : 8008.400720135726 Theta1 : -0.02144848806185557 =========================== -
학습 후 예측
> pnpm predict > milage: 200000 > price: 3718.7031077646125 -
시각화 (React 앱 localhost:8080)
> pnpm bonus학습률을 변경하여 경사 하강법 알고리즘이 어떻게 수행되는지 관찰할 수 있다.
