Python数据科学:神经网络

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,提高了不少。

声明: 本文由入驻OFweek维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。
侵权投诉

下载OFweek,一手掌握高科技全行业资讯

还不是OFweek会员,马上注册
打开app,查看更多精彩资讯 >
  • 长按识别二维码
  • 进入OFweek阅读全文
长按图片进行保存