使用泰坦尼克号Titanic中的train.csv数据建立并训练决策树模型,然后预测test.csv中乘客获救与否,以Accuracy为模型评估指标。
时间: 2024-02-22 10:54:50 浏览: 177
好的,这是一个机器学习的任务,需要使用Python中的一些库和工具来完成。首先,你需要安装并导入以下库:
```python
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
```
然后,你需要从train.csv文件中读取数据,并进行一些数据预处理,例如处理缺失值、将类别变量转换为数值变量等。
```python
# 读取数据
train_data = pd.read_csv('train.csv')
# 处理缺失值
train_data = train_data.fillna(method='ffill')
# 将类别变量转换为数值变量
train_data['Sex'] = train_data['Sex'].map({'male': 0, 'female': 1})
# 选择特征和目标变量
X = train_data[['Pclass', 'Sex', 'Age', 'SibSp', 'Parch', 'Fare']]
y = train_data['Survived']
```
接下来,你可以将数据集划分为训练集和测试集,并使用决策树模型进行训练。
```python
# 划分数据集
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)
```
最后,你可以使用测试集对模型进行评估,并对test.csv文件中的数据进行预测。
```python
# 在测试集上评估模型
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print('Accuracy:', accuracy)
# 加载测试集数据
test_data = pd.read_csv('test.csv')
# 处理缺失值
test_data = test_data.fillna(method='ffill')
# 将类别变量转换为数值变量
test_data['Sex'] = test_data['Sex'].map({'male': 0, 'female': 1})
# 选择特征
X_test = test_data[['Pclass', 'Sex', 'Age', 'SibSp', 'Parch', 'Fare']]
# 预测乘客获救情况
y_pred = model.predict(X_test)
print(y_pred)
```
这样,你就可以使用决策树模型对test.csv文件中的数据进行预测,并获得模型的Accuracy评估指标。
阅读全文