七层神经网络 PK logstic 回归
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 回归 太浅薄了。