实现ID3算法用于鸢尾花(Iris)数据分类及实现confusion matrix 评价分类结果
代码
具体代码:https://github.com/kai123wen/MachineLearningAlg/tree/master/ID3HW
鸢尾花数据下载地址:https://archive.ics.uci.edu/ml/datasets/Iris
代码中有着详细的注释,直接看就好
tree.py
1 | import collections |
值得注意的问题
下面我放了几个网址,因为这些网址写的都很好了,没必要再复制一遍。看明白了这些网址,也就明白了对应的问题
ID3算法介绍:
参考:https://zhuanlan.zhihu.com/p/26760551
决策树中连续值的处理:
参考:
决策树中剪枝处理
由于处理鸢尾花数据没有必要进行剪枝,因此代码中没有这一部分内容,但是决策树的剪枝还是要知道的
参考:https://www.jianshu.com/p/794d08199e5e
confusion matrix 构建
关于confusion matrix
confusion matrix 在机器学习中常用来评价监督学习算法的性能
参考:https://www.geeksforgeeks.org/confusion-matrix-machine-learning/
通过 confusion matrix 计算 precision 、recall
注意confusion matrix用于分类问题时,有的分类问题是二分类的(如判断一种动物是否属于鱼),有的问题是多分类的(如鸢尾花的判断),两种问题虽然本质是一样的,但是在实现confusion matrix时还是有些不同