빅분기실기 최종 정리_2
| topics | |
| types | |
| contexts | 자격증 |
| tags |
#빅분기 #실기 #머신러닝
|
빅분기 실기 최종 정리 2 - 머신러닝
import pandas as pd
import numpy as np
from sklearn.ensemble import RandomForestRegressor,RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import f1_score,r2_score
# f1 - 0~1 사이, 1일수록 성능 좋음
# r2 - 1: 완벽 예측, 0: 평균 예측 수준, 음수: 모델이 평균보다 나쁨.
# print(dir(sklearn.metrics))
pre_col = "예측할 칼람"
# 데이터 읽기
train = pd.read_csv()
x_test = pd.read_csv()
# 데이터 분리
y_train = train[pre_col]
x_train = train.drop([pre_col],axis=1)
# 오브젝트 col확인
obj_col = x_train.select_dtypes(include="object").columns
x_full_data= pd.concat([x_test,x_train],axis=0)
x_full_data= pd.get_dummies(x_full_data,columns=obj_col)
x_test = x_full_data[:x_test.shape[0]]
x_train = x_full_data[x_test.shape[0]:]
# 분리
x_tra,x_val,y_tra,y_val=train_test_split(x_train,y_train,test_size=0.2)
# 학습
rf = RandomForestRegressor()
rf.fit(x_tra,y_tra)
# 검증
y_val_pre = rf.predict(x_val)
r2 = r2_score(y_val,y_val_pre)
print(r2)
# test예측
y_test_pre = rf.predict(x_test)
y_test_pre=pd.DataFrame({"pred":y_test_pre})
#print(y_test_pre)
y_test_pre.to_csv("result.csv",index=False)
print(pd.read_csv("result.csv"))