【分类算法】K-NN
目录 K-NN的定义 K-NN的注意事项 K-NN 与K-Means 代码实现 总结 K-NN的定义 今天,我们来分享一个“街知巷闻”入门级别的分类算法 —— K-NN 。相信提到这个词的时候小伙伴们都有:噢~是它。这里题外话一下,为什么说K-NN是“街知巷闻”入门级别呢?其实他有如下特点: 算法思想非常简单 对数学以来少,非常适合初学者 虽然它的体量小,却可以走完监督学习的整个流程 可以通过它来入门监督学习,然后扩展其他算法 首先说一下,K-NN属于分类算法,那么分类算法是属于监督学习。所以K-NN是监督学习算法,它需要带label的数据。关于分类和聚类,我在过去的文章有讲过,大家可以回看一下。 什么是分类算法? / 什么是聚类算法? 那么到底什么是K-NN呢?看过过去文章的都知道,我比较喜欢通过拆解算法名字来初步理解算法是做什么的。K-NN,全称叫做:K-Nearest Neighboors,中文翻译:K-最近的 邻居们。假设我们的数据如下图,有很多个点。首先解释 Nearest 的,看到远近就应该想到距离。那么常用的距离计算方式我们有欧式距离、马氏距离、名氏距离甚至绝对值距离也是OK的。而 Neighboors 就是邻居们的意思。但在数据里面,我们一般用点来表示。所以也可以理解为是附近的点。那么K是一个正数,它代表多少个点。 所以整个K-NN的理解就是: K个最近的邻居点