開始使用免費開始

自動化超參數選擇

在不必為數百個模型撰寫上百行程式碼的情況下,找出你關注的最佳超參數,是能大幅提升效率的關鍵做法,對你未來的機器學習模型建置很有幫助。

對 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_rates 清單存放各個 learning rate,並建立 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)
編輯並執行程式碼