始める無料で始める

ハイパーパラメータ選択の自動化

何百ものモデルに対して何百行ものコードを書かずに、関心のある最適なハイパーパラメータを見つけられるようになることは、今後のMachine Learningモデル構築に大きく貢献する重要な効率化です。

GBM アルゴリズムで重要なハイパーパラメータのひとつは learning rate です。ただし、この問題に最適な learning rate はどれでしょうか? いくつかの候補をループで探索し、結果を集約・可視化することで最適な値を見つけられます。

試すべき learning rate の候補は 0.001、0.01、0.05、0.1、0.2、0.5 です。

X_trainX_testy_trainy_test の各データセットが用意されており、GradientBoostingClassifier はインポート済みです。

この演習はコースの一部です

Pythonでのハイパーパラメータチューニング

コースを見る

演習の手順

  • learning rate 用の learning_rates リストと、予測の正解率を保持する results_list を作成します。
  • 記載の各 learning rate について GBM モデルを作成し、各モデルで予測を行うループを書きます。
  • learning rate と正解率を results_list に保存します。
  • 最後に結果リストを DataFrame に変換して表示します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Set the learning rates & results storage
learning_rates = ____
results_list = ____

# Create the for loop to evaluate model predictions for each learning rate
for learning_rate in ____:
    model = ____(learning_rate=____)
    predictions = ____.fit(____, ____).predict(____)
    # Save the learning rate and accuracy score
    results_list.append([____, accuracy_score(y_test, ____)])

# Gather everything into a DataFrame
results_df = pd.DataFrame(____, columns=['learning_rate', 'accuracy'])
print(results_df)
コードを編集して実行