【发布时间】:2015-08-28 18:27:29
【问题描述】:
对于各种类型的树(ID3、CART、C4.5)有一个 DecisionTreeClassifier,但我不明白应该传递哪些参数来模拟传统的 ID3 algorithm 行为?
【问题讨论】:
标签: python tree machine-learning scikit-learn
对于各种类型的树(ID3、CART、C4.5)有一个 DecisionTreeClassifier,但我不明白应该传递哪些参数来模拟传统的 ID3 algorithm 行为?
【问题讨论】:
标签: python tree machine-learning scikit-learn
文档说
scikit-learn 使用 CART 算法的优化版本。
因此您可能无法模拟教科书中的 ID3。
http://scikit-learn.org/stable/modules/tree.html#tree-algorithms-id3-c4-5-c5-0-and-cart
【讨论】:
我不确定这是 sklearn 实现和 ID3 算法之间的唯一区别,但据我所知,您必须将 ID3 的标准从“gini”更改为“entropy”
DecisionTreeClassifier(criterion="entropy")
【讨论】:
preprocessing.OrdinalEncoder 以这种方式处理您的数据。
通过以下方式使用 Id3Estimator:
from id3 import Id3Estimator
estimator = Id3Estimator()
然后拟合您的数据
estimator.fit(X, y)
【讨论】: