Сan 任何人照亮我的 matlab 程序?我有来自两个传感器的数据,我正在kNN
分别对它们中的每一个进行分类。在这两种情况下,训练集看起来像一组总共 42 行的向量,如下所示:
[44 12 53 29 35 30 49;
54 36 58 30 38 24 37;..]
然后我得到一个样本,例如[40 30 50 25 40 25 30]
,我想将样本分类到最近的邻居。作为接近标准,我使用欧几里得度量,sqrt(sum(Y 2 )),其中Y
是每个元素之间的差异,它为我提供了样本和每个训练集类之间的距离数组。
所以,两个问题:
- 是否可以将距离转换为概率分布,例如:1 类:60%、2 类:30%、3 类:5%、5 类:1% 等。
补充说:到目前为止,我正在使用公式:probability = distance/sum of distances
,但我无法绘制正确的cdf
或直方图。这以某种方式给了我一个分布,但我在那里看到了一个问题,因为如果距离很大,例如 700,那么最近的类将获得最大的概率,但这是错误的,因为距离太大而不能与任何班级相比。
- 如果我能够得到两个概率密度函数,我想我会做它们的一些乘积。可能吗?
非常感谢任何帮助或评论。