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 为不在标准输出流输出日志信息
'''

 

Keras基础自学四( sklearn交叉验证)Keras基础自学四( sklearn交叉验证) gamblerofdestinyR14 发布了38 篇原创文章 · 获赞 1 · 访问量 734 私信 关注
上一篇:Windows驱动开发学习记录-驱动中快速重启关闭计算机之一


下一篇:论在Windows下远程连接Ubuntu