码迷,mamicode.com
首页 > 其他好文 > 详细

keras多层感知机MLP

时间:2019-05-02 14:30:39      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:numpy   bat   随机种子   ras   opened   load   cross   size   自动   

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

标签:numpy   bat   随机种子   ras   opened   load   cross   size   自动   

原文地址:https://www.cnblogs.com/superxuezhazha/p/10802212.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!