我试图使用函数classregtree
来构建树。 classTrain是一个包含2个字符串值的单元格数组。我使用grp2idx
()函数来索引字符串,而不使用此函数会导致错误"X must be a matrix of floating-point numbers."
。现在我有training_data = 200x1和test_data = 1800x1,我得到了这个错误"X and Y do not have the same number of observations."
我随机生成的训练和测试数据。
也许有人知道如何解决这个问题?
classTrain = {};
classTest = {};
for ind = trainInd
classTrain{end+1} = class{ind};
end
for ind = testInd
classTest{end+1} = class{ind};
end
%1) building tree
training_data = grp2idx(classTrain);
test_data = grp2idx(classTest);
>>>> t = classregtree(training_data', test_data', 'method','classification' , 'prune', 'off', 'splitmin', 2);
答案 0 :(得分:1)
正如帮助条目所示:
classregtree创建分类和回归树对象。 T = classregtree(X,Y)创建用于预测响应的决策树T. Y作为预测变量X的函数.X是预测器的N×M矩阵 值。如果Y是N个响应值的向量,
例如,X应该是训练数据,Y是训练数据的标签。因此,如果X是N乘以M,则Y应为N x 1.然后,您可以使用“eval”
在新数据上运行树