本文主要是介绍sklearn中决策树算法实例--泰坦尼克号人员生存预测,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
数据集
题目
算法步骤
数据集
下载地址
titanic.csv · Yuyi Ye/ML-Decision-Tree - 码云 - 开源中国 (gitee.com)
题目
根据数据集中的数据,预测哪些乘客可以从泰坦尼克号沉船事故中幸免。
算法步骤
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction import DictVectorizer
from sklearn.tree import DecisionTreeClassifier
1、数据预览
import pandas as pd
titan=pd.read_csv("data/titanic.csv")#获取数据
titan//展示数据
数据集中的数据如下所示:
2、数据处理
根据对数据的分析,可用的特征集/属性集为:pclass,age,sex
目标值/类别为survived中的数据
据此,将标签进行划分:
x=titan[["pclass","age","sex"]]
y=titan["survived"]
缺失值填充
x['age'].fillna(value=titan["age"].mean(),inplace=True)
数据集划分
划分为测试集和训练集
xtrain,xtest,ytrain,ytest=train_test_split(x,y,random_state=20,test_size=0.5)
3、提取特征
首先,将训练集和测试集中的数据转为字典格式
xtrain=xtrain.to_dict(orient='records')
xtest=xtest.to_dict(orient='records')
数据格式形如
字典特征提取
#字典特征提取
transfer=DictVectorizer()
xtrain=transfer.fit_transform(xtrain)#返回一个稀疏矩阵
xtest=transfer.fit_transform(xtest)
4、决策树
#决策树
yuce=DecisionTreeClassifier()
yuce.fit(xtrain,ytrain)
ypre=yuce.predict(xtest)
ypre
结果
5、结果评价
#结果评价
scores=yuce.score(xtest,ytest)
scores
6、可视化
from sklearn.tree import export_graphviz
export_graphviz(yuce,out_file="data/tree.dot",feature_names=['age','pclass=1st','pclass=2st','pclass=3st','female','male'])
这篇关于sklearn中决策树算法实例--泰坦尼克号人员生存预测的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!