【问题标题】:How can I determine the number of trees in random Forest in matlab?如何在matlab中确定随机森林中的树数?
【发布时间】:2019-03-25 20:33:49
【问题描述】:

在 Matlab 中,我们使用TreeBagger() 方法训练随机森林。该方法的参数之一是树的数量。我正在使用随机森林进行分类方法。如何确定随机森林的树数?

【问题讨论】:

  • mathworks.com/help/stats/treebagger.html ;检查文档是人们应该做的第一件事,远在考虑在这里提出问题之前 - idownvotedbecau.se/noresearch
  • 问题与computer-visionimage-processing 无关 - 请不要向标签发送垃圾邮件(已删除)。
  • 我投票结束这个问题,因为答案直接在相关文档中:mathworks.com/help/stats/treebagger.html
  • @desertnaut 文档说明了 NumTrees 参数是什么,但没有说明如何确定对给定问题使用哪个值
  • 我同意措辞含糊不清,但我将其视为确定此值的提示问题。什么时候应该增加,什么时候减少,取决于结果。尽管如此,即使我没看错,这个问题的更好的地方可能是Data Science Stack Exchange

标签: matlab machine-learning random-forest


【解决方案1】:

如果您一直在训练此模型,您应该知道模型中使用的树的数量,因为它必须设置为 TreeBagger() 的输入。
无论如何,对于像RFmodel这样的学习模型,您可以使用compact(RFmodel)来确定树的数量。

这是基于Matlab documentation 的回归示例:

load imports-85;
Y = X(:,1);
X = X(:,2:end);
isCat = [zeros(15,1);ones(size(X,2)-15,1)]; % Categorical variable flag
rng(1945,'twister')
UnknownNumberofTrees=100;
RFmodel = TreeBagger(UnknownNumberofTrees,X,Y,'Method','R','OOBPred','On',...
        'Cat',find(isCat == 1),'MinLeaf',5);

RFmodelObject = compact(RFmodel);
RFmodelObject.NTrees

%ans =

%   100

【讨论】:

    猜你喜欢
    • 2016-03-04
    • 2013-06-18
    • 2019-10-23
    • 2016-10-08
    • 1970-01-01
    • 2017-12-24
    • 2017-03-25
    • 2019-02-04
    • 2016-10-28
    相关资源
    最近更新 更多