gpt4 book ai didi

matlab - G和GHAT需要是相同的分类树

转载 作者:行者123 更新时间:2023-11-30 08:44:39 26 4
gpt4 key购买 nike

有人可以帮助解决我的错误吗?如果可能的话请解释一下我的错误。我有两个数字矩阵用于在分类树中使用它

x:数据矩阵<2422x39 double>

y:列向量,每个实例的类标签<2422x1 double>

我正在做:

t = classregtree(x, y, 'method','classification');
yPredicted = eval(t, x);
cm = confusionmat(y,yPredicted); // error

在 52 处使用 ==> 混淆垫时出错

G 和 GHAT 需要是同一类型。

树已成功构建。但我无法获得该示例的混淆矩阵

我已阅读该帖子以编写上述代码 Decision Tree in Matlab

如果我使用链接中完全相同的示例,它可以工作,但是当我使用我自己的示例时,它不起作用。我为构建回归树( t = classregtree(x, y) )所采取的步骤相同,并且在 fusionmat() 函数中没有错误。请解释一下我做错了什么。

提前致谢

最佳答案

在我看来,在你的情况下, eval(t,x) 返回 char 类型的单元格,而你的 x 和 y 带有“double”类型而不是“char”。

Decision Tree in Matlab中的代码的原因有效是因为:

y = strcat(Origin,{});

返回 y,它是带有“char”的单元格。因此参数 G 和 GHAT 具有相同的类型。

因此,选择适合您问题的一个:

<小时/>

方法 A:将 yPredicted 转换为数值矩阵

编辑此行:

yPredicted = eval(t, x);

至:

yPredicted = str2num( cell2mat( eval(t, x) ) );
<小时/>

方法B:在调用confusionmat()之前将y转换为char单元格

 y = num2cell( num2str(y) )

关于matlab - G和GHAT需要是相同的分类树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9714868/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com