首页 文章

决策树唯一性sklearn

提问于
浏览
-1

我是机器学习的新手,并且通过Udacity介绍ML课程 . 在适当的时候,我对决策树和随机森林分类器有一些疑问 .

我的第一个疑问是决策树是唯一的吗?我认为它应该是唯一的,因为它最大化信息增益超过每个分割 . 现在如果它是唯一的,为什么在决策树分类器中有random_state参数 . 因为它是唯一的所以它是可重复的每次都没有 . 因为决策树是唯一的,所以不需要random_state .

第二个,在通过随机森林算法时,我读到它平均每个类的概率来自它的单个树,但据我所知,决策树预测类不是每个类的概率 .

请纠正我如果我错了清除我的怀疑 . 希望得到一些好的答案 .

1 回答

  • 0

    即使没有签出代码,您也会在文档中看到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中的简单方法适合在森林中使用 . ...

相关问题