Python數據科學:神經網絡
# 使用GridSearchCV進行最優參數搜索
param_grid = {
# 模型隱層數量
'hidden_layer_sizes': [(10, ), (15, ), (20, ), (5, 5)],
# 激活函數
'activation': ['logistic', 'tanh', 'relu'],
# 正則化系數
'alpha': [0.001, 0.01, 0.1, 0.2, 0.4, 1, 10]
}
mlp = MLPClassifier(max_iter=1000)
# 選擇roc_auc作為評判標準,4折交叉驗證,n_jobs=-1使用多核CPU的全部線程
gcv = GridSearchCV(estimator=mlp, param_grid=param_grid,
scoring='roc_auc', cv=4, n_jobs=-1)
gcv.fit(scaled_train_data, train_target)
輸出最優參數的模型的情況。
# 輸出最優參數下模型的得分
print(gcv.best_score_)
# 輸出值為0.9258018987136855
# 輸出最優參數下模型的參數
print(gcv.best_params_)
# 輸出參數值為{'alpha': 0.01, 'activation': 'tanh', 'hidden_layer_sizes': (5, 5)}
# 使用指定數據集輸出最優模型預測的平均準確度
print(gcv.score(scaler_test_data, test_target))
# 輸出值為0.9169384823390232
模型的roc_auc最高得分為0.92,即該模型下的ROC曲線下面積為0.92。
較之前的0.9149,提高了一點點。
模型的最優參數,激活函數為relu類型,alpha為0.01,隱藏層節點數為15個。
模型的預測平均準確率為0.9169,較之前的0.8282,提高了不少。
請輸入評論內容...
請輸入評論/評論長度6~500個字


分享













