决策树唯一性sklearn
Posted
技术标签:
【中文标题】决策树唯一性sklearn【英文标题】:Decision Tree Uniqueness sklearn 【发布时间】:2018-05-24 02:14:05 【问题描述】:我有一些关于决策树和随机森林分类器的问题。
问题 1:经过训练的决策树是否独一无二?
我认为它应该是独一无二的,因为它可以在每次拆分中最大化信息增益。现在,如果它是唯一的,为什么决策树分类器中有 random_state 参数。因为它是唯一的,所以每次都可以重现。所以不需要 random_state,因为决策树是唯一的。
问题 2:决策树实际上预测了什么?
在通过随机森林算法时,我读到它从单个树中平均每个类的概率,但据我所知,决策树预测的是类而不是每个类的概率。
【问题讨论】:
【参考方案1】:即使不检查代码,您也会在文档中看到 this note:
特征总是在每次拆分时随机排列。因此,即使在相同的训练数据和 max_features=n_features 的情况下,如果在搜索最佳拆分期间列举的几个拆分的标准改进相同,则找到的最佳拆分可能会有所不同。要在拟合期间获得确定性行为,必须固定 random_state。
对于splitter='best'
,这正在发生here:
# Draw a feature at random
f_j = rand_int(n_drawn_constants, f_i - n_found_constants,
random_state)
对于您的其他问题,请阅读this:
...
只需构建树,使叶子不仅包含单个类估计,还包含概率估计。这可以简单地通过运行任何标准的决策树算法并通过它运行一堆数据并计算预测标签在每个叶子中正确的时间部分来完成;这就是 sklearn 所做的。这些有时被称为“概率估计树”,虽然它们不能给出完美的概率估计,但它们可能很有用。在 00 年代初期,有很多工作对它们进行了调查,有时采用更奇特的方法,但 sklearn 中的简单方法很适合在森林中使用。
...
【讨论】:
以上是关于决策树唯一性sklearn的主要内容,如果未能解决你的问题,请参考以下文章