AI 이론/Prediction (supervised)

[머신러닝] Prediction- Regression, MSE 성능평가

jasonshin 2021. 11. 24. 12:23

1. X, y 분리
X = df.iloc[ : ,1 : ]
y= df['mpg']

1-1. 카테고리컬 데이터 처리
X = pd.get_dummies(X, columns=['origin'])

2. 모두 숫자로 변경되었으니, train / test 용 데이터로 분리한다. 
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=3)

3. 인공지능 모델링
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()

3-1. 학습
regressor.fit(X_train, y_train)

3-2. 예측

y_pred = regressor.predict(X_test)

4. MSE(mean squared error 평균제곱오차) 구함 => 성능평가를 위해서! 
error = y_test - y_pred
(error ** 2).sum()
(error ** 2).mean()

5. 차트로 확인
plt.plot(y_test.values)
plt.plot(y_pred)
plt.legend(['Real', 'Pred'])
plt.savefig('chart1.jpg')
plt.show()

6. 인공지능 적용

1) array로 밸류값 입력

new_data = np.array([0,38, 78000, 15000, 480000])

new_data.shape

(5,)

2) 밸류값 2차원으로 리쉐입

new_data= new_data.reshape(1, 5)

 

3) 밸류값 스케일러 

new_data = scaler_X.transform(new_data)

 

4) 예측

regressor.predict(new_data)

 

y_pred = regressor.predict(new_data)

 

5) 스케일링한 예측값을 다시 원래 단위로 환산

scaler_y.inverse_transform(y_pred.reshape(1,1))

반응형