我有训练样本集和相应的目标。目标是7个不同的类别。
net = patternnet(10);
[net,tr] = train(net,samples.',targets.');
%samples is 200x7 and targets is 200x1
test = net([0;1;1;1;1;0;1])
现在,当我执行最后一行时,我希望test能保持类的值,net将输入[0; 1; 1; 1; 1; 0; 1]分类为。但是我得到的只是一个奇怪的十进制值,而不是在"目标"中输入的值之一。 (1,2,3,4,5,6或7)。我做错了什么?
答案 0 :(得分:0)
patternnet
文档说明了
模式识别网络的目标数据应包含所有零值的向量,除了元素i中的1,其中i是它们要表示的类。
因此,targets
应该是大小为200x7的数组,其中7是类的数量。除第i行外,每列应由零组成,其中i是类的索引。
您可以使用ind2vec
功能将targets
转换为所需的表单。