分类是指有监督的学习,即要分类的样本是有标记的,类别是已知的;

聚类是指无监督的学习,样本没有标记,根据某种相似度度量把样本聚为k类。

KNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。

https://baike.baidu.com/item/邻近算法/1151153?fr=aladdin (百科)

https://www.cnblogs.com/ybjourney/p/4702562.html

KNN算法的思想:就是在训练集中数据和标签已知的情况下,输入测试数据,将测试数据的特征与训练集中对应的特征进行相互比较,找到训练集中与之最为相似的前K个数据,则该测试数据对应的类别就是K个数据中出现次数最多的那个分类,其算法的描述为:
1)计算测试数据与各个训练数据之间的距离;
2)按照距离的递增关系进行排序;
3)选取距离最小的K个点;
4)确定前K个点所在类别的出现频率;
5)返回前K个点中出现频率最高的类别作为测试数据的预测分类。

******************************************************************************************************************

K-Means

https://baike.baidu.com/item/K-means/4934806 (百科)

算法过程如下:

1)从N个文档随机选取K个文档作为质心

2)对剩余的每个文档测量其到每个质心的距离,并把它归到最近的质心的类

3)重新计算已经得到的各个类的质心

4)迭代2~3步直至新的质心与原质心相等或小于指定阈值,算法结束

具体如下:

输入:k, data[n];

(1) 选择k个初始中心点,例如c[0]=data[0],…c[k-1]=data[k-1];

(2) 对于data[0]….data[n],分别与c[0]…c[k-1]比较,假定与c[i]差值最少,就标记为i;

(3) 对于所有标记为i点,重新计算c[i]={ 所有标记为i的data[j]之和}/标记为i的个数; (坐标值)

(4) 重复(2)(3),直到所有c[i]值的变化小于给定阈值。

K-Means算法的缺陷: 
1.K值需要预先给定,属于预先知识,很多情况下K值的估计是非常困难的,对于像计算全部微信用户的交往圈这样的场景就完全的没办法用K-Means进行。对于可以确定K值不会太大但不明确精确的K值的场景,可以进行迭代运算,然后找出Cost Function最小时所对应的K值,这个值往往能较好的描述有多少个簇类。 
2.K-Means算法对初始选取的聚类中心点是敏感的,不同的随机种子点得到的聚类结果完全不同 
3.K均值算法并不是适合所有的数据类型。它不能处理非球形簇、不同尺寸和不同密度的簇,银冠指定足够大的簇的个数是他通常可以发现纯子簇。 
4.对离群点的数据进行聚类时,K均值也有问题,这种情况下,离群点检测和删除有很大的帮助。

