0
点赞
收藏
分享

微信扫一扫

大唐杯模拟题

三分梦_0bc3 2024-04-20 阅读 23

目录

数据集

题目

算法步骤


数据集

下载地址

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'])
举报

相关推荐

0 条评论