Matlab测试经过训练的神经网络

时间:2018-04-09 19:29:15

标签: matlab neural-network classification

我有训练样本集和相应的目标。目标是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)。我做错了什么?

1 个答案:

答案 0 :(得分:0)

patternnet文档说明了

  

模式识别网络的目标数据应包含所有零值的向量,除了元素i中的1,其中i是它们要表示的类。

因此,targets应该是大小为200x7的数组,其中7是类的数量。除第i行外,每列应由零组成,其中i是类的索引。

您可以使用ind2vec功能将targets转换为所需的表单。