泰坦尼克号数据预测代码
时间: 2023-10-09 18:06:02 浏览: 104
以下是一个基于泰坦尼克号数据的生存预测的Python代码:
```python
# 导入所需的库
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score
# 读取数据集
titanic_data = pd.read_csv('titanic_data.csv')
# 数据预处理
titanic_data.drop(['PassengerId', 'Name', 'Ticket', 'Cabin'], axis=1, inplace=True)
titanic_data['Age'].fillna(titanic_data['Age'].mean(), inplace=True)
titanic_data['Embarked'].fillna('S', inplace=True)
titanic_data['Sex'] = titanic_data['Sex'].apply(lambda x: 1 if x == 'male' else 0)
titanic_data = pd.get_dummies(titanic_data, columns=['Embarked'])
# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(titanic_data.drop('Survived', axis=1), titanic_data['Survived'], test_size=0.2, random_state=42)
# 训练模型
dtc = DecisionTreeClassifier(random_state=42)
dtc.fit(X_train, y_train)
# 预测并计算准确率
y_pred = dtc.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print('Accuracy: {:.2f}%'.format(accuracy*100))
```
这段代码的流程如下:
1. 导入所需的库
2. 读取数据集
3. 对数据进行预处理:删除无用特征、填充缺失值、对性别进行编码、对Embarked进行one-hot编码
4. 划分数据集为训练集和测试集
5. 训练决策树分类器
6. 对测试集进行预测并计算准确率
注意:这里的数据集是使用Pandas库读取的,需要先将数据保存为CSV格式。另外,这里的模型是使用决策树分类器训练的,也可以使用其他的机器学习算法进行训练。
阅读全文