tflearn泰坦尼克号生存分析
时间: 2023-12-22 22:04:44 浏览: 41
好的,下面是一个简单的 TensorFlow + tflearn 实现泰坦尼克号生存分析的代码示例:
```python
import numpy as np
import pandas as pd
import tflearn
# 读取训练数据
train_df = pd.read_csv('train.csv')
# 数据预处理
train_df['Sex'] = train_df['Sex'].map({'female': 0, 'male': 1}).astype(int)
train_df = train_df.drop(['PassengerId', 'Name', 'Ticket', 'Cabin', 'Embarked'], axis=1)
train_df = train_df.dropna()
# 划分特征和标签
X_train = train_df.drop('Survived', axis=1).values
Y_train = train_df['Survived'].values
# 构建神经网络模型
net = tflearn.input_data(shape=[None, 5])
net = tflearn.fully_connected(net, 32)
net = tflearn.fully_connected(net, 32)
net = tflearn.fully_connected(net, 2, activation='softmax')
net = tflearn.regression(net)
# 训练模型
model = tflearn.DNN(net)
model.fit(X_train, Y_train, n_epoch=100, batch_size=16, show_metric=True)
# 读取测试数据
test_df = pd.read_csv('test.csv')
# 数据预处理
test_df['Sex'] = test_df['Sex'].map({'female': 0, 'male': 1}).astype(int)
test_df = test_df.drop(['PassengerId', 'Name', 'Ticket', 'Cabin', 'Embarked'], axis=1)
test_df['Fare'].fillna(test_df['Fare'].mean(), inplace=True)
# 预测测试数据
X_test = test_df.values
Y_pred = model.predict(X_test)
# 输出预测结果
Y_pred = np.argmax(Y_pred, axis=1)
submission = pd.DataFrame({'PassengerId': range(892, 1310), 'Survived': Y_pred})
submission.to_csv('submission.csv', index=False)
```
注:此代码示例仅供参考,实际应用中需要根据数据集的不同进行适当调整。