Python数据挖掘建模 chapter_5 神经网络算法

1.人工神经网络:
BP神经网络误差逆传播算法训练的多层前馈网络
LM神经网络基于梯度下降和牛顿法结合点多层前馈网络,迭代少,精度高
RBF径向积神经网络可以任意精度逼近连续函数,适合解决分类问题
FNN模糊神经网络具有模糊系数或输入信号是模糊量的神经网络
GMDH神经网络多项式神经网络,前馈神经网络中用于预测的不稳定结构网络
ANFIS自适应神经网络全模糊结构,可自动产生、修正并高度概括规则

(训练数据需要TensorFlow、keras、pandas等相关64位Python库)

数据举例:

num wealth weekend p_sale num_sale
1 bad yes yes high
2 bad yes yes high
3 bad yes yes high
4 bad no yes high
5 bad yes yes high
6 bad no yes high
7 bad yes no high
8 good yes yes high
9 good yes no high
。。。

data[data == u'yes'] = 1
data[data == u'high'] = 1
data[data != 1] = 0
x = data.iloc[:,:3].as_matrix().astype(int)
y = data.iloc[:,3].as_matrix().astype(int)

from keras.models import Sequential
from keras.layers.core import Dense, Activation

model = Sequential() #建立模型
model.add(Dense(input_dim = 3, output_dim = 10))
model.add(Activation('relu')) #用relu函数作为激活函数,能够大幅提供准确度
model.add(Dense(input_dim = 10, output_dim = 1))
model.add(Activation('sigmoid')) #由于是0-1输出,用sigmoid函数作为激活函数

model.compile(loss = 'binary_crossentropy', optimizer = 'adam')
#编译模型。由于我们做的是二元分类,所以我们指定损失函数为binary_crossentropy,求解方法我们指定用adam,还有sgd、rmsprop等可选

model.fit(x, y, nb_epoch = 500, batch_size = 10) #训练模型,学习500次
yp = model.predict_classes(x).reshape(len(y)) #分类预测

#from cm_plot import * #导入自行编写的混淆矩阵可视化函数
#cm_plot(y,yp).show() #显示混淆矩阵可视化结果
print y
print yp

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值