import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
pd.read_csv('Car_Purchasing_Data.csv', encoding='ISO-8859-1')
1. X, y 분리
X = car_df.loc[ : , 'Gender':'Net Worth']
y = car_df['Car Purchase Amount']
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
X = scaler.fit_transform(X)
y= y.values.reshape(500,1)
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.ensemble import RandomForestRegressor
regressor = RandomForestRegressor(random_state=50)
3-1. 학습
regressor.fit(X_train, y_train)
3-2. 예측
y_pred = regressor.predict(X_test)
4. MSE(mean squared error 평균제곱오차) 구함 => 성능평가를 위해서!
y_test = y_test.reshape(125, )
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))
'AI 이론 > Machine Learning' 카테고리의 다른 글
XGBoost (0) | 2021.12.15 |
---|---|
[머신러닝] resample() 함수를 이용해서 데이터 분석하는 방법 (0) | 2021.11.29 |
[머신러닝] 년월일시분초 문자열을 파이썬의 datetime64로 변경하는 법 (0) | 2021.11.29 |
error_bad_lines=False 파라미터 사용법 (0) | 2021.11.29 |
빅데이터 관련 홈페이지 모음 (0) | 2021.11.29 |