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

  统计/机器学习 监督式学习 Python    浏览次数:5649        分享
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



  相关主题

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

gbdt为什么需要泰勒公式展开进行节点分裂计算   2回答

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

python里实现一个简单的决策树   1回答

随机森林中增加树的数量对于偏差和方差的影响   2回答

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

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

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

怎么理解随机森林的oob error?   2回答

Extra Tree算法   1回答

剪枝是什么意思   1回答

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



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

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

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

我们谢绝答非所问。

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

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