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

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

全文链接:https://tecdat.cn/?p=32955


本文就将采用K-means算法和层次聚类对基于用户特征的微博数据帮助客户进行聚类分析点击文末“阅读原文”获取完整代码数据


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

聚类分析法概述

聚类算法的研究有着相当长的历史,早在1975年 Hartigan就在其专著 Clustering Algorithms[5]中对聚类算法进行了系统的论述。聚类分析算法作为一种有效的数据分析方法被广泛应用于数据挖掘、机器学习、图像分割、语音识别、生物信息处理等。

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

image.png

微博用户特征数据研究


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


数据采集

新浪微博,作为中国的较大的用户使用较受欢迎的微博使用平台之一,从其平台上抽取的微博一定程度上可以反映国内微博平台的传播情况。鉴于新浪微博在国内具有较大影响力,故本文选取有影响力的新浪微博用户为研究对象,包括大V、电商平台、明星、网红等,从微博用户特征出发,来探索基于用户特征的聚类分析。本研究总共获取了50359条微博数据。

数据取值范围

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

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

image.png

点击标题查阅往期内容


R语言对耐克NIKEID新浪微博数据K均值(K-MEANS)聚类文本挖掘和词云可视化


01

02

03

04


K-means和层次聚类


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

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


结果

将该数据集分为了三类。

plot(data[,3:4], fit$clust

image.png

image.png

点击标题查阅往期内容


R语言主成分PCA、因子分析、聚类对地区经济研究分析重庆市经济指标


01

02

03

04


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

相关文章
|
1月前
|
存储 编解码 负载均衡
数据分片算法
【10月更文挑战第25天】不同的数据分片算法适用于不同的应用场景和数据特点,在实际应用中,需要根据具体的业务需求、数据分布情况、系统性能要求等因素综合考虑,选择合适的数据分片算法,以实现数据的高效存储、查询和处理。
|
1月前
|
存储 缓存 算法
分布式缓存有哪些常用的数据分片算法?
【10月更文挑战第25天】在实际应用中,需要根据具体的业务需求、数据特征以及系统的可扩展性要求等因素综合考虑,选择合适的数据分片算法,以实现分布式缓存的高效运行和数据的合理分布。
|
1月前
|
存储 JSON 算法
TDengine 检测数据最佳压缩算法工具,助你一键找出最优压缩方案
在使用 TDengine 存储时序数据时,压缩数据以节省磁盘空间是至关重要的。TDengine 支持用户根据自身数据特性灵活指定压缩算法,从而实现更高效的存储。然而,如何选择最合适的压缩算法,才能最大限度地降低存储开销?为了解决这一问题,我们特别推出了一个实用工具,帮助用户快速判断并选择最适合其数据特征的压缩算法。
53 0
|
17天前
|
算法
基于WOA算法的SVDD参数寻优matlab仿真
该程序利用鲸鱼优化算法(WOA)对支持向量数据描述(SVDD)模型的参数进行优化,以提高数据分类的准确性。通过MATLAB2022A实现,展示了不同信噪比(SNR)下模型的分类误差。WOA通过模拟鲸鱼捕食行为,动态调整SVDD参数,如惩罚因子C和核函数参数γ,以寻找最优参数组合,增强模型的鲁棒性和泛化能力。
|
23天前
|
机器学习/深度学习 算法 Serverless
基于WOA-SVM的乳腺癌数据分类识别算法matlab仿真,对比BP神经网络和SVM
本项目利用鲸鱼优化算法(WOA)优化支持向量机(SVM)参数,针对乳腺癌早期诊断问题,通过MATLAB 2022a实现。核心代码包括参数初始化、目标函数计算、位置更新等步骤,并附有详细中文注释及操作视频。实验结果显示,WOA-SVM在提高分类精度和泛化能力方面表现出色,为乳腺癌的早期诊断提供了有效的技术支持。
|
3天前
|
供应链 算法 调度
排队算法的matlab仿真,带GUI界面
该程序使用MATLAB 2022A版本实现排队算法的仿真,并带有GUI界面。程序支持单队列单服务台、单队列多服务台和多队列多服务台三种排队方式。核心函数`func_mms2`通过模拟到达时间和服务时间,计算阻塞率和利用率。排队论研究系统中顾客和服务台的交互行为,广泛应用于通信网络、生产调度和服务行业等领域,旨在优化系统性能,减少等待时间,提高资源利用率。
|
10天前
|
存储 算法
基于HMM隐马尔可夫模型的金融数据预测算法matlab仿真
本项目基于HMM模型实现金融数据预测,包括模型训练与预测两部分。在MATLAB2022A上运行,通过计算状态转移和观测概率预测未来值,并绘制了预测值、真实值及预测误差的对比图。HMM模型适用于金融市场的时间序列分析,能够有效捕捉隐藏状态及其转换规律,为金融预测提供有力工具。
|
19天前
|
算法
基于GA遗传算法的PID控制器参数优化matlab建模与仿真
本项目基于遗传算法(GA)优化PID控制器参数,通过空间状态方程构建控制对象,自定义GA的选择、交叉、变异过程,以提高PID控制性能。与使用通用GA工具箱相比,此方法更灵活、针对性强。MATLAB2022A环境下测试,展示了GA优化前后PID控制效果的显著差异。核心代码实现了遗传算法的迭代优化过程,最终通过适应度函数评估并选择了最优PID参数,显著提升了系统响应速度和稳定性。
|
10天前
|
机器学习/深度学习 算法 信息无障碍
基于GoogleNet深度学习网络的手语识别算法matlab仿真
本项目展示了基于GoogleNet的深度学习手语识别算法,使用Matlab2022a实现。通过卷积神经网络(CNN)识别手语手势,如&quot;How are you&quot;、&quot;I am fine&quot;、&quot;I love you&quot;等。核心在于Inception模块,通过多尺度处理和1x1卷积减少计算量,提高效率。项目附带完整代码及操作视频。
|
16天前
|
算法
基于WOA鲸鱼优化的购售电收益与风险评估算法matlab仿真
本研究提出了一种基于鲸鱼优化算法(WOA)的购售电收益与风险评估算法。通过将售电公司购售电收益风险计算公式作为WOA的目标函数,经过迭代优化计算出最优购电策略。实验结果表明,在迭代次数超过10次后,风险价值收益优化值达到1715.1万元的最大值。WOA还确定了中长期市场、现货市场及可再生能源等不同市场的最优购电量,验证了算法的有效性。核心程序使用MATLAB2022a实现,通过多次迭代优化,实现了售电公司收益最大化和风险最小化的目标。
下一篇
DataWorks