機械学習コンペで使うスニペットたち
メモです。自分がコピペでぺたぺたする用なので随時更新です。
HyperoptでLightGBMモデルをチューニングする
from hyperopt import fmin, hp, tpe def objective(params): params['num_leaves'] = int(params['num_leaves']) params['max_depth'] = int(params['max_depth']) params['min_data_in_leaf'] = int(params['min_data_in_leaf']) model = LGBMRegressor(**params, random_state=0, n_jobs=-1) # calc score return score space = { 'num_leaves': hp.quniform('num_leaves', 50, 200, 10), 'max_depth': hp.quniform('max_depth', 3, 10, 1), 'min_data_in_leaf': hp.quniform('min_data_in_leaf', 5, 25, 2), 'colsample_bytree': hp.uniform('colsample_bytree', 0.5, 1.0), 'learning_rate': hp.uniform('learning_rate', 0.03, 0.2), 'subsample': hp.uniform('subsample', 0.5, 1.0) } best = fmin( objective, space=space, algo=tpe.suggest, max_evals=200)