2024.04.13 - [MachineLearning] - Regression 1) .coef_ , .intercept_ , .predict( )
그리고 이제 오차를 구해보자
실제값 - 예측값을 해보면 오차가 나올것이고
오차가 작을수록 똑똑한 인공지능인 것이다
error = y_test - y_pred
error
15 -4011.719429
8 8653.750789
6 6259.747285
26 1296.361158
3 -860.270233
11 -7601.235196
Name: Salary, dtype: float64
오차가 8천도 있고 -860도 있어
오차의 평균치 부터 알아야 할것같다
하지만 그 전에
음수도 있고 양수도 있기때문에
오차를 제곱하여 부호를 먼저 없앤 후에 평균을 구하도록 하자
(error**2).mean()
31727520.866778105
오차를 제곱하여 평균을 구했다
이것을 MSE 라고 부르는데
본딧말은
Mean Squared Error
평균 제곱 오차 라는 뜻이다
np.sqrt( (error**2).mean() )
평균 제곱 오차를 제곱근을 구하는
np.sqrt( )파라미터에 집어넣으면
RMSE ( Root Mean Squared Error )
평균 제곱근 오차라고 부른다
그럼 이제 눈으로 보기쉽게 얼마나 오차가 나는건지 차트로 그려 알아보자
y_test
15 67938.0
8 64445.0
6 60150.0
26 116969.0
3 43525.0
11 55794.0
Name: Salary, dtype: float64
y_pred
array([ 71949.71942864, 55791.24921078, 53890.25271456, 115672.63884167,
44385.27023347, 63395.23519566])
y의 실제값과 y의 예측값을 가지고
차트를 그려보면 알 수 있을것이다
df_test = y_test.to_frame()
df_test['y_pred'] = y_pred
우선 실제값을 데이터프레임으로 변환하고
예측값도 추가하여 하나의 데이터프레임으로 만들어준뒤
df_test.reset_index(drop=True, inplace=True)
df_test.plot(kind= 'bar')
plt.show()
막대그래프 형태로 만들어서 확인하자
수치가 엄청 심하게 차이나는 것 같지는 않다
'Python > MachineLearning' 카테고리의 다른 글
Regression 4) 인공지능 저장 및 사용 (0) | 2024.04.13 |
---|---|
Regression 3) New 데이터의 예측값은? (1) | 2024.04.13 |
Regression 1) .coef_ , .intercept_ , .predict( ) (0) | 2024.04.13 |
Regression - Data Preprocessing (3) - StandardScaler(), MinMaxScaler(), train_test_split() (0) | 2024.04.13 |
Regression - Data Preprocessing (2) 문자열의 데이터처리( Label Encoding, One Hot Encoding) (0) | 2024.04.13 |