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

前言

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

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

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

MLP建模

模型结构

模型结构为:

  • 输入层,也就是9个神经元(对应9个字段)
  • 隐藏层1,40个神经元
  • 隐藏层2,30个神经元
  • 输出层,1个神经元
建立模型
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'))
训练模型
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)
测试
scores = model.evaluate(x=X_test, 
                        y=y_test)
scores[1]
# result 0.804

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容