KNN(K-最近邻)

原创 2016年08月29日 00:07:53

算法介绍
KNN分类算法应该是最容易理解的机器学习算法了。它是惰性学习法的一种,它并不从训练数据集中得到一个分类模型,而是简单的存储这些训练数据,当一个待分类数据X到来时,它计算X和训练数据集中所有数据的距离,然后选择离X最近的k个数据,这k个数据称为X的k最近邻,并把这k个数据中出现次数最多的类别赋给X。
KNN分类算法有两个比较关键的地方需要注意:
(1)两个数据之间距离的计算公式。相似性计算是大多数分类算法的核心,但是对KNN来说,几乎是它的全部,直接影响到分类的准确性。具体可参考《数据挖掘概念与技术》第三版2.4节。
(2)k值选择。对于一个数据对象,选择不同的k值时,可能会被分到不同的类别,如下图:
这里写图片描述
图中实心行块表示正例,空心圆圈表示负例。如果k=1,待分类对象被分为负例;如果k=2,无法对待分类对象进行分类;如果k=3,待分类对象被分为正例。可以通过在训练集上选择不同的k值对测试集进行分类,最终选择错误率最小时的k值。

算法优势
KNN算法非常适合并行计算。在Hadoop上,我们可以轻松设计出时间复杂度为O(1)的mapreduce实现。

参考资料:
《Web数据挖掘》第2版,Bing Liu 著, 俞勇 译
《数据挖掘概念与技术》第3版,Jiawei Han,Micheline Kamber,Jian Pei 著,范明,孟小峰 译

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

K最近邻(kNN,k-NearestNeighbor)

KNN最邻近规则,主要应用领域是对未知事物的识别,即判断未知事物属于哪一类,判断思想是,基于距离计算公式(欧几里得定理,余弦定理(文本分析)),判断未知事物的特征和哪一类已知事物的的特征最接近; K...

MachineLearning— (KNN)k Nearest Neighbor之最近邻法原理举例理解(一)

K最近邻,K近邻法(k-nearest neighbor)是机器学习当中较为简单理解的一种基本分类与回归方法,KNN输入的是实例的特征向量,也就是特征空间上的点;输出的是其对应的类别标签,KNN的训练...

KNN ( K最近邻法) 原理。

Posted By Mr. Thursday 各位看到標題,如果沒有聽過KNN演算法,會不會覺得疑惑:KNN是甚麼呢?是不是CNN看久了,就變成DNN、ENN、最後變成KNN了呢?當然不是啦 XD!K...
  • jtop0
  • jtop0
  • 2011-05-11 22:33
  • 2099

最近邻分类器(KNN)

介绍最近邻分类器

基于欧几里德距离的K最近邻(KNN)算法的实现(JAVA版)

K邻近(k-Nearest Neighbor,KNN)分类算法是最简单的机器学习算法了。它采用测量不同特征值之间的距离方法进行分类。它的思想很简单:计算一个点A与其他所有点之间的距离,取出与该点最近的...

机器学习与数据挖掘-K最近邻(KNN)算法的实现(java和python版)

KNN算法基础思想前面文章可以参考,这里主要讲解java和python的两种简单实现,也主要是理解简单的思想。 http://blog.csdn.net/u011067360/article/deta...

PYTHON机器学习实战——最近邻KNN分类器

K近邻法是有监督学习方法,原理很简单,假设我们有一堆分好类的样本数据,     分好类表示每个样本都一个对应的已知类标签,当来一个测试样本要我们判断它的类别是,     就分别计算到每个样本的距离,然...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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