美文网首页机器学习与数据挖掘AI机器学习及python实现
机器学习K临近算法—Apple的学习笔记

机器学习K临近算法—Apple的学习笔记

作者: applecai | 来源:发表于2018-10-27 19:34 被阅读6次

knn算法首先要明确的第一个重点是,k邻近不具有显示的学习过程,它是基于实例的一种学习方法,简单来说就是给定一堆西瓜的数据,然后输入一个新西瓜的数据,找到与这个新西瓜最近的k个西瓜,这k个西瓜如果大多数是属于又甜又好吃的西瓜,那么就把这个西瓜分为又甜又好吃的西瓜这一类的西瓜中。从上述的描述中不难看出,有三个要注意的一个是K值,也就是周围有几个西瓜和新西瓜相邻,如果k太小,那么好处是近似误差会减小,只有特征与这几个西瓜相似的才对预测新西瓜的“甜”“好吃”起作用,但是相同的,会带来一个问题,就是假如在这几个西瓜中不甜的多,那么会带来估计误差,这也就是k值减小使得模型变的复杂,复杂度上升,容易发生过拟合。k太大也就容易理解了。

k-近邻算法步骤

计算已知类别数据集中的点与当前点之间的距离;

按照距离递增次序排序;

选取与当前点距离最小的k个点;

确定前k个点所在类别的出现频率;

返回前k个点所出现频率最高的类别作为当前点的预测分类。

KNN算法小结

KNN算法是很基本的机器学习算法了,它非常容易学习,在维度很高的时候也有很好的分类效率,因此运用也很广泛,这里总结下KNN的优缺点。

KNN的主要优点有:

1) 理论成熟,思想简单,既可以用来做分类也可以用来做回归

2) 可用于非线性分类

3) 训练时间复杂度比支持向量机之类的算法低,仅为O(n)

4) 和朴素贝叶斯之类的算法比,对数据没有假设,准确度高,对异常点不敏感

5) 由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合

6)该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分

KNN的主要缺点有:

1)计算量大,尤其是特征数非常多的时候

2)样本不平衡的时候,对稀有类别的预测准确率低

3)KD树,球树之类的模型建立需要大量的内存

4)使用懒散学习方法,基本上不学习,导致预测时速度比起逻辑回归之类的算法慢

5)相比决策树模型,KNN模型可解释性不强

以上就是KNN算法原理的一个总结,希望可以帮到朋友们,尤其是在用scikit-learn学习KNN的朋友们。

参考

[if !supportLists]1.    [endif]https://blog.csdn.net/baidu_36881343/article/details/79745387

[if !supportLists]2.    [endif]http://cuijiahua.com/blog/2017/11/ml_1_knn.html

[if !supportLists]3.    [endif]https://blog.csdn.net/bigkeen/article/details/78430771

相关文章

  • 机器学习K临近算法—Apple的学习笔记

    knn算法首先要明确的第一个重点是,k邻近不具有显示的学习过程,它是基于实例的一种学习方法,简单来说就是给定一堆西...

  • 机器学习算法-KNN算法

    机器学习算法-K近邻算法 本文中介绍的机器学习中最基础的一个算法:k-近邻算法,将从如下方面展开: 算法概述 k近...

  • 机器学习实战-knn

    机器学习实战笔记-knn算法实战 本文内容源于《机器学习实战》一书,主要介绍了knn(k-nearest neig...

  • 无标题文章

    机器学习实践-K邻近算法 本章内容 - K- 邻近算法概述 -

  • #机器学习#kNN近邻分类算法的原理及实例

    k临近法(k-Nearest Neighbor, kNN)是最简单的机器学习算法之一,但它仍然被广泛应用在面部识别...

  • 机器学习

    Python机器学习 预测分析核心算法 实用机器学习 实变函数 腾讯QQ音乐招聘 机器学习算法工程师 25k-35...

  • Machine Learning: 十大机器学习算法

    机器学习算法分类:监督学习、无监督学习、强化学习 基本的机器学习算法:线性回归、支持向量机(SVM)、最近邻居(K...

  • Machine Learning: 十大机器学习算法

    机器学习算法分类:监督学习、无监督学习、强化学习 基本的机器学习算法:线性回归、支持向量机(SVM)、最近邻居(K...

  • kNN算法

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

  • 机器学习和算法

    机器学习算法 github主页:机器学习和算法 最近以来一直在学习机器学习和算法,然后自己就在不断总结和写笔记,记...

网友评论

    本文标题:机器学习K临近算法—Apple的学习笔记

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