2014-11-23 53 views
0

决策边界我有两套,如何找到两个数据集的KNN分类

N1 = 10; N2 = 15; % Class sizes 
set1=[0.333; 0.509; 0.607; 1.172; 0.275; 0.762; 0.850; 0.920; 0.556; -0.046]; 
set2=[ 0.295; -0.203; -0.097; 0.633; 0.147; 0.356; 0.235; -0.054; -0.024; 0.377; -0.180; 0.512; 0.428; -0.129; 0.094]; 

我想找到的(3,1)最近neighbhor分类决策边界和决策的区域。任何想法,如何做到这一点?

回答

0

对于简单的可视化的决策边界和决策的地区,它往往是令人满意的穷举测试你的整个的兴趣领域。

具体来说,您可以定义一组跨越你感兴趣的领域的离散点,你会步每个点评估,以点属于哪个类别,那么你绘制的结果。

也许是这样的:

%define your domain of interest 
dx = 0.001;   
x = [-1.0:dx:2.0]; 

%step through each point and decide which class it is part of 
x_class = NaN*ones(size(x)); 
for I=1:length(x) 
    %apply your KNN decision algorithm here 
    %it outputs a 1 for class 1, or it outputs a 2 for class 2 
    x_class(I) = my_KNN_algorithm(set1,set2,rules,x(I)); 
end 

%plot results 
plot(x,x_class); 
hold on; 
plot(set1,ones(size(set1)),'ro'); 
plot(set2,2*ones(size(set2)),'gs'); 
xlabel('Value'); 
ylabel('Class'); 
legend('Test Point','Given Set 1','Given Set 2') 
+0

非常感谢。我现在可以开始工作了。 – nikhilk 2014-11-23 05:54:34