パラメーターチューニングして
パラメーターチューニングを行うためには、LightGBMのハイパーパラメータを調整する必要があります。以下は、LightGBMで一般的に調整される主なハイパーパラメータのいくつかです:
num_leaves:木の最大葉数。モデルの複雑さを調整します。max_depth:木の最大深さ。過剰適合を防ぐために制限されるべきです。learning_rate:学習率。各ステップでの重みの更新量を制御します。n_estimators:ブースティングラウンドの数。モデルの訓練に使用される決定木の数を指定します。min_child_samples:各葉に最低限必要なトレーニングサンプル数。過剰適合を防ぐために使用されます。
これらのハイパーパラメータを調整するために、通常、グリッドサーチやランダムサーチなどの方法を使用します。以下は、簡単な例です:
python
from sklearn.model_selection import GridSearchCV # ハイパーパラメータのグリッドを定義 param_grid = { 'num_leaves': [20, 30, 40], 'max_depth': [5, 10, 15], 'learning_rate': [0.05, 0.1, 0.2], 'n_estimators': [50, 100, 200], 'min_child_samples': [10, 20, 30] } # LightGBMモデル lgbm_model = LGBMClassifier() # グリッドサーチの実行 grid_search = GridSearchCV(estimator=lgbm_model, param_grid=param_grid, cv=3, scoring='accuracy') grid_search.fit(X_train, y_train) # 最適なモデルとパラメータの取得 best_model = grid_search.best_estimator_ best_params = grid_search.best_params_ print("Best Parameters:", best_params) # テストセットでの予測 y_pred = best_model.predict(X_test) # モデルの評価 accuracy = accuracy_score(y_test, y_pred) precision = precision_score(y_test, y_pred, average='weighted') recall = recall_score(y_test, y_pred, average='weighted') f1 = f1_score(y_test, y_pred, average='weighted') roc_auc = roc_auc_score(y_test, best_model.predict_proba(X_test), multi_class='ovr') print("Accuracy:", accuracy) print("Precision:", precision) print("Recall:", recall) print("F1 Score:", f1) print("ROC AUC Score:", roc_auc)
このコードでは、GridSearchCVを使用して、指定したハイパーパラメータの組み合わせで交差検証を行います。最適なモデルとそのパラメータが見つかった後、それを使用してテストセットで予測を行い、性能を評価します。

ディスカッション
コメント一覧
まだ、コメントがありません