深度学习|泰坦尼克号生还数据预测(MLP)

2019-01-28 13:49:41 浏览数 (1)

前言

上次分享,我们利用pandas和sklearn完成了泰坦尼克号数据的预处理,包括下面的步骤,具体可看深度学习|泰坦尼克号生还数据处理

  • 选取建模字段
  • 缺失值处理
  • 性别处理
  • 登陆船舱的处理
  • 划分数据集
  • 数据的标准化

那这篇文章我们就构造神经网络来完成数据的建模和预测。

MLP建模

模型结构

模型结构为:

  • 输入层,也就是9个神经元(对应9个字段)
  • 隐藏层1,40个神经元
  • 隐藏层2,30个神经元
  • 输出层,1个神经元
建立模型
代码语言:javascript复制
from keras.models import Sequential
from keras.layers import Dense,Dropout

model = Sequential()

model.add(Dense(units=40, input_dim=9, 
                kernel_initializer='uniform', 
                activation='relu'))

model.add(Dense(units=30, 
                kernel_initializer='uniform', 
                activation='relu'))

model.add(Dense(units=1, 
                kernel_initializer='uniform',
                activation='sigmoid'))
训练模型
代码语言:javascript复制
model.compile(loss='binary_crossentropy', 
              optimizer='adam', metrics=['accuracy'])

train_history =model.fit(x=X_train, 
                         y=y_train, 
                         validation_split=0.1, 
                         epochs=30, 
                         batch_size=30,verbose=2)
测试
代码语言:javascript复制
scores = model.evaluate(x=X_test, 
                        y=y_test)
scores[1]
# result 0.804

这样,我们的泰坦尼克号数据预测工作就完成了。

0 人点赞