我正在关注教程并尝试实现 TreeBagger 方法。我有一个问题,因为我无法理解部分代码。
b = TreeBagger(nTrees,X,Y,'oobpred','on','cat',6,'minleaf',leaf(ii));
谁能告诉我什么是“猫”以及数字 6 吗?
我正在关注教程并尝试实现 TreeBagger 方法。我有一个问题,因为我无法理解部分代码。
b = TreeBagger(nTrees,X,Y,'oobpred','on','cat',6,'minleaf',leaf(ii));
谁能告诉我什么是“猫”以及数字 6 吗?
TreeBagger 的构造函数:
% In addition to the optional arguments above, this method accepts all
% optional CLASSREGTREE arguments with the exception of 'minparent'.
% Refer to the documentation for CLASSREGTREE for more detail.
'cat' 不是 TreeBagger 的有效输入对之一,因此它必须是 CLASSREGTREE 的输入。查看 classregtree 的输入对,唯一接近“cat”的输入对是“categorical”,它表示:
% 'categorical' Vector of indices of the columns of X that are to be
% treated as unordered categorical variables
如果您查看 statgetargs.m,特别是这一行:
i = strmatch(lower(pname),pnames);
只要第一部分拼写正确,它将允许任何参数。pnames 将包含一个有效字符串的单元数组(其中一个将是“分类”),而 pname 将包含一个用于比较 pnames 的字符串(最终,这将包含“cat”)。如果您只输入输入字符串的第一部分,它仍然可以工作。即对我来说这有效:
EDU>> a = TreeBagger(nTrees,X,Y,'oobpr','on','cat',6,'minle',leaf(ii));
EDU>> b = TreeBagger(nTrees,X,Y,'oobpred','on','cat',6,'minleaf',leaf(ii));
EDU>> isequal(a,b)
ans =
1
如果 'cat' 被更改,它就不起作用,因为它明确存储了 'cat',因为它在 TreeArgs 下拼写。无论如何,“猫”被视为 classregtree 的“分类”。
cat
被视为 的categorical
输入参数的缩写classregtree
,它指定X
应将 中的第六个变量视为分类变量。