KNN和K-Means相关推荐

  1. KNN(K Nearest Neighbors)分类是什么学习方法?如何或者最佳的K值?RadiusneighborsClassifer分类器又是什么?KNN进行分类详解及实践

    KNN(K Nearest Neighbors)分类是什么学习方法?如何或者最佳的K值?RadiusneighborsClassifer分类器又是什么?KNN进行分类详解及实践 如何使用GridSea ...

  2. ML之kNN:k最近邻kNN算法的简介、应用、经典案例之详细攻略

    ML之kNN:k最近邻kNN算法的简介.应用.经典案例之详细攻略 目录 kNN算法的简介 1.kNN思路过程 1.1.k的意义 1.2.kNN求最近距离案例解释原理-通过实际案例,探究kNN思路过程 ...

  3. OpenCV的k - means聚类 -对图片进行颜色量化

    OpenCV的k - means聚类 目标 学习使用cv2.kmeans()数据聚类函数OpenCV 理解参数 输入参数 样品:它应该的np.float32数据类型,每个特性应该被放在一个单独的列. ...

  4. OpenCV官方文档 理解k - means聚类

    理解k - means聚类 目标 在这一章中,我们将了解k - means聚类的概念,它是如何工作等. 理论 我们将这个处理是常用的一个例子. t恤尺寸问题 考虑一个公司要发布一个新模型的t恤. 显然 ...

  5. kmeans改进 matlab,基于距离函数的改进k―means 算法

    摘要:聚类算法在自然科学和和社会科学中都有很普遍的应用,而K-means算法是聚类算法中经典的划分方法之一.但如果数据集内相邻的簇之间离散度相差较大,或者是属性分布区间相差较大,则算法的聚类效果十分有 ...

  6. 文献记录(part89)--I-k-means-+:An iterative clustering algorithm based on an enhanced k -means

    学习笔记,仅供参考,有错必究 关键词:k均值:解决方案改进:准确的k均值:迭代改进 I-k-means-+:An iterative clustering algorithm based on an ...

  7. 机器学习笔记(十)---- KNN(K Nearst Neighbor)

    KNN是一种常见的监督学习算法,工作机制很好理解:给定测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本,然后基于这k个"邻居"的信息来进行预测.总结一句话就是&quo ...

  8. 7、KNN(K近邻)

    KNN(K最近邻算法) 1.KNN行业应用: 比如文字识别,面部识别:预测某人是否喜欢推荐电影(Netflix):基因模式识别,比如用于检测某中年疾病:客户流失预测.欺诈侦测(更适合于稀有事件的分类问 ...

  9. K means 图片压缩

    k-means的基本原理较为清晰,这里不多赘述,本次博客主要通过基础的k means算法进行图像的压缩处理. 原理分析 在彩色图像中,每个像素的大小为3字节(RGB),可以表示的颜色总数为256 * ...

  10. 《机器学习实战》——kNN(k近邻算法)

    原作者写的太好了,包括排版都特别整齐(其中有一个错误之处就是在约会网站配对效果判定的时候,列表顺序不对,导致结果有误,这里我已做出修改) 原作者和出处:http://blog.csdn.net/c40 ...

最新文章

  1. Cisco对中国CCIE认证下重手了
  2. python输入一个人的名字_怎样用c语言做到输入一个人的名字才会输出一个心?
  3. java中使用nextLine(); 没有输入就自动跳过的问题?
  4. jinyuan oracle,简述Oracle IOT(Index Organized Table)(下)
  5. 青岛大学计算机科学技术学院几本,郝蓉-青岛大学计算机科学技术学院
  6. python段落注释的语法格式是_Python 基础语法
  7. 计算机开机界面图片怎么修改,电脑win7系统怎么修改开机画面的方法
  8. blazeds_Spring BlazeDS集成:它是什么,它会发生什么变化?
  9. mysql及格率70以上_数据库实例(统计最高分学生信息,不及格率等等)
  10. RK3399平台开发系列讲解(高速设备驱动篇)6.46、蓝牙驱动
  11. hdu5773The All-purpose Zero
  12. k8s---adm构建
  13. jquery+css实现流星雨特效
  14. Spring拦截器配置详解(如何定义一个拦截器)
  15. mybatis plus环境搭建及代码生成器
  16. 面试题:如何判断一个对象是否属于某个类
  17. 天龙八部采集-生活技能(矿石和药材)坐标位置
  18. 常见字符编码介绍以及相互转换
  19. SCI写作要点和结构
  20. DZ论坛的几个使用技巧

热门文章

  1. 南京师范大学计算机学院师资,南京师范大学计算机与电子信息学院导师教师师资介绍简介-陈燚...
  2. 计算机c语言与数学知识的联系,计算机数学基础知识
  3. 有什么好用的微信公众号编辑器?快来看看这3款
  4. 一个合格的程序员所具备的素质和修养
  5. uniapp根据ui设计图实现新增和删除功能
  6. 一对一直播源码是什么?一对一直播平台如何成功搭建?
  7. IntelliJ IDEA 官方网站
  8. 自建网站教程!如何用云服务器搭建个人网站?
  9. 工业级氯化锂2022年全球行业分析报告
  10. iOS app 打包发布