Python数据分析实战(四)——决策树泰坦尼克号生还预测

本文介绍了一个使用决策树算法预测泰坦尼克号乘客生还情况的案例。通过对泰坦尼克号数据集进行预处理,包括删除无关特征、数值化性别变量并填充年龄缺失值,然后应用决策树分类器进行训练。最后,生成了决策树的图形表示,并评估了模型的预测精度。

决策树——泰坦尼克号生还预测

import pandas as pd
from sklearn.tree import DecisionTreeClassifier, export_graphviz
from sklearn.metrics import classification_report
import graphviz
import pydotplus
data = pd.read_csv(r'./data/titanic_data.csv')
data.drop('PassengerId',axis=1,inplace=True)  # 删除PassengerId列
data.loc[data['Sex']=='male','Sex']=1  #'male'用1替换
data.loc[data['Sex']=='female','Sex']=1  #'female'用0替换
data['Age'].fillna(data['Age'].mean(),inplace=True)  # 用均值替换缺失值
dtc = DecisionTreeClassifier(max_depth=5,random_state=8)  # 决策树分类器
dtc.fit(data.iloc[:,1:],data['Survived'])  # 模型训练没那么济南济南济南济南
pre = dtc.predict((data.iloc[:,1:]))  # 模型预测
data['Survived']==pre  # 判断是否预测值是否正确
# print(classification_report(data['Survived'],pre))  # 打印分类报告


dot_data = export_graphviz(dtc,feature_names=['Pclass', 'Sex', 'Age'],class_names='Survived')  # 决策树内核
# graph = graphviz.Source(dot_data)
graph = pydotplus.graph_from_dot_data(dot_data)
graph.write_png(r"./data/titanic.png")  # 写入png
              precision    recall  f1-score   support

           0       0.75      0.85      0.79       549
           1       0.69      0.54      0.60       342

    accuracy                           0.73       891
   macro avg       0.72      0.69      0.70       891
weighted avg       0.72      0.73      0.72       891

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值