基于决策树的泰坦尼克号预测代码
时间: 2023-09-16 09:14:55 浏览: 113
案例系列:泰坦尼克号-预测幸存者-TensorFlow决策森林.ipynb jupyter 代码示例
由于没有给出具体的数据集,以下是基于sklearn自带的泰坦尼克号数据集的决策树预测代码:
```python
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
# 读取数据集
titanic = pd.read_csv('https://web.stanford.edu/class/archive/cs/cs109/cs109.1166/stuff/titanic.csv')
# 数据预处理
titanic.drop(['Name', 'Ticket', 'Cabin'], axis=1, inplace=True)
titanic.dropna(inplace=True)
titanic['Sex'] = titanic['Sex'].map({'male': 0, 'female': 1})
titanic['Embarked'] = titanic['Embarked'].map({'S': 0, 'C': 1, 'Q': 2})
# 划分训练集和测试集
X = titanic.drop('Survived', axis=1)
y = titanic['Survived']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 训练模型
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
# 预测结果
y_pred = model.predict(X_test)
# 评估模型
accuracy = model.score(X_test, y_test)
print('准确率:', accuracy)
```
这里使用了sklearn自带的泰坦尼克号数据集,并进行了简单的数据预处理,包括删除无用的列、处理缺失值、将文本数据转换为数值数据等。然后使用`train_test_split()`函数将数据集划分为训练集和测试集,再使用`DecisionTreeClassifier()`函数训练决策树模型,并使用`score()`函数计算模型的准确率。
阅读全文