python sklean中的决策树是用的哪一种决策树算法?

  统计/机器学习 监督式学习 Python    浏览次数:4245        分享
3

python sklean中的决策树是用的哪一种决策树算法?是ID3还是C4.5还是CART?

我能不能指定用它用ID3而不是其他算法?

谢谢!

 

Alfred   2017-03-26 13:38



   2个回答 
10

sklearn.tree.DecisionTreeClassifier基本上使用的是CART,稍稍有区别的是它对CART的计算性能进行了优化。

你是不可以指定它使用其他算法的。但是你可以设置sklearn.tree.DecisionTreeClassifier中criterion参数为"entropy",也就是信息增益,这样就几乎是ID3了。但是C4.5是基于信息增益率的,所以sklearn.tree.DecisionTreeClassifier做不到C4.5算法。


SofaSofa数据科学社区DS面试题库 DS面经

batmanX   2017-03-26 23:55

但是ID3是不能处理连续数据的,那选用了entropy的CART还是ID3吗? - larui529   2019-02-11 13:46
选了entropy的CART肯定还不是ID3的。答主说的“几乎是ID3了”,估计就是这个意思吧 - zl_pku   2019-02-11 15:01
2

无法做到指定ID3和C4.5的。

sklean里的decision tree模型,不管是回归还是分类,都限制为二叉树。

而ID3和C4.5,不一定是二叉树。CART必须是二叉树。从这个角度来看,sklearn的决策树是无法完全实现C4.5和ID3的。

还有一点就是batmanX提到的splitting cirterion的问题了。


SofaSofa数据科学社区DS面试题库 DS面经

曾经是科比   2018-02-09 13:38



  相关主题

Adaboost里的树有没有可能权重是负数?   1回答

随机森林是如何计算测试样本的概率的?   1回答

关于knn算法中kd树的问题   1回答

决策树算法ID3,C4.5和CART的特点、异同?   3回答

决策树怎么做增量学习或者online学习?   1回答

随机森林如何调参?   3回答

剪枝是什么意思   1回答

决策树剪枝有什么策略或者注意事项?   2回答

如果采用非等权重的方法集成一个随机森林,会表现得更好嘛?   1回答

对于树模型,需不需要特征筛选   1回答

对于数值特征,决策树是如何决定阈值的?   3回答

随机森林警告:A column-vector y was passed when a 1d array was expected   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!