本文介绍: KNN(K Near Neighbor):k个最近的邻居,即每个样本都可以用它最接近的k个邻居来代表。KNN算法属于监督学习方式的分类算法,我的理解就是计算某给点到每个点的距离作为相似度的反馈。简单来讲,KNN就是“近朱者赤,近墨者黑”的一种分类算法。KNN是一种基于实例的学习,属于懒惰学习,即没有显式学习过程。要区分一下聚类(如Kmeans等),KNN是监督学习分类,而Kmeans是无监督学习的聚类,聚类将无标签的数据分成不同的簇。
KNN算法介绍
KNN(K Near Neighbor):k个最近的邻居,即每个样本都可以用它最接近的k个邻居来代表。KNN算法属于监督学习方式的分类算法,我的理解就是计算某给点到每个点的距离作为相似度的反馈。
简单来讲,KNN就是“近朱者赤,近墨者黑”的一种分类算法。
KNN是一种基于实例的学习,属于懒惰学习,即没有显式学习过程。
要区分一下聚类(如Kmeans等),KNN是监督学习分类,而Kmeans是无监督学习的聚类,聚类将无标签的数据分成不同的簇。
KNN算法三要素
距离度量
特征连续:距离函数选用曼哈顿距离(L1距离)/欧氏距离(L2距离)
当p=1 的时候,它是曼哈顿距离
当p=2的时候,它是欧式距离
当p不选择的时候,它是切比雪夫
特征离散:汉明距离
举最简单的例子来说明欧式/曼哈顿距离公式是什么样的。
K取值
在scikit-learn重KNN算法的K值是通过n_neighbors参数来调节的,默认值是5。
分类规则
KNN实际应用
python实现代码
KNN算法优点,缺点,适用场景
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。