七层神经网络 PK logstic 回归

本文对比了logistic回归与神经网络在预测任务上的表现。logistic回归在测试集上仅达到66.2%的准确率,而通过构建一个包含多个隐藏层的神经网络模型,准确率显著提升至99.3%。文中详细介绍了神经网络模型的设计与训练过程。

    

    logstic链接    在这 篇文章中,我们讨论了logstic 回归,但是logstic回归的正确率太低了
在那个算例中,正确率只有66.2%


import pandas as pd

inputfile1='horseColicTraining.xlsx' 
input1= pd.read_excel(inputfile1).values


data_train=input1
'''
data_max = data_train.max()
data_min = data_train.min()


# data_std = data_train.std()
#data_train1 = (data_train-data_min)/(data_max-data_min) #数据标准化

'''
train_input=data_train[:,0:21]
train_label=data_train[:,21:22]

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

model = Sequential() #建立模型
model.add(Dense(input_dim = 21, output_dim = 48)) #添加输入层、隐藏层的连接
model.add(Activation('tanh')) #以Relu函数为激活函数

model.add(Dense(input_dim = 48, output_dim = 48)) #添加隐藏层、隐藏层的连接
model.add(Activation('relu')) #以Relu函数为激活函数
model.add(Dropout(0.2))

model.add(Dense(input_dim = 48, output_dim = 36)) #添加隐藏层、隐藏层的连接
model.add(Activation('relu')) #以Relu函数为激活函数
model.add(Dropout(0.2))
model.add(Dense(input_dim = 36, output_dim = 36)) #添加隐藏层、隐藏层的连接
model.add(Activation('relu')) #以Relu函数为激活函数

model.add(Dense(input_dim = 36, output_dim = 12)) #添加隐藏层、隐藏层的连接
model.add(Activation('relu')) #以Relu函数为激活函数
model.add(Dense(input_dim = 36, output_dim = 36)) #添加隐藏层、隐藏层的连接
model.add(Activation('relu')) #以Relu函数为激活函数


model.add(Dense(input_dim = 36, output_dim = 1)) #添加隐藏层、输出层的连接
model.add(Activation('sigmoid')) #以sigmoid函数为激活函数
#编译模型,损失函数为binary_crossentropy,用adam法求解
model.compile(loss='mean_squared_error', optimizer='adam')
model.fit(train_input, train_label, nb_epoch = 1000, batch_size = 20) #训练模型


inputfile2='horseColicTest.xlsx' 
input2= pd.read_excel(inputfile1).values



data_test=input2
'''
test_max = data_test.max()
test_min = data_test.min()


# data_std = data_train.std()
test_train = (data_test-test_min)/(test_max-test_min) #数据标准化

'''
test_input=data_test[:,0:21]
test_label=data_test[:,21:22]


r = pd.DataFrame(model.predict_classes(test_input))


print('/n')  
print('I love tt and cc')        
from sklearn.metrics import accuracy_score
print(accuracy_score(test_label, r)) 
0.993288590604

    
    当我采用神经网络时,正确率取得了惊人的提高
达到99.3%

    logstic 回归 ,从本质上说,就是一个单层感知器,仅此而已。 一个输入层 ,一个激活层的单层感知机。
    在本文中,我采用的是一个七层神经网络,更深沉的大脑才能进行深度思考,单纯的logstic 回归 太浅薄了。

提取密码 l1hr

github

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值