python sklean中的决策树是用的哪一种决策树算法?是ID3还是C4.5还是CART?
我能不能指定用它用ID3而不是其他算法?
谢谢!
2个回答
sklearn.tree.DecisionTreeClassifier基本上使用的是CART,稍稍有区别的是它对CART的计算性能进行了优化。
你是不可以指定它使用其他算法的。但是你可以设置sklearn.tree.DecisionTreeClassifier中criterion参数为"entropy",也就是信息增益,这样就几乎是ID3了。但是C4.5是基于信息增益率的,所以sklearn.tree.DecisionTreeClassifier做不到C4.5算法。
但是ID3是不能处理连续数据的,那选用了entropy的CART还是ID3吗?
-
larui529
2019-02-11 13:46
选了entropy的CART肯定还不是ID3的。答主说的“几乎是ID3了”,估计就是这个意思吧
-
zl_pku
2019-02-11 15:01
无法做到指定ID3和C4.5的。
sklean里的decision tree模型,不管是回归还是分类,都限制为二叉树。
而ID3和C4.5,不一定是二叉树。CART必须是二叉树。从这个角度来看,sklearn的决策树是无法完全实现C4.5和ID3的。
还有一点就是batmanX提到的splitting cirterion的问题了。