决策树--My way of ML10

基础知识

信息增益:得知一个特征条件之后,减少的信息熵的大小

简单比喻

我们如何判断一个人是女人:

  1. 长头发吗
  2. 有第二性征吗
  3. 说话声音嗲吗

如果画成一个树的话那就是,长头发吗,是的话判断右子树(有第二性征吗),是的话判断右子树(声音嗲吗),是的话就是女人。

那么让计算机来做的话,它怎么会知道把长头发吗放在树的根部呢,就是更具信息熵来判断的,如果得知了这个特征之后减少的信息熵越大,说明这个特征越能够区分男女。

这就是决策树的基本知识远离,数学原理参考这里

决策树API:sklearn.tree_DecisionTreeClassifier
参数:
criterion=‘gini’,默认划分依据是基尼系数
max_depth=None,树的最大深度
radom_state=None,随机数种子

决策树结构和本地保存

sklearn.tree.export_graphviz()到处DOT格式

决策树来预测泰坦尼克号乘客生死

数据集在这里下载,当然可以直接pandas.read_csv(“网址”)

首先观察数据在这里插入图片描述
这么多特征值我们肯定不是都要,我们选择pclass,年龄和性别作为特征值,读者可以仔细想想选择的依据,survived作为目标值

然后我们要填充缺失值,分割数据集测试集。

在这里插入图片描述

保存的决策树如下图:
在这里插入图片描述
预测结果如图:
在这里插入图片描述
1代表生,0代表死

总结

决策树的优点是:树木可视化,需要很少的数据准备
缺点是:容易过拟合

解决办法是:剪枝算法,随机森林参数调优

@author:[email protected] 欢迎交流

猜你喜欢

转载自blog.csdn.net/qq_34788903/article/details/83244391