当前位置 : 主页 > 手机开发 > ROM >

keras多层感知机MLP

来源:互联网 收集:自由互联 发布时间:2021-06-10
肯定有人要说什么多层感知机,不就是几个隐藏层连接在一起的吗。话是这么说,但是我觉得我们首先要自己承认自己高级,不然怎么去说服(hu nong)别人呢 from keras.models import Sequen

    肯定有人要说什么多层感知机,不就是几个隐藏层连接在一起的吗。话是这么说,但是我觉得我们首先要自己承认自己高级,不然怎么去说服(hu nong)别人呢

分享图片
from keras.models import Sequential
from keras.layers import Dense
import numpy as np
#设置随机种子,使得每次结果都是一致的
np.random.seed(7)

import pandas as pd
dataFrame = pd.read_csv("E:/数据集/PimaIndians.csv")
print(dataFrame.head())
print(dataFrame.keys())
#导入数据
#dataset = np.loadtxt("E:/数据集/PimaIndians.csv",delimiter=",")
#分割输入变量和输出变量
#选择前8列作为输入,最有一列作为输出
x = dataFrame.ix[:,list(range(8))]
y = dataFrame.ix[:,[8]]
print(x.head())
print(y.head())

#将其转换成np数组,以输入到keras模型中去
x = x.values
y=y.values
print(type(x),x.shape)
#创建模型
model = Sequential()
#添加几个隐藏层
model.add(Dense(12,input_dim=8,activation=relu))
model.add(Dense(8,activation=relu))
model.add(Dense(1,activation=sigmoid))

#编译模型
model.compile(loss=binary_crossentropy,optimizer=adam,metrics=[accuracy])

#训练模型
model.fit(x=x,y=y,epochs=150,batch_size=10,validation_split=0.2)
#评估模型
scores=model.evaluate(x=x,y=y)
print(\n%s:%.2f%%%(model.metrics_names[1],scores[1]*100))
View Code

画几个知识点:

1、pandans按列切片:

#分割输入变量和输出变量
#选择前8列作为输入,最有一列作为输出
x = dataFrame.ix[:,list(range(8))]
y = dataFrame.ix[:,[8]]

2、dataFrame转换成numpy数组

#将其转换成np数组,以输入到keras模型中去
x = x.values
y=y.values

 3、keras自动切分数据集

#训练模型
model.fit(x=x,y=y,epochs=150,batch_size=10,validation_split=0.2)
网友评论