【发布时间】:2016-09-19 03:23:42
【问题描述】:
我是matlab新手,我的目标是实现knn,我有两个不同的txt文件,一个包含测试数据(样本),另一个包含训练数据。
到目前为止,我认为我应该做这样的事情,但我不知道该怎么做。
load fisheriris
x = meas(:,3:4);
gscatter(x(:,1),x(:,2),species)
newpoint = [5 1.45];
[n,d] = knnsearch(x,newpoint,'k',10);
line(x(n,1),x(n,2),'color',[.5 .5 .5],'marker','o','linestyle','none','markersize',10)
或者也许这是一种更简单的方法,对我来说这两组不同的数据集,样本和训练非常清楚,但这并不能显示预测类的准确性。
A= [50, 60;
7,2;
13,12;
100,200;];
B=[1,0;
200,30;
19,10];
G={'First Row';
'Second Row';
'Third Row'};
class = knnclassify(A,B,G);
disp('Result: ');
disp(class);
矩阵如下所示:
Training data:
148.0,50.0,0
187.0,34.0,0
204.0,89.0,0
430.0,161.0,1
427.0,22.0,1
-42.0,469.0,1
more,more,class....
Test data:
290.0,-57.0,0
194.0,-80.0,0
174.0,33.0,0
465.0,691.0,1
270.0,-194.0,1
-56.0,665.0,1
more,more,class....
如何使用 knn 对这些数据进行分类并显示每一行的预测,以便计算准确率?
-------EDITED------
我忘了,如果我需要每个类的准确度,我该怎么办?
【问题讨论】:
标签: matlab matrix percentage knn