3)使用决策树完成泰坦尼克号幸存者预测。
时间: 2023-09-17 14:08:37 浏览: 176
决策树来实现泰坦尼克生存情况
好的,让我们来完成一个决策树模型来预测泰坦尼克号上的幸存者。首先,我们需要导入必要的库和数据集:
```python
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 导入数据集
data = pd.read_csv('titanic.csv')
# 查看数据集信息
data.info()
```
接下来,我们需要对数据进行预处理,包括处理缺失值、删除无用的特征等:
```python
# 处理缺失值
data = data.dropna(subset=['Embarked']) # 删除Embarked列中的缺失值
data['Age'] = data['Age'].fillna(data['Age'].mean()) # 用平均值填充Age列中的缺失值
# 删除无用的特征
data = data.drop(['PassengerId', 'Name', 'Ticket', 'Cabin'], axis=1)
# 将字符串类型的特征转换为数值类型
data['Sex'] = data['Sex'].map({'male': 0, 'female': 1})
data['Embarked'] = data['Embarked'].map({'S': 0, 'C': 1, 'Q': 2})
# 查看处理后的数据集信息
data.info()
```
接下来,我们将数据集分为训练集和测试集,并训练决策树模型:
```python
# 分离特征和标签
X = data.drop(['Survived'], axis=1)
y = data['Survived']
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 训练决策树模型
clf = DecisionTreeClassifier(random_state=42)
clf.fit(X_train, y_train)
```
最后,我们可以使用训练好的模型对测试集进行预测,并计算模型准确率:
```python
# 对测试集进行预测
y_pred = clf.predict(X_test)
# 计算模型准确率
accuracy = accuracy_score(y_test, y_pred)
print('模型准确率:', accuracy)
```
完成上述代码后,我们就可以得到一个简单的决策树模型,用于预测泰坦尼克号幸存者。
阅读全文