决策树分析_泰坦尼克数据

决策树分析:
用泰坦尼克数据中的pclass,sex,age作为决策属性,Survived作类别属性,30%的数据作为测试集,70%作为训练集。用程序得到该数据集的决策树模型,并给出测试数据的准确度。
部分数据集截图
数据集下载地址:
链接:https://pan.baidu.com/s/1xIgTb2VK88Q0Bqp4TJwzPw
提取码:dbdo

# -*- coding: utf-8 -*-
"""
Created on Fri Apr 24 13:24:31 2020

@author: WangYong
"""
'''
实验流程:先把数据分为两部分,一部分是决策属性的取值,另一部分是类别属性的取值,
然后调用决策树的方法对提供的训练样本决策属性和类别属性进行拟合,生成与训练样本相符合的决策树,
再利用这颗决策树对未知的决策属性进行分类类别预测;
'''
#导入所需的模块和包,然后读取数据
import pandas as pda
fname = r"E:\titantic.xlsx"
data = pda.read_excel(fname,encoding="utf8")
data.head(<
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一个机器学习的任务,需要使用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评估指标。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值