R语言K-Means(K均值)和层次聚类算法对微博用户特征数据研究

本文就将采用K-means算法和层次聚类对基于用户特征的微博数据帮助客户进行聚类分析。

由Kaizong Ye,Sherry Deng撰写

首先对聚类分析作系统介绍。


其次对聚类算法进行文献回顾,对其概况、基本思想、算法进行详细介绍,再是通过一个仿真实验具体来强化了解聚类算法,本文的数据是由所设计地软件在微博平台上获取的数据,最后得到相关结论和启示。

聚类分析法概述

聚类算法的研究有着相当长的历史,早在1975年 Hartigan就在其专著 Clustering Algorithms[5]中对聚类算法进行了系统的论述。


可下载资源


本文分析的数据、代码、报告分享至会员群

聚类分析算法作为一种有效的数据分析方法被广泛应用于数据挖掘、机器学习、图像分割、语音识别、生物信息处理等。

聚类方法是无监督模式识别的一种方法,同时也是一种很重要的统计分析方法。


视频

KMEANS均值聚类和层次聚类:R语言分析生活幸福质量系数可视化实例

探索见解

去bilibili观看

探索更多视频

聚类分析已经被广泛的研究了很多年,研究领域涵盖数据挖掘、统计学、机器学习和空间数据库等众多领域。聚类是基于数据的相似性将数据集合划分成组,然后给这些划分好的组指定标号。目前文献中存在着大量的聚类算法,大体上,聚类分析算法主要分成如下几种[6],图2-1显示了一些主要的聚类算法的分类。

image.png

微博用户特征数据研究

为了进一步验证K-means算法,本文将采集一批微博数据,通过根据微博用户特征属性对其进行聚类,并得出结论。

数据采集

新浪微博,作为中国的较大的用户使用较受欢迎的微博使用平台之一,从其平台上抽取的微博一定程度上可以反映国内微博平台的传播情况。

鉴于新浪微博在国内具有较大影响力,故本文选取有影响力的新浪微博用户为研究对象,包括大V、电商平台、明星、网红等,从微博用户特征出发,来探索基于用户特征的聚类分析。本研究总共获取了50359条微博数据。

数据取值范围

指标取值范围
是否认证V或N
性别男或女
粉丝数0,1,2…(非负整数)
微博数0,1,2…(非负整数)
注册时间比日期

根据本文需求,采用编程软件在新浪微博平台上收集到的相关数据,具体样本实例如图所示,其中,对是否加V,粉丝关注比进行标准化。

image.png

K-means和层次聚类


data=read.csv("新浪微博用户数据.csv") #删除缺失值 dat=.mit(data) for(i in 3:ncol(dta))dta[,i]=as.nuerc(daa[,i]) kmas(data[,c("性别" ,"粉丝数","微博数" ,"是否认证" ,"注册时间" )]

图片

Python主题建模LDA模型、t-SNE 降维聚类、词云可视化文本挖掘新闻组数据集

阅读文章


本文采用R软件对数据进行K-means聚类和层次聚类分析。R语言是统计领域广泛使用的,诞生于1980年左右的S语言的一个分支。

结果

将该数据集分为了三类。


随时关注您喜欢的主题



plot(data[,3:4], fit$clust
1111.png
image.png
image.png
image.png

K-means算法将该样本集分为4类,其中最多的为cluster-2,有39886条记录,其次是cluster-3,有4561条记录,再者是cluster-1,为3514条记录,cluster-4,为2398条记录。

从聚类数量来看聚类数目分布合理,没有出现过少的离群点。从聚类中心来看,第二类别是微博数较少,但是粉丝很多,并且注册时间较早的一批用户,并且已经是认证的用户,因此可以认为是大V用户。

第1类同样拥有较多的粉丝,同样是认证用户,可以认为是小V用户。

第三类粉丝数目少,没有认证,并且注册较晚,因此可以认为是普通微博用户,第四类用户微博数目多,粉丝数目较多,但是没有认证,因此可以认为是草根名博。

image.png

层次聚类验证

为了验证该结果的可行性,又采用了R统计软件对样本进行了层次聚类分析。具体代码如下所示:

attach(x):

c<-hcst(dist(x),"sin

ct.hclu

得到聚类结果如图:

image.png

从层次聚类的结果来看,将该数据划分成4个类别是相对合理的,因此上述认证有理有据。

结论

本文研究了数据挖掘的研究背景与意义,讨论了聚类算法的各种基本理论包括聚类的形式化描述和定义,聚类中的数据类型和数据结果,聚类的相似性度量和准则函数等。同时也探讨学习了基于划分的聚类方法的典型的聚类方法。本文重点集中学习了研究了 K-Means聚类算法的思想、原理以及该算法的优缺点。并运用K-means算法对所采集的数据进行聚类分析,深化了对该算法的理解。

参考文献

[1] 中国互联网络信息中心(CNNIC).第33次中国互联网络发展状况统计报告[EB/OL].

[2] 郭宇红,童云海,唐世渭等.数据库中的知识隐藏 [ J ].软件学报,2007, 11 (18) : 278222797.

[3] hehroz S.Khan,Amir Ahmad.Cluster center initialization algorithm for K-Means clustering[J].Pattern Recognition Letters 25(2004): 1293-1302.

[4] 王春风,唐拥政.结合近邻和密度思想的K-均值算法的研究[J] 计算机工程应用.2011 年,47(19).147-149.

[5] 杨小兵.聚类分析中若干关键技术的研究[D].杭州:浙江大学,2005年:24-25.

[6] Hartigan J A. Clustering Algorithms[M].New York: John Wiley&Sons Inc.,1975.

[7] Tony Bain 等著.邵勇译.SQL Server2000 数据仓库与 Analysis Services[M]. 北京.中国电力出版社,2003.

[8] Handl Julia, Joshua Knowles, Douglas B. Kell. Computational cluster validation  in post-genomic data


可下载资源

关于作者

Kaizong Ye拓端研究室(TRL)的研究员。

本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。

​非常感谢您阅读本文,如需帮助请联系我们!

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498

关注有关新文章的微信公众号


永远不要错过任何见解。当新文章发表时,我们会通过微信公众号向您推送。

技术干货

最新洞察

This will close in 0 seconds