python-决策树分类

泰坦尼克号生还者预测

import pandas as pd
from sklearn.tree import tai, export_graphviz#导入决策树分类器,
from sklearn.metrics import classification_report #分类报告
import graphviz #用于数据可视化

#数据预处理(删除无关列,性别用0,1表示,填充年龄的缺失值)
data = pd.read_csv('titanic_data.csv')
data.drop('PassengerId', axis=1, inplace=True)   # 删除PassengerId 列,axis=0是行,=1为列,inplace=True会对原有值进行修改
data.loc[data['Sex'] == 'male', 'Sex'] = 1       # 用索引方法loc对数据进行修改
data.loc[data['Sex'] == 'female', 'Sex'] = 0     # 用数值1来代替male,用0来代替female,sklearn不支持字符串类型数据
data.fillna(data['Age'].mean(), inplace=True)    # fillna()方法,用均值来填充缺失值

#构建模型
Dtc = DecisionTreeClassifier(max_depth=5, random_state=8)    # 构建决策树模型
Dtc.fit(data.iloc[:, 1:], data['Survived'])       # 模型训练(数据和标签(是否生还))
pre = Dtc.predict(data.iloc[:, 1:])               # 模型预测
pre == data['Survived']                           # 比较模型预测值与样本实际值是否一致
classification_report(data['Survived'], pre)      # 分类报告

#数据可视化
dot_data = export_graphviz(Dtc, feature_names=['Pclass', 'Sex', 'Age'], class_names='Survived')
graph = graphviz.Source(dot_data)
graph

部分截图:
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值