利用Scikit-Learn为模型自动调参

本文介绍了如何结合Keras的包装类与Scikit-Learn的GridSearchCV进行深度学习模型的参数调优。通过字典形式定义调参参数,利用3折交叉验证评估,针对4个参数的3种可能值,总共训练12个模型,寻找最优参数组合。
摘要由CSDN通过智能技术生成

通过Keras的包装类,借助Scikit-Learn的网格搜索算法评估神经网络模型的不同配置,并找到最佳评估性能的参数组合。

在Scikit-Learn中的GridSearchCV需要一个字典类型的字段作为需要调参的参数,默认采用3折交叉验证的方法来评估算法。

这里有四个参数需要调参,因此会产生4*3个模型。

代码如下:

"""
通过Scikit-learn中的GridSearchCV进行自动调参
耗时很久,很多情况下不常用
"""
from keras.models import Sequential
from keras.layers import Dense
import numpy as np
from sklearn.model_selection import GridSearchCV
from keras.wrappers.scikit_learn import KerasClassifier

#构建模型
#这里的参数必须要有init才可以!!!不然会报错。
def create_model(optimizer='rmsprop', init='glorot_uniform'):
    #构建模型
    model = Sequential()
    model.add(Dense(12, input_dim=8, kernel_initializer=init, activation='relu'))
    model.add(Dense(8, kernel_initializer=init, activation='relu'))
    model.add(Dense(1, kernel_initializer=init, activation='sigmoid
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值