ハイパーパラメータ選択の自動化
何百ものモデルに対して何百行ものコードを書かずに、関心のある最適なハイパーパラメータを見つけられるようになることは、今後のMachine Learningモデル構築に大きく貢献する重要な効率化です。
GBM アルゴリズムで重要なハイパーパラメータのひとつは learning rate です。ただし、この問題に最適な learning rate はどれでしょうか? いくつかの候補をループで探索し、結果を集約・可視化することで最適な値を見つけられます。
試すべき learning rate の候補は 0.001、0.01、0.05、0.1、0.2、0.5 です。
X_train、X_test、y_train、y_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)