前言
上次分享,我們利用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
這樣,我們的泰坦尼克號數據預測工作就完成了。