개발/python

Kaggle - London Bike Sharing (5) 머신러닝 기반 학습,예측

freshplay 2023. 10. 3. 21:56

* 모형 평가 metric 설정 - RMSE

from sklearn.metrics import mean_squared_error

def RMSE(y_test, y_pred):
	return np.sqrt(mean_squared_error(y_test, y_pred))

 

 

* RandomForestRegressor

RandomForest를 사용한 회귀 방식

RandomForestRegressor 함수에는 수많은 옵션이 있지만, n_estimators와 random_state만 사용해서 진행했다.

from sklearn.ensemble import RandomForestRegressor

rf = RandomForestRegressor(n_estimators=100, random_state=16)
#100개의 모형을 만들고, random_state 안해
rf.fit(x_train, y_train)
rf_result = rf.predict(x_test)

print("RMSE: ", RMSE(y_test, rf_result) )

>> 앞선 포스팅 (4) 보다 30 정도 높은 값이 나왔다.

 

* XGBRegressor

XGBRegressor를 사용한 회귀

from xgboost import XGBRegressor

xgb = XGBRegressor(n_estimators=100, random_state=16)
xgb.fit(x_train, y_train)
y_pred = xgb.predict(x_test)

print('RMSE: ', RMSE(y_test, y_pred) )

>>

* LGBMRegressor

LGBMRegressor를 사용한 회귀

from lightgbm import LGBMRegressor

lgb = LGBMRegressor(n_estimators=100, random_state=7)
lgb.fit(x_train, y_train)
lgb_pred = lgb.predict(x_test)

print('RMSE: ', RMSE(y_test, lgb_pred))

>>

 

 


그냥 돌리는 건 너무 간단하고 쉬운데

어떤 데이터에서는 어떤 방식의 회귀를 쓰고, 세부 변수값들을 어떤 값들로 넣어주는지에 따라 결과값이 천차만별일 것 같다.

다음 포스팅에서는 위 3가지 모델을 비교하고 분석하는 내용을 진행한다.