scikit-learn으로 배우는 지도 학습
George Boorman
Core Curriculum Manager, DataCamp
$y = ax + b$
단순 선형 회귀는 하나의 특성 사용
$y$ = 타깃
$x$ = 단일 특성
$a$, $b$ = 모델의 매개변수/계수 - 기울기, 절편
$a$와 $b$는 어떻게 선택할까요?
임의의 주어진 선에 오류 함수를 정의
오류 함수를 최소화하는 선을 선택
오류 함수 = 손실 함수 = 비용 함수






$RSS = $ $\displaystyle\sum_{i=1}^{n}(y_i-\hat{y_i})^2$
최소제곱법(OLS): RSS 최소화
$$ y = a_{1}x_{1} + a_{2}x_{2} + b$$
$$ y = a_{1}x_{1} + a_{2}x_{2} + a_{3}x_{3} +... + a_{n}x_{n}+ b$$
from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegressionX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)reg_all = LinearRegression()reg_all.fit(X_train, y_train)y_pred = reg_all.predict(X_test)
$R^2$: 특성으로 설명되는 타깃 값의 분산을 정량화 함
높은 $R^2$:


reg_all.score(X_test, y_test)
0.356302876407827
$MSE = $ $\displaystyle\frac{1}{n}\sum_{i=1}^{n}(y_i-\hat{y_i})^2$
$RMSE = $ $\sqrt{MSE}$
from sklearn.metrics import root_mean_squared_errorroot_mean_squared_error(y_test, y_pred)
24.028109426907236
scikit-learn으로 배우는 지도 학습