没有合适的资源?快使用搜索试试~ 我知道了~
常用的几个算法实现
资源推荐
资源详情
资源评论
2. 基本 Kmeans 算法介绍及其实现
2.1 算法的概要说明
K menas 算法是一种聚类分析算法。
2.1.2 聚类分析的定义
聚类分析的英文:cluster analysis。
聚类分析是由若干模式(Pattern)组成的,通常,模式是一个度量的向量(N
维向量),或者说是多维空间中的一个点。 聚类分析以相似性为基础,在一个
聚类中的模式之间比不在同一聚类中的模式之间具有更多的相似性,换一个说
法,在同一个聚类中的 2 个点比在不同聚类中的 2 个点更相似。
2.1.3 聚类分析的用途
聚类的用途很广泛,主要用于发现数据中一些深层的信息,概括出每一类
的特点。
比如,在商业上,聚类可以帮助市场分析人员从消费者数据中区分出不同
的消费群体来,并且概括出每一类消费者的消费模式或者说消费习惯等。
聚类分析可以作为一个单独的工具来使用,也可以作为数据挖掘算法中其
他分析算法的一个预处理步骤。
比如:先做初步分类,再用其它算法分析每一类的规律。
聚类分析的算法可以分为分裂法(Partitioning Methods)、层次法
(Hierarchical Methods)、基于密度的方法(density-based methods)、基
于网格的方法(grid-based methods)、基于模型的方法(Model-Based
Methods)。
2.1.4 名词解释:
簇 cù:聚集,聚成的堆或团。
2.2 算法的基本流程
2.2.1 基本 Kmeans 算法
选择 K 个点作为初始质心
repeat
将每个点指派到最近的质心,形成 K 个簇
重新计算每个簇的质心
until 簇不发生变化或达到最大迭代次数
时间复杂度:O(tKmn),其中,t 为迭代次数,K 为簇的数目,m 为记录数,n
为维数
空间复杂度:O((m+K)n),其中,K 为簇的数目,m 为记录数,n 为维数
2.4 算法的代码实现
2.注意问题
(1)K 如何确定
! ! ! ! kmenas 算法首先选择 K 个初始质心,其中 K 是用户指定的参数,即所
期望的簇的个数。这样做的前提是我们已经知道数据集中包含多少个簇,但
很多情况下,我们并不知道数据的分布情况,实际上聚类就是我们发现数据
分布的一种手段,这就陷入了鸡和蛋的矛盾。如何有效的确定 K 值,这里大
致提供几种方法,若各位有更好的方法,欢迎探讨。
1.与层次聚类结合[2]
! ! ! ! !经常会产生较好的聚类结果的一个有趣策略是,首先采用层次凝聚算法决
定结果粗的数目,并找到一个初始聚类,然后用迭代重定位来改进该聚类。
2.稳定性方法[3]
! ! ! ! 稳定性方法对一个数据集进行 2 次重采样产生 2 个数据子集,再用相同的
聚类算法对 2 个数据子集进行聚类,产生 2 个具有 k 个聚类的聚类结果,计算 2
个聚类结果的相似度的分布情况。2 个聚类结果具有高的相似度说明 k 个聚类
反映了稳定的聚类结构,其相似度可以用来估计聚类个数。采用次方法试探多
个 k,找到合适的 k 值。
3.系统演化方法
剩余18页未读,继续阅读
资源评论
m0_38091314
- 粉丝: 0
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 《Fundamentals of Power Electronics》翻译-3.1 直流变压器模型
- 111111111111111111
- Motorbike Physics Tool v1.5.6
- RF System Design ppt-射频系统设计
- torchvision resnet18 计算相似度
- 250+ Stylized Mountain & Cave Textures
- foobar2000v1.2.0.apk
- Web开发 技术关键词: React 内容关键词: 前端UI库 用途: 开发交互式用户界面
- 三菱PLC例程源码三菱CC-LINK配置和变频器通信程序(注释)
- 三菱PLC例程源码三菱A系列程序
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功