MLP 網格搜尋
你可以使用 sklearn 進行超參數調校,方法是提供多種輸入參數,每個參數都能用 numpy 的各種函式來編碼。網格搜尋是一種方法,會將 param_grid 指定的所有超參數組合完整掃過。在這個練習中,你將使用網格搜尋來調整 MLP 分類器的超參數。
你的工作空間中已提供 X_train、y_train、X_test、y_test,而且特徵已經標準化。pandas 作為 pd、numpy 作為 np 也都已可使用。
本練習屬於課程
用 Python 透過機器學習預測 CTR
練習說明
- 建立
max_iter的值清單[10, 20],以及hidden_layer_sizes的值清單[(8, ), (16, )]。 - 使用
n_jobs設定 4 個工作,建立網格搜尋以遍歷所有超參數組合。 - 印出最佳的 AUC 分數,以及導致此分數的最佳估計器。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Create list of hyperparameters
max_iter = [____, ____]
hidden_layer_sizes = [____, ____]
param_grid = {'max_iter': max_iter, 'hidden_layer_sizes': hidden_layer_sizes}
# Use Grid search CV to find best parameters using 4 jobs
mlp = ____
clf = ____(estimator = mlp, param_grid = ____,
scoring = 'roc_auc', ____ = 4)
clf.fit(X_train, y_train)
print("Best Score: ")
print(clf.____)
print("Best Estimator: ")
print(clf.____)