基础知识
信息增益:得知一个特征条件之后,减少的信息熵的大小
简单比喻
我们如何判断一个人是女人:
- 长头发吗
- 有第二性征吗
- 说话声音嗲吗
如果画成一个树的话那就是,长头发吗,是的话判断右子树(有第二性征吗),是的话判断右子树(声音嗲吗),是的话就是女人。
那么让计算机来做的话,它怎么会知道把长头发吗放在树的根部呢,就是更具信息熵来判断的,如果得知了这个特征之后减少的信息熵越大,说明这个特征越能够区分男女。
这就是决策树的基本知识远离,数学原理参考这里
决策树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:specyue@mail.ustc.edu.cn 欢迎交流