keras多层感知机MLP

Posted superxuezhazha

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了keras多层感知机MLP相关的知识,希望对你有一定的参考价值。

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

 

以上是关于keras多层感知机MLP的主要内容,如果未能解决你的问题,请参考以下文章

小白学习keras教程一基于波士顿住房数据集训练简单的MLP回归模型

(数据科学学习手札44)在Keras中训练多层感知机

TensorFlow-多层感知机(MLP)

深度学习6. 多层感知机及PyTorch实现

深度学习6. 多层感知机及PyTorch实现

深度学习6. 多层感知机及PyTorch实现