K-近邻法(K-NN)

原创 2016年06月01日 12:53:35

K-近邻算法的基本思路

  1. 已知NX
  2. 输入未知类别的样本x
  3. 计算xxiX,(i=1,2N)di(x)
  4. 找到xkxk=xi,i=1,2k
  5. xk
  6. 最终判断未知样本属于那一类x

Matlab代码实现

clear all;
close all;
clc;

%X为标记好的样本集,样本为将1至40的数分为2类
%1-20里的10个随机数为一类,21-40里的10个随机数为一类
X = [8,9,17,14,18,12,2,10,16,20,24,34,25,40,31,38,22,21,27,26];
[r,c] = size(X);
%标记好的两类
w1 = [8,9,17,14,18,12,2,10,16,20];
w2 = [24,34,25,40,31,38,22,21,27,26];

%x为要被分类的样本
T = 1:40;%选取类的范围里的随机序列,共40个数
R = randperm(40);%将1至40随机数打乱
x = T(R(1));
disp('随机数x为:');
disp(num2str(x));

%k为邻居数目(k-个近邻)
k = 7;

%计算距离
d = zeros(r,c);
for i = 1:c
    d(i) = abs(X(i)-x);
end

%找出k个最小距离
xk = zeros(1,k);%存储最近邻元
for i = 1:k
    [di ,n] = min(d);%找到最短距离di,以及算在的位置
    xk(i) = X(n);
    d(n) = 40;%为了获得其他的最小值将查询到的最小值赋值为最大值
end

%判断属于的类别
k1 = 0;%属于w1的样本个数
for i = 1:k
    for j = 1:10
        if xk(i) == w1(j)
            k1 = k1+1;
        end
    end
end
k2 = k - k1;%%属于w2的样本个数
if  k2<k1
    disp( '随机数x属于w1类:');
    disp( num2str(w1));
    break;
else
    disp( '随机数x属于w2类:');
    disp( num2str(w2));
    break;
end

结果图

版权声明:本文为博主原创文章,未经博主允许不得转载。如有疑问,欢迎打扰。

K近邻法(k-NN)

K近邻法(k-NN)
  • l740450789
  • l740450789
  • 2015年09月05日 16:00
  • 481

一文搞懂k近邻(k-NN)算法(一)

原文链接 一文搞懂k近邻(k-NN)算法(一) 前几天和德川一起在学习会上讲解了k-NN算法,这里进行总结一下,力争用最 通俗的语言讲解以便更多同学的理解。 ...
  • AMDS123
  • AMDS123
  • 2017年03月25日 22:06
  • 7643

C++实现的简单k近邻算法(K-Nearest-Neighbour,K-NN)

K近邻算法(K-Nearest Neighbor,K-NN)的学习和理解 前一段时间学习了K近邻算法,对K近邻算法有了一个初步的了解,也存在一定的问题,下面我来简单介绍一下K近邻算法。...
  • zhazhayaonuli
  • zhazhayaonuli
  • 2016年10月26日 15:36
  • 2118

k-近邻算法实现手写数字识别系统

k-近邻算法实现手写数字识别系统 一、实验介绍 1.1 实验内容 本实验将会从电影题材分类的例子入手,详细讲述k-近邻算法的原理。在这之后,我们将会使用该算法实现手写数字识别系统。 1.2 课...
  • oxuzhenyi
  • oxuzhenyi
  • 2017年03月26日 15:48
  • 1500

k-近邻算法实现(k-NN)

算法思想:计算目标与样本库中所有样本的距离,根据计算出来的距离将所有样本由近到远进行排序,取出前k个样本,将这k个样本中出现次数最多的类型作为目标的类别。 from numpy import *...
  • hzh_csdn
  • hzh_csdn
  • 2018年01月27日 13:57
  • 27

k-近邻算法(k-nn)

开发机器学习算法的一般步骤: 1:收集数据;2:整理数据;3:分析数据;4:训练数据;5:测试数据;6:使用算法; knn是基于有监督的分类算法; knn优点:            简单有效,精度高...
  • qq_16753341
  • qq_16753341
  • 2017年12月14日 15:52
  • 17

k近邻法(K-NN)

K近邻法(k-NN)是一种基本的分类和回归方法。
  • dongnongde
  • dongnongde
  • 2014年05月19日 22:53
  • 11259

简单易学的机器学习算法——K-近邻算法

K-NN算法
  • google19890102
  • google19890102
  • 2014年04月17日 13:30
  • 9370

KNN-K近邻分类法

分类算法的基础介绍,以及分析经典KNN算法,及其改进方向
  • u010945683
  • u010945683
  • 2015年03月30日 09:49
  • 3030

机器学习笔记(3)——K近邻法

K-nearest neighbor(KNN)kk近邻法一种基本的分类与回归方法,原理和实现都比较直观。其输入为样本的特征向量,输出为样本的类别,可以进行多类别分类。k近邻法是通过统计与未知样本最近点...
  • zx10212029
  • zx10212029
  • 2015年10月19日 15:09
  • 755
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:K-近邻法(K-NN)
举报原因:
原因补充:

(最多只允许输入30个字)