r语言地kmeans客户细分模型聚类

r语言地kmeans客户细分模型聚类

ID:34362079

大小:46.50 KB

页数:21页

时间:2019-03-05

r语言地kmeans客户细分模型聚类_第1页
r语言地kmeans客户细分模型聚类_第2页
r语言地kmeans客户细分模型聚类_第3页
r语言地kmeans客户细分模型聚类_第4页
r语言地kmeans客户细分模型聚类_第5页
资源描述:

《r语言地kmeans客户细分模型聚类》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实用标准R语言的kmeans客户细分模型聚类来源

2、bourneli(李伯韬)的技术博客前言kmeans是最简单的聚类算法之一,但是运用十分广泛。最近在工作中也经常遇到这个算法。kmeans一般在数据分析前期使用,选取适当的k,将数据分类后,然后分类研究不同聚类下数据的特点。本文记录学习kmeans算法相关的内容,包括算法原理,收敛性,效果评估聚,最后带上R语言的例子,作为备忘。精彩文档实用标准算法原理kmeans的计算方法如下:1随机选取k个中心点2遍历所有数据,将每个数据划分到最近的中心点中精彩文档实用标准3计算每个聚类的平均值,并作为新的中心点4重复2-3,直到这k个中线点不再变化(收敛

3、了),或执行了足够多的迭代时间复杂度:O(I*n*k*m)空间复杂度:O(n*m)其中m为每个元素字段个数,n为数据量,I为跌打个数。一般I,k,m均可认为是常量,所以时间和空间复杂度可以简化为O(n),即线性的。精彩文档实用标准算法收敛也就是当前聚类的均值就是当前方向的最优解(最小值),这与kmeans的每一次迭代过程一样。所以,这样保证SSE每一次迭代时,都会减小,最终使SSE收敛。精彩文档实用标准由于SSE是一个非凸函数(non-convexfunction),所以SSE不能保证找到全局最优解,只能确保局部最优解。但是可以重复执行几次kmeans,选取SSE最小的一次作为最终的聚类结果

4、。0-1规格化精彩文档实用标准由于数据之间量纲的不相同,不方便比较。举个例子,比如游戏用户的在线时长和活跃天数,前者单位是秒,数值一般都是几千,而后者单位是天,数值一般在个位或十位,如果用这两个变量来表征用户的活跃情况,显然活跃天数的作用基本上可以忽略。所以,需要将数据统一放到0~1的范围,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。具体计算方法如下:轮廓系数轮廓系数(Silhouette精彩文档实用标准Coefficient)结合了聚类的凝聚度(Cohesion)和分离度(Separation),用于评估聚类的效果。该值处于-1~1之间,值越大,表示聚类效果越好。

5、具体计算方法如下:对于第i个元素x_i,计算x_i与其同一个簇内的所有其他元素距离的平均值,记作a_i,用于量化簇内的凝聚度。选取x_i外的一个簇b,计算x_i与b中所有点的平均距离,遍历所有其他簇,找到最近的这个平均距离,记作b_i,用于量化簇之间分离度。对于元素x_i,轮廓系数s_i=(b_i–a_i)/max(a_i,b_i)计算所有x的轮廓系数,求出平均值即为当前聚类的整体轮廓系数精彩文档实用标准从上面的公式,不难发现若s_i小于0,说明x_i与其簇内元素的平均距离小于最近的其他簇,表示聚类效果不好。如果a_i趋于0,或者b_i足够大,那么s_i趋近与1,说明聚类效果比较好。K值选取

6、精彩文档实用标准在实际应用中,由于Kmean一般作为数据预处理,或者用于辅助分类贴标签。所以k一般不会设置很大。可以通过枚举,令k从2到一个固定值如10,在每个k值上重复运行数次kmeans(避免局部最优解),并计算当前k的平均轮廓系数,最后选取轮廓系数最大的值对应的k作为最终的集群数目。实际应用下面通过例子(R实现,完整代码见附件)讲解kmeans使用方法,会将上面提到的内容全部串起来1library(fpc)#install.packages("fpc")2data(iris)精彩文档实用标准3head(iris)加载实验数据iris,这个数据在机器学习领域使用比较频繁,主要是通过画的几

7、个部分的大小,对花的品种分类,实验中需要使用fpc库估计轮廓系数,如果没有可以通过install.packages安装。1#0-1正规化数据2min.max.norm<-function(x){精彩文档实用标准3(x-min(x))/(max(x)-min(x))4}5raw.data<-iris[,1:4]6norm.data<-data.frame(sl=min.max.norm(raw.data[,1]),7sw=min.max.norm(raw.data[,2]),8pl=min.max.norm(raw.data[,3]),精彩文档实用标准9pw=min.max.

8、norm(raw.data[,4]))对iris的4个feature做数据正规化,每个feature均是花的某个不为的尺寸。1#k取2到8,评估K2K<-2:83round<-30#每次迭代30次,避免局部最优精彩文档实用标准4rst<-sapply(K,function(i){5print(paste("K=",i))6mean(sapply(1:round,function(r){7pr

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。