聚类算法K-Means算法和Mean Shift算法介绍及实现
Question:什么是聚类算法
1、聚类算法是一种非监督学习算法
2、聚类是在没有给定划分类别的情况下,根据数据相似度进行样本分组的一种方法
3、理论上,相同的组的数据之间有相同的属性或者是特征,不同组数据之间的属性或者特征1相差就会比较大
聚类算法分类:
1、划分方法(k-means)
划分方法通过优化一个划分标准的方式将数据集D组织成k个簇
2、层次方法(sahn)
层次方法在不同粒度水平上为数据集D创造层次聚类,其中每层特定的聚类结果由相应粒度水平的阈值决定
3、基于密度的方法(Mean Shift)
基于密度的方法从密度的角度构造簇类
4、基于网格的方法(STING)
基于网格的方法是将数据集D量化进数量有限的网格单元中,量化过程通常是多分辨率的
5、基于模型的方法(GMM)
假设存在一个数学模型能够对数据集D的性质进行描述,通过对数据和该模型的符合程度进行优化,可以得到优化的结果
K-Means算法
1、核心思想K-Means聚类算法也称K均值聚类算法,它采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度也越大。

2、算法实现
1)首先确定一个K值,即我们希望将数据集经过聚类得到K个集合
2)将数据集中随机选择K个数据点作为质心
3)对数据集中每个点,计算其与每一个质心的距离(如欧式距离),离哪个质心近,就划到哪个质心所属的集合
4)把所有数据归好集合后,一共有k个集合,然后重新计算每个集合的质心(数据均值)
5)如果新计算出来的质心和原来的质心的距离小于某一个设置的阈值,我们可以认为聚类已经达到期望的结果,算法终止
6)如果新质心和原质心距离变化很大,需要迭代3-5步骤
2、Mean Shift算法
聚类算法K-Means算法和Mean Shift算法介绍及实现的更多相关文章
- 字符串查找算法总结(暴力匹配、KMP 算法、Boyer-Moore 算法和 Sunday 算法)
字符串匹配是字符串的一种基本操作:给定一个长度为 M 的文本和一个长度为 N 的模式串,在文本中找到一个和该模式相符的子字符串,并返回该字字符串在文本中的位置. KMP 算法,全称是 Knuth-Mo ...
- WordCount作业提交到FileInputFormat类中split切分算法和host选择算法过程源码分析
参考 FileInputFormat类中split切分算法和host选择算法介绍 以及 Hadoop2.6.0的FileInputFormat的任务切分原理分析(即如何控制FileInputForm ...
- 词性标注算法之CLAWS算法和VOLSUNGA算法
背景知识 词性标注:将句子中兼类词的词性根据上下文唯一地确定下来. 一.基于规则的词性标注方法 1.原理 利用事先制定好的规则对具有多个词性的词进行消歧,最后保留一个正确的词性. 2.步骤 ①对词性歧 ...
- (转)两种高效过滤敏感词算法--DFA算法和AC自动机算法
原文:https://blog.csdn.net/u013421629/article/details/83178970 一道bat面试题:快速替换10亿条标题中的5万个敏感词,有哪些解决思路? 有十 ...
- SQL的循环嵌套算法:NLP算法和BNLP算法
MySQL的JOIN(二):JOIN原理 表连接算法 Nested Loop Join(NLJ)算法: 首先介绍一种基础算法:NLJ,嵌套循环算法.循环外层是驱动表,循坏内层是被驱动表.驱动表会驱动被 ...
- 最长不下降子序列的O(n^2)算法和O(nlogn)算法
一.简单的O(n^2)的算法 很容易想到用动态规划做.设lis[]用于保存第1~i元素元素中最长不下降序列的长度,则lis[i]=max(lis[j])+1,且num[i]>num[j],i&g ...
- 【页面置换算法】LRC算法和FIFS算法
算法介绍 FIFO:该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰.该算法实现简单,只需把一个进程已调入内存的页面,按先后次序链接成一个队列,并设置一个指针,称为替换指针, ...
- 软件——机器学习与Python,聚类,K——means
K-means是一种聚类算法: 这里运用k-means进行31个城市的分类 城市的数据保存在city.txt文件中,内容如下: BJ,2959.19,730.79,749.41,513.34,467. ...
- 最小路径算法(Dijkstra算法和Floyd算法)
1.单源点的最短路径问题:给定带权有向图G和源点v,求从v到G中其余各顶点的最短路径. 我们用一个例子来具体说明迪杰斯特拉算法的流程. 定义源点为 0,dist[i]为源点 0 到顶点 i 的最短路径 ...
随机推荐
- Root mapping definition has unsupported parameters
使用ElasticSearch创建映射报错 Root mapping definition has unsupported parameters 原因 使用的ES版本为7.2.0,不再支持创建指定类型 ...
- pr2019快键键
pr快捷键 平时用到就更新一下(持续更新),算是日积月累吧.虽然是pr2019,但是其他的版本估计差不多 视频剪辑的时候,快速预览--L(英文输入法).按一次,速度*2,如果想恢复原来速度,按空格键暂 ...
- phpstorm 实现分屏显示
- Excel-宏与VBA-数据类型
学习视频,本文是观看前视频时做的笔记,手动感谢up. 数据类型 案例 声明一个变量并且赋值 Sub 变量() ' 声明一个变量用Dim,格式就是 Dim 变量名 As 数据类型 Dim Score A ...
- 使用FastDFS进行文件管理
使用FastDFS进行文件管理 FastDFS简介 FastDFS: FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等, ...
- 【BUAA软工】技术规格说明书
项目 内容 班级:北航2020春软件工程 博客园班级博客 作业:技术规格说明书 技术规格说明书 宏观技术 后端 WEB服务器 WEB服务器选取的是Springboot,作为当下Java语言最主流的WE ...
- Python设计模式知多少
设计模式 设计模式是前辈们经过相当长的一段时间的试验和错误总结出来的最佳实践.我找到的资料列举了以下这些设计模式:工厂模式.抽象工厂模式.单例模式.建造者模式.原型模式.适配器模式.桥接模式.过滤器模 ...
- ES6学习-0 前言
本菜鸟做了二十来年的程序开发了,前后台都写过,队伍也带过.大约是2000年左右,是用dephi 写后台CGI,所有的html,js,css基本都是混在CGI里输出到前台的,那时也没有明确的前后台的概念 ...
- webpack解析(1)
webpack是为现代js程序准备的静态模块打包工具 一:关于对webpack的理解 可以将其认为是一个电脑主板,由于使用js作为源码,因而其可以默认编译js代码(别种类型的文件可以依靠loaders ...
- Swift系列七 - 汇编分析值类型
通过汇编分下值类型的本质. 一.值类型 值类型赋值给var,let或者给参数传参,是直接将所有内容拷贝一份.类似于对文件进行复制粘贴操作,产生了全新的文件副本,属于深拷贝(deep copy). 示例 ...