勾配ブースティングのグリッドサーチにアーリーストッピングのパラメータを入れたらエラーになります。
そもそも、グリッドサーチではアーリーストッピングは使えないのでしょうか?
お詳しい方、ご指導をお願いいたします。
from sklearn import datasets from matplotlib import pyplot as plt import lightgbm as lgb from sklearn.model_selection import GridSearchCV # LGB用のデータセットを登録 lgb_train = lgb.Dataset(x_train_std, y_train) lgb_test = lgb.Dataset(x_test_std, y_test, reference=lgb_train) lightgbm = lgb.LGBMClassifier(objective='binary', random_state=0) params = {'task':[ 'train'], # タスクを訓練に設定 'boosting_type': ['gbdt'], # GBDTを指定 'objective': ['multiclass'], # 多クラス分類を指定 'metric': ['multi_logloss'], # 多クラス分類の損失(誤差) 'num_class': [3], # クラスの数 'learning_rate': [0.1,0.2,0.25,0.3], # 学習率 'max_dapth': [1,3,5,10], # 木の深さ 'num_leaves': [5,10,15,30], # ノードの数 'min_data_in_leaf': [5,10,15,20,30], # 決定木ノードの最小データ数 'num_iteration': [500]} # 予測器(決定木)の数:イタレーション(反復数) lgb_results = {} # 学習の履歴を入れる入物 gbm = GridSearchCV(estimator=lightgbm, param_grid=params, scoring='neg_log_loss', cv=2, n_jobs=-1, verbose=0, early_stopping_rounds=10, ) gbm.fit(x_train_std, y_train) # 最も良いパラメータとスコア print(gbm.best_params_) print(gbm.best_score_)
以下、エラーメッセージです。
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-32-2437c70fd420> in <module> 29 n_jobs=-1, 30 verbose=0, ---> 31 early_stopping_rounds=10, 32 ) 33 TypeError: __init__() got an unexpected keyword argument 'early_stopping_rounds' コード
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/18 02:41