matlab中的knn函数

knn

最邻近分类

Class = knnclassify(test_data,train_data,train_label, kdistancerule)

k:选择最邻近的数量

distance:距离度量

              'euclidean'       欧几里得距离,默认的
              'cityblock'        绝对差的和
              'cosine'           余弦   (作为向量处理)
              'correlation'     相关距离  样本相关性(作为值序列处理)
              'Hamming'      海明距离   不同的比特百分比(仅适用于二进制数据)

rule:如何对样本进行分类

              'nearest'  最近的K个的最多数
              'random'    随机的最多数
              'consensus' 共识规则

% Classify the sample using the nearest neighbor classification
training = [mvnrnd([ 1  1],   1.2*eye(2), 100); ...
            mvnrnd([-1 -1], 1.5*eye(2), 100)];
group = [ones(100,1); repmat(2,100,1)];
gscatter(training(:,1),training(:,2),group,'rb','+x');
legend('Training group 1', 'Training group 2');
hold on;
sample = unifrnd(-5, 5, 100, 2);

c = knnclassify(sample, training, group);
gscatter(sample(:,1),sample(:,2),c,'gc'); hold on;
legend('Training group 1','Training group 2', ...
       'Data in group 1','Data in group 2');
hold off; 

  结果:

 

转载于:https://www.cnblogs.com/wander-clouds/p/8901161.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值