sklearn没有实现ID3算法

https://stackoverflow.com/questions/32277562/how-to-set-up-id3-algorith-in-scikit-learn
http://scikit-learn.org/stable/modules/tree.html#tree-algorithms-id3-c4-5-c5-0-and-cart
根据这两个链接可知,
其实sklearn的决策树仅仅是实现了cart树而已,
当信息计算方式为Gini,Entropy,就用来分类
注意,sklearn并没有实现ID3,但是cart中使用entropy的效果,等效于“二叉树的ID3”
因为ID3可以是“二叉决策树”,也可以是“多叉决策树”,所以sklearn使用决策树+entropy方式时,
无法实现“基于ID3算法的多叉决策树”

关于“基于ID3算法的多叉决策树”
可以参考下面链接:
https://blog.csdn.net/wzmsltw/article/details/51057311
图为:
sklearn没有实现ID3算法_第1张图片

另外注意,对于cart树而言,sklearn实现时,
回归是二叉树
二分类问题,sklearn运行结果是二叉cart树
多分类问题,sklearn运行结果也是二叉cart树

注意,对于cart树而言,
二分类时,使用的Gini指数最大是0.5,
多分类时,使用的Gini指数最大接近1,
这里的Gini指数并不是经济学中的Gini指数,
经济学中的Gini指数取值范围是0~1

你可能感兴趣的:(机器学习算法)