Keras基础自学四( sklearn交叉验证)

from keras.models import Sequential
from keras.layers import Dense
import numpy as np
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import StratifiedKFold
from keras.wrappers.scikit_learn import KerasClassifier

# 构建模型
def create_model():
    # 构建模型
    model = Sequential()#顺序模型
    model.add(Dense(units=12, input_dim=8, activation='relu'))#输入层8个节点,隐藏层12个,激活函数relu
    model.add(Dense(units=8, activation='relu'))#隐藏层8个,激活函数relu
    model.add(Dense(units=1, activation='sigmoid'))#输出层1个,激活函数sigmoid
    model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) # 编译模型
    return model

seed = 7
np.random.seed(seed)# 设定随机数种子

# 导入数据
dataset = np.loadtxt('D:\example\Keras\pima-indians-diabetes.csv', delimiter=',')
# 分割输入x和输出Y,X是已知X,Y是标准答案
x = dataset[:, 0 : 8]#取二维数组中第1(m)维到7维(第n-1维)的所有数据,相当于取第1(m)列到第七(n-1)列的所有数据
Y = dataset[:, 8]#取二维数组中第9维的所有数据,相当于取第9列的所有数据

#创建模型 for scikit-learn
model = KerasClassifier(build_fn=create_model, epochs=15, batch_size=10, verbose=0)

# 10折交叉验证
kfold = StratifiedKFold(n_splits=10, shuffle=True, random_state=seed)
results = cross_val_score(model, x, Y, cv=kfold)
print(results.mean())
'''
verbose = 0 为不在标准输出流输出日志信息
'''

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值