정답(label)이 있는 데이터를 학습하여 데이터와 정답 간의 규칙 파악하는 것입니다.
- 새로운 데이터에 대하여 학습한 내용을 기반으로 정답 예측
- 회귀 문제
- 연속적인 값 예측
- e.g. 주택 가격 예측, 강수량 예측 등
- 분류 문제
- 데이터의 특정 범주에 속할 확률 예측
- e.g. 상품 구매 에부 예측(이진 분류), 고양이 종 예측(다중 분류) 등
데이터로부터 유용한 예측을 하기 위해 모델을 학습시키는과정
- 모델이란 무엇일까요?
- 예측에 활용할 수 있는 데이터간의 수학적 관계, 규칙, 패턴 등을 의미
- 데이터의 입력 특성(feature)들과 타겟(target)간의 수학적 관계를 정의한 것
| x | y |
| --- | --- |
| 20 | 2 |
| 30 | 3 |
| 10 | 1 |
| 50 | 5 |
| 40 | 4 |
→ $f(x) = y =0.1x$
예측 모델을 만들기 전에 가장 간단하면서도 직관적이면서 최소한의 성능을 나타내는 기준이 되는 모델을 기준모델이라고 합니다.
- 예측 모델이 의미있는지 판단하기 위한 비교 기준 필요
선형 회귀는 알려진 다른 관련 데이터 값을 사용하여 알 수 없는 데이터의 값을 예측하는 데이터 분석 기법으로 선형관계의 최적의 직선을 찾는 과정을 말합니다.
1개의 특성을 기반하는 선형회귀 모델
잔차(residual)
실제값 - 모델의 예측값
비용함수
RSS(residual sum of squares)
- 잔차 제곱들의 합
## 계수(coefficient)
model.coef_
## 절편(intercept)
model.intercept_
종속변수
독립변수
예측값 : 만들어진 모델이 추정하는 값
잔차(residual) : 예측값과 관측값 차이
오차 : 모집단에서의 예측값과 관측값 차이
회귀선 : 잔차 제곱들의 합인 RSS(residual sum of squares)를 최소화 하는 직선
RSS or SSE(Sum of Square Error) : 회귀모델의 비용함수(Cost function)
최소제곱회귀 혹은 Ordinary least squares(OLS) : 잔차제곱합을 최소화하는 방법
학습 : 비용함수를 최소화 하는 모델을 찾는 과정
보간(interpolate) : 주어져 있지 않은 점의 함수값을 예측
외삽(extrapolate) : 기존 데이터의 범위를 넘어서는 값을 예측
Mean Absolute Error(MAE, 평균절대오차) :예측 error 의 절대값 평균
우선 여러분께서 풀어야 하는 문제를 풀기에 적합한 모델을 선택하여 클래스를 찾아본 후 관련 속성이나 하이퍼파라미터를 확인해 봅니다.
fit()
메소드를 사용하여 모델을 학습합니다.predict()
메소드를 사용하여 새로운 데이터를 예측합니다.from sklearn.linear_model import LinearRegression
model = LinearRegression()
feature, target = ['bathrooms'] , ['price']
X_train, y_train = df[feature] , df[target]
model.fit(X_train,y_train)
X_test = [[x] for x in df['bathrooms']]
y_pred = model.predict(X_test)
plt.scatter(X_train, y_train, color='black', linewidth=1)
plt.scatter(X_test, y_pred, color='blue', linewidth=1);
X
로 표현하고 보통 2-차원 행렬입니다([n_samples, n_features]
). 주로 NumPy 행령이나 Pandas 데이터프레임으로 표현합니다.n_samples
) 입니다. 주로 Numpy 배열이나 Pandas Series로 표현합니다.