개발/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가지 모델을 비교하고 분석하는 내용을 진행한다.