美文网首页
KNN算法(含小例子)

KNN算法(含小例子)

作者: Ailien | 来源:发表于2018-11-02 09:47 被阅读0次

最近在学习k-近邻算法,就记录一下,如有错误,欢迎指出。

KNN算法是一个有监督无训练过程的算法,主要用于解决分类问题。

KNN算法虽然是没有训练过程,但也将数据分为训练集和测试集。它的工作机制非常简单,给定测试样本,基于某种距离度量在训练集中找出与其最接近的k个训练样本,然后再根本这k个样本的标签信息来对测试样本进行预测。

下面放一个小例子来帮助大家更深入的了解KNN算法的求解过程,语言为python。

第一步:准备数据

'''

def createDataSet():

     group = np.array([[1.0,1.1],[0,0],[1.0,1.0],[0,0.1]])

    labels = ['A','B','A','B']

    return group, labels

'''

可通过运行```createDataSet() ```得到数据,测试数据为[0.1,0.0].

第二步:编写KNN算法

```

def classify0(newData,dataSet,label,k):

    lendata=dataSet.shape[0]

    data= np.tile(newData,(lendata,1))

    diff=(data-dataSet)**2

    diffsum=(diff.sum(axis=1))**0.5 #欧氏距离

    print(diffsum)

    sortdistance=np.argsort(diffsum).tolist() #输出排序的索引值

    print(sortdistance)

    Count={}

    for iin range(k):

        votelabel=label[sortdistance.index(i)]

        Count[votelabel]=Count.get(votelabel,0)+1

    a=sorted(Count.items(),key=lambda x:x[0],reverse=True)

    return a[0][0]

```

打印分类结果```print(classify0([0,0.2],createDataSet()[0],createDataSet()[1],3))```

输出结果为:B

相关文章

  • KNN算法(含小例子)

    最近在学习k-近邻算法,就记录一下,如有错误,欢迎指出。 KNN算法是一个有监督无训练过程的算法,主要用于解决分类...

  • KNN与K-Means算法的区别

    内容参考:Kmeans算法与KNN算法的区别kNN与kMeans聚类算法的区别 KNN-近邻算法-分类算法 思想:...

  • knn算法

    knn算法 knn算法简介 邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法。所谓K...

  • KNN近邻算法总结

    目录 一、KNN近邻算法思想 二、KNN模型三大要素 三、KNN算法实现步骤 四、KNN算法的KD树实现 五、总结...

  • 机器学习笔记汇总

    kNN算法:K最近邻(kNN,k-NearestNeighbor)分类算法

  • 01 KNN算法 - 概述

    KNN算法全称是K近邻算法 (K-nearst neighbors,KNN) KNN是一种基本的机器学习算法,所谓...

  • 利用Python进行数字识别

    思路 通过Python实现KNN算法。而KNN算法就是K最近邻(k-Nearest Neighbor,KNN)分类...

  • PostGIS 查找最近点

    从PostGIS 2.0开始,geometry 类型的数据支持KNN算法。下面的例子示范查找最近点关于<->,详见...

  • 机器学习系列(六)——knn算法原理与scikit-learn底

    KNN算法 本篇将介绍knn算法,knn算法因为思想非常简单,运用的数学知识比较浅显,是非常适合机器学习入门的算法...

  • kNN算法

    一. kNN算法 kNN(k-NearestNeighbor),即k最近邻算法,是机器学习算法中最基础的入门算法。...

网友评论

      本文标题:KNN算法(含小例子)

      本文链接:https://www.haomeiwen.com/subject/ictltqtx.html