k-NN在Matlab中进行分类

时间:2015-02-27 04:01:06

标签: matlab machine-learning contour knn

因此,一旦我从原始图像中提取了我想要的图像,enter image description here我将轮廓长度视为特征1,将轮廓区域视为特征2.我使用sum(sum(ds))来计算每个物种的二进制图像中的白色像素数。 ds是附加图像。然后我通过以下代码找到了轮廓区域,由conotur刻下的像素数。

area=0;
for col=1:464 
    temp=find(ds(:,col)==1);  
    if temp 
        area= area + (temp(end)-temp(1)+1); 
    end
end
area;

现在我应绘制特征1与特征2图,并检查是否存在可分离的聚类并使用k-NN进行分类。任何人都可以告诉我如何绘制,检查和分类。谢谢 !

1 个答案:

答案 0 :(得分:0)

您可以通过

绘制它
figure(1);
plot(feature1_classA,feature2_classA,'b.');
plot(feature1_classOther,feature2_classOther,'r.');

然后检查蓝点是否与蓝点分开。

KNN可以轻松实施。您需要一些标记数据集。 在对新数据点进行分类时,找到标记数据集中的K个最近点,并检查多数是哪个类。将此标签分配给新数据点。不应该那么难实现。