【问题标题】:Matlab: Change variable resolution and names for viewing regression treesMatlab:更改变量分辨率和名称以查看回归树
【发布时间】:2018-02-17 10:24:42
【问题描述】:

使用treeMine = fitctree(....)我可以生成决策树,但是决策树很大,因此很难传达信息,当使用view(treeMine,'Mode','Graph')

因此我的问题是,是否可以将变量名称 x1-x9 更改为其他名称以使其易于理解,以及是否可以强制使用工程符号表示数字,即 10e3。

有人知道怎么做吗?

最小示例

最小的例子可以是使用Matlabs own car example:

load carsmall
idxNaN = isnan(MPG + Weight);
X = Weight(~idxNaN);
Y = MPG(~idxNaN);
n = numel(X);

rng(1) % For reproducibility
idxTrn = false(n,1);
idxTrn(randsample(n,round(0.5*n))) = true; % Training set logical indices
idxVal = idxTrn == false;                  % Validation set logical indices

Mdl = fitrtree(X(idxTrn),Y(idxTrn));
view(Mdl,'Mode','graph')

然后如何指定值解析和变量名

【问题讨论】:

  • 你想要什么新的变量名?顺便说一句,这是一个只读属性
  • @SardarUsama 我想为它们提供它们所代表的变量名称,但基于您的只读,这是不可能的。你在哪里看到这个?我想人们可以使用set(gca,...) 或类似的方式访问这些属性,但没有设法做到这一点
  • @SardarUsama x1 可能是女性、x2 年龄等等
  • 它不是轴。所以gca 与这里无关。它是您尝试更改的PredictorNames,如果您尝试这样做,MATLAB 会告诉您它是只读的
  • @SardarUsama 太糟糕了,那么还有其他方法来说明树吗?因为拥有特定于数据的树会很好。

标签: matlab matlab-figure decision-tree


【解决方案1】:

关于名称:这是一个糟糕的示例,因为您只使用一个预测变量(权重),但您可以使用“PredictorNames”名称-值对来更改名称,例如

Mdl = fitrtree(X(idxTrn),Y(idxTrn),'PredictorNames',{'weight'});

如果您要使用更多预测变量,您只需向元胞数组添加更多元素,例如

'PredictorNames',{'weight','age','women'}

我不知道数字很难。

【讨论】:

  • 是否也可以更改数字分辨率?
  • 我不知道怎么做——但绘图并不是我的专长。我只能说没有直接的选择。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-27
  • 1970-01-01
  • 2012-06-18
  • 1970-01-01
  • 1970-01-01
  • 2013-10-19
  • 1970-01-01
相关资源
最近更新 更多