【发布时间】:2013-02-09 17:08:20
【问题描述】:
我想问你关于我写的一些matlab代码的问题,但首先告诉你我的问题。我有 2 个向量,测试标签和预测标签,出于分类原因,我想比较它们。此外,我想分配一些新的标签。所以我有类似 111121111 = 1 或 1122222222 =2 我想要实现的东西。我的代码是
y = [];
for k = 10:length(predictedLabel)-10
y = [y; newlabel(predictedLabel, k, 5)];
end
而函数newlabel是
function [nl] = newlabel(x, n, L)
numClasses = 3;
x1 = x(n-L:n+L);
c = zeros(numClasses, 1);
for k=1:length(x1)
c(x1(k)) = c(x1(k))+1;
end
[~,nl]=max(c);
end
我现在的问题是我的结果遵循向量长度
predictedLabel = 4996*1;
k=4986*1;
y=4977*1;
我看不到我的错误
感谢任何帮助,即使是概率估计的新想法
谢谢
循环
【问题讨论】:
-
你的问题是长度?你希望他们能坚持多久?有这个维度是正常的,因为对于 y,您使用 10 的负填充,对于 5 的 k。
-
也许你不仅可以解释你得到了什么,还可以解释你期望的变量是什么(以及为什么)。
-
我想要一个等长的向量。但我真正想要的是对两个向量进行比较的某种最大先验测量。就像我在上面描述的那样。问题是我不知道如何编程。
标签: matlab classification labels