前言
上次分享,我们利用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
这样,我们的泰坦尼克号数据预测工作就完成了。