随机森林越来越糟糕

MarkusWMarkusW 成员职位:22贡献我
嗨,我正在使用不同的方法来比较使用本教程设计的结果:
由于运行时的原因,我最初将随机森林设置为只有10棵树和5倍交叉验证(朴素贝叶斯和决策树运行10倍)。
其中NB的f值为66.6,DT为67.8,RF为62。我把这个较差的表现归因于它只有5倍,所以我用10倍来运行它。
这次《随机森林》得了46.5分!

这是怎么发生的?我必须对RF进行不同的设置吗?

最佳答案

  • BalazsBaranyBalazsBarany 管理员,版主,员工,RapidMiner认证分析师,RapidMiner认证专家职位:913独角兽
    解决方案接受
    你有多少例子?如果结果保持不变,尝试抽样并检查朴素贝叶斯和决策树。

    使用随机森林,尝试20或30棵树并查看模型。如果它们是有意义的,那么这个问题可能很适合树基方法。如果没有,试试其他的学习者。

答案

  • MartinLiebigMartinLiebig 管理员,版主,员工,RapidMiner认证分析师,RapidMiner认证专家,大学教授职位:3362年RM数据科学家
    10棵树不多吧?也许是好运/坏运气?
    - RapidMin乐鱼平台进入er数据科学服务主管
    德国多特蒙德
  • MarkusWMarkusW 成员职位:22贡献我
    有可能,但为什么10倍的表现不仅不如5倍,而且还低于50%?
    这是一个是或否的问题,所以50%的人只是在一个具有相同数量的正面和负面的数据集上随机猜测!
  • BalazsBaranyBalazsBarany 管理员,版主,员工,RapidMiner认证分析师,RapidMiner认证专家职位:913独角兽
    如果模型是过拟合的,你可能会得到比随机结果更糟糕的结果。但是通常拥有足够多树的随机森林并不容易过度拟合。

    您应该尝试更多的树并查看模型。如果问题根本不适合树,你也可能从随机森林中得到不好的结果。
  • MarkusWMarkusW 成员职位:22贡献我
    谢谢。
    我确实有运行时间的问题,所以我至少应该尝试什么?
    我尝试了默认的100棵树,但它让我的笔记本电脑完全无法使用4个小时,然后我放弃了它,甚至没有超过5倍。
  • MarkusWMarkusW 成员职位:22贡献我
    数据集包含9386行,如果您指的是示例数量的话。

    你说的抽样是什么意思?正如我所说的,我已经用朴素贝叶斯和决策树在相同的数据集上运行,并取得了相对的成功(考虑到我的努力,它的效果和我预期的一样好)。

    我看过决策树;它只是寻找某些单词或短语的存在,所以我认为随机森林中的一些树会检查这些相同的短语/单词,而其他树会检查其他因素。
  • BalazsBaranyBalazsBarany 管理员,版主,员工,RapidMiner认证分析师,RapidMiner认证专家职位:913独角兽
    嗨!

    你在做文本挖掘吗?您是否有非常多的属性?基于树的模型在这方面真的很慢。尝试一个支持向量机和优化C参数,它应该更快,更好。

    随机森林的问题在于属性是随机选择的。如果你有一些相关的单词,那么就不会在很多模型中出现。

    问候,
    Balazs
  • MarkusWMarkusW 成员职位:22贡献我
    是的,我正在做文本挖掘(讽刺检测是精确的)。这个项目你已经帮过我好几次了。
    我的理解是否正确,即决策树表现良好的概率与随机森林现在表现糟糕的概率一样多?因为在整个过程中,它只是随机挑选单词或短语并检查相关性?
    我想我也会尝试SVM,尽管在论文中很难解释它们是如何工作的。
  • MarkusWMarkusW 成员职位:22贡献我
    对支持向量机的一个问题:一夜之间,我尝试使用支持向量机算子,就像我使用朴素贝叶斯、决策树和随机森林一样。
    然而,它没有给出结果就流产了。关于投入和产出,我有什么需要考虑的吗?
  • BalazsBaranyBalazsBarany 管理员,版主,员工,RapidMiner认证分析师,RapidMiner认证专家职位:913独角兽
    常规决策树可以访问搜索最佳决策(拆分)的所有阶段的所有属性。它会在你的数据中找到相关的属性,这就是基于决策树方法的全部意义。所以它可能对文本挖掘工作得很好,但它真的很慢,因为它必须检查所有属性作为可能的决策点(对于数字属性,它甚至更复杂)。

    在构建树时,随机森林有意选择属性和示例的随机子集。这样做的目的是使模型更加健壮,这在很多情况下都是有效的。然而,在文本挖掘中,您有数千个属性,其中只有少数可能与您的用例相关。将这些属性从考虑中随机排除的随机森林将比一个处理所有属性的决策树更糟糕。

    SVM只能使用数字属性,但如果这不起作用,您应该从RapidMiner获得警告。如果操作符只是退出而没有给出结果,则检查连接并在执行之前和之后设置断点(F7和Shift+F7或从右键单击上下文菜单)。

    问候,
    Balazs

  • MarkusWMarkusW 成员职位:22贡献我
    好吧……为什么推荐支持向量机?
    这绝对有可能是有一个警告,我只是跳过了它,当我在前一天晚上打开我的笔记本电脑后。
  • BalazsBaranyBalazsBarany 管理员,版主,员工,RapidMiner认证分析师,RapidMiner认证专家职位:913独角兽
    根据我的经验,SVM在文本挖掘示例集(或者通常在具有大量数字属性的示例集)上表现良好且快速。

    在文本挖掘中,通常只有数字属性。Process Documents从X生成的属性是数字的。
    如果你有剩余的标称,你需要转换它们,例如使用标称到数值。

    问候,
    Balazs
登录注册置评。