머신러닝/LightGBM

[LightGBM활용_Kaggle-타이타닉-05] 모델 돌려보기(단독_ GridSearch 활용하여 최적하이퍼파라미터 찾기)

goAhEAd_29 2023. 5. 23. 19:43
728x90
반응형

1. LightGBM 최적의 하이퍼파라미터 찾고 학습하기

from sklearn.model_selection import GridSearchCV
from sklearn.tree import DecisionTreeClassifier
import lightgbm as lgb

# LightGBM 모델 생성
lgb_model = lgb.LGBMClassifier()

# 그리드 서치를 위한 하이퍼파라미터 그리드 준비
param_grid_lgb = {
    'max_depth': [3, 5, 7],
    'learning_rate': [0.1, 0.01, 0.001],
    'n_estimators': [100, 200, 300 , 500 , 700],
    'min_child_samples': [1, 5, 10],
    'subsample': [0.8, 0.9, 1.0],
    'colsample_bytree': [0.8, 0.9, 1.0],
    'reg_alpha': [0.0, 0.1, 0.5],
    'reg_lambda': [0.0, 0.1, 0.5]
}


# 그리드 서치 객체 생성
grid_search_lgb = GridSearchCV(lgb_model, param_grid_lgb, cv=10, n_jobs=-1)

# 그리드 서치 수행
grid_search_lgb.fit(X_train, y_train)

# 최적의 모델 및 파라미터 출력
best_model_grid_search_lgb = grid_search_lgb.best_estimator_
best_params_grid_search_lgb = grid_search_lgb.best_params_
print("Best Model (LightGBM):", best_model_grid_search_lgb)
print("Best Parameters (LightGBM):", best_params_grid_search_lgb)

Best Model (LightGBM): 

LGBMClassifier(colsample_bytree=0.8, learning_rate=0.01, max_depth=3,
               min_child_samples=1, n_estimators=300, reg_alpha=0.5,
               reg_lambda=0.5, subsample=0.8)

 

Best Parameters (LightGBM): {'colsample_bytree': 0.8, 'learning_rate': 0.01, 'max_depth': 3, 'min_child_samples': 1, 'n_estimators': 300, 'reg_alpha': 0.5, 'reg_lambda': 0.5, 'subsample': 0.8}

 

==> 너무 오래걸린다. 이 하이퍼파라미터들 그냥 기억해두자.

 

 

728x90
반응형