决策树解决泰坦尼克号人员生存预测问题报告

从python和机器学习小白,大概是用了几天学了简单python,然后写了一个最简单的决策树算法,大部分都是调用,简单总结一些解决的泰坦尼克号问题。

流程目录

    • 1、获取数据:
    • 2、数据处理:
    • 3、划分数据集:
    • 4、特征工程:
    • 5、决策树预估器流程:
    • 6、模型评估:
    • 7、决策树可视化:

首先是流程分析:1、获取数据。2、数据处理(特征值处理,特征值->字典类型)。3、划分数据集。4、特征工程(字典特征提取)。5、决策树预估器流程。6、模型评估。7、决策树可视化。

1、获取数据:

官网下载一直出现错误,所以我从CSDN论坛上面下载了一个,不过数据集有些问题,有一万多条数据,和事件情况不符,而且里面不少缺失数据,但是我看到很多人都是用这个数据集进行的分析。

代码:代码1

2、数据处理:

我打开数据集发现影响生存率的条件很多,包括年龄、舱位等等。其中我在特征值中选出了年龄、性别、是不是贵族,年龄对缺失值进行了补充,原则是补上平均值。最后一步转换成字典。

代码:决策树解决泰坦尼克号人员生存预测问题报告_第1张图片

3、划分数据集:

将训练集和测试集按照3:7分开,随机样本数设成50。

代码:代码3

4、特征工程:

主要做字典特征抽取。首先,实例化转换器。其次调用fit_transfrom(),训练集和测试集要进行同样的处理。

代码:代码4

5、决策树预估器流程:

选用了ID3算法,网上搜索到深度20比较合适泰坦尼克案例。

代码:代码5

6、模型评估:

选择了两种方法,法一是直接对比,能看出测试集是否正确,法二直接输出正确率。

代码:代码6
结果:决策树解决泰坦尼克号人员生存预测问题报告_第2张图片

7、决策树可视化:

生成.dot文件,不过我电脑打开生成图像的网站一直显示加载中,最后只生成了dot文件,没有转化成树的图像。

代码:代码8

#最后我尝试了模型选择和调优,加入了网格搜索和交叉验证,最终显示准确率变化不大,我查询资料说是这个数据集不适合决策树。后来问了其他人,他说是数据处理的不够细致。而且加入这些以后,进行决策树可视化的时候一直报错,简单讨论之后并没有找到解决办法。这次完成的并不是很好,但是这几天的学习中,我确定了自己对机器学习有浓厚兴趣,我会继续学习提高自己。

决策树解决泰坦尼克号人员生存预测问题报告_第3张图片
结果
源代码截图:决策树解决泰坦尼克号人员生存预测问题报告_第4张图片

你可能感兴趣的:(人工智能总结,决策树,机器学习,人工智能)