r语言基于聚类的微博用户画像研究 附代码数据
更新时间:2023-12-08 09:27:01 阅读量: 教育文库 文档下载
- r语言k均值聚类推荐度:
- 相关推荐
Taobao 大数据部落
基于聚类的微博用户画像研究
聚类分析(Clustering Analysis):根据在数据中发现的描述对象及其关系的信息,将数据对象分组。其目标是,组内的对象互相之间是相似的(相关的),不同组中的对象是不同的(不相关的)。组内的相似性越大,组间差别越大,聚类就越好。就理解数据而言,簇是潜在的类,而聚类分析就是研究自动发现这些类的技术。
这类算法首先要确定聚类数目和聚类中心,通过反复迭代的方法得到最终的聚类结果。典型的基于划分的聚类方法有:K-means 算法、K-modes 算法、FCMC算法和K-medoids算法等。这些算法对在小规模的数据集中发现球状类别很有效。 K-means算法
K均值算法(K-means)是一种迭代算法,初始的k个簇被随机的定义之后,这些簇将被不断地更新,并在更新中被优化,当无法再进一步优化(或者达到一定的迭代次数)时算法才停止,然后生成模型。
在K-means算法中,每个簇有一个中心,称为“质心”,k个簇就相应地有k个质心。一个样本究竟被划分到哪个簇,就看它和哪个质心的“相异度”最小。在K-means算法中,衡量相异度的指标是“距离”(distance)。
所以也可以这么说,一个样本究竟被划分到哪个簇,就看它和哪个质心的“距离”最小。这里的距离,则是由样本的每一个属性的取值来共同参与决定的。
虽然K-means算法产生的结果通常是不错的,但是在时间上并非是高效的,并且不具有很好的可伸缩性,因此,很多学者对K-means算法进行了诸多改进,例如一些K-means算法的改进研究是提高找到全局最优解可能性的途径,通常采用谨慎地选择初始簇和均值这样的策略,另一个变种是允许簇的分裂与合并,通过检查簇的方差,若过大则将簇分裂。类似地,若两个簇质心之间的距离小于一个预先定义的阐值,则合并它们。
DBSCAN:基于密度的聚类
简单的说就是根据一个根据对象的密度不断扩展的过程的算法。一个对象O的密度可以用靠近O的对象数来判断。学习DBSCAN算法,需要弄清楚几个概念: 一:基本概念
Taobao 大数据部落
1.??领域:对象O的??领域是与O为中心,与?为半径的空间。参数??0,是用户指定每个对象的领域半径值。
2.MinPts(领域密度阀值):对象的??领域的对象数量。
3.核心对象:如果对象O的??领域对象数量至少包含MinPts个对象,则该对象是核心对象。
4.直接密度可达:如果对象p在核心对象q的??领域内,则p是从q直接密度可达的。
5.密度可达:在DBSCAN中,p是从q(核心对象)密度可达的,如果存在对象链p,p,p...,p123n,使得
ip?q,p1n?p,
p1i?1是从p关于?和MinPts直接密度可
i达的,即
pi?1在
p的??领域内,则p到pn密度可达。 26.密度相连:如果存在对象q?D,使得对象度可达的,则称
p和P1都是从q关于?和MinPts密
p,P12是关于?和MinPts密度相连的。
二:密度可达和密度相连 这里半径为?,MinPts?3
图1基于密度的聚类中的密度可达和密度相连性
Taobao 大数据部落
由上图可看出m,p,o.r 都是核心对象,因为他们的??领域内都只是包含3个对象。
1.对象q是从m直接密度可达的。对象m从p直接密度可达的。
2.对象q是从p(间接)密度可达的,因为q从m直接密度可达,m从p直接密度可达。
3.r和s是从o密度可达的,而o是从r密度可达的,所有o,r和s都是密度相连的。
DBSCAN聚类过程
1.DBSCAN发现簇的过程
初始,给定数据集D中所有对象都被标记为“unvisited”DBSCAN随机选择一个未访问的对象p,标记p为“visited”,并坚持p的??领域是否至少包含MinPts个对象。如果不是,则p被标记为噪声点。否则为p创建一个新的簇C,并且把p的??领域中所有对象都放在候选集合N中。DBSCAN迭代地把N中不属于其他簇的对象添加到C中。在此过程中,对应N中标记为“unvisited”的对象P',DBSCAN把它标记为“visited”,并且检查它的??领域。如果P'的??领域中的对象都被添加到NZ中。DBSCAN继续添加对象到C,知道C不能扩展,即知道N为空。此时簇C完成生成,输出。
为了找到下一个簇,DBSCAN从剩下的对象中随机选择一个未访问过的对象。聚类过程继续,直到所有对象都被访问。
2.DBSCAN聚类算法流程
Taobao 大数据部落
轮廓系数
轮廓系数(Silhouette Coefficient)结合了聚类的凝聚度(Cohesion)和分
'11. If p的??领域至少有MinPts个对象,把这些对象添加到N; ''算法:DBSCAN,一种基于密度的聚类算法 输入: D:一个包含n个对象的数据集 ?:半径参数 MinPts:领域密度阀值 输出:基于密度的簇的集合 方法: 1.标记所有对象为unvisited; 2.Do 3.随机选择一个unvisited对象p; 4.标记p为visited; 5.If p的??领域至少有MinPts个对象 6. 创建一个新簇C,并把p添加到C; 7. 令N为p的??领域中的对象集合 8. For N中每个点p 9. If p是unvisited; 10. 标记p为visited; '''12. 如果p还不是任何簇的成员,把p添加到C; 13. End for; 14. 输出C; 15.Else标记p为噪声; 16.Until没有标记为unvisited的对象; Taobao 大数据部落
离度(Separation),用于评估聚类的效果。该值处于-1~1之间,值越大,表示聚类效果越好。具体计算方法如下: 1.
对于第i个元素x_i,计算x_i与其同一个簇内的所有其他元素距离的平均值,记作a_i,用于量化簇内的凝聚度。 2.
选取x_i外的一个簇b,计算x_i与b中所有点的平均距离,遍历所有其他簇,找到最近的这个平均距离,记作b_i,用于量化簇之间分离度。 3. 4.
对于元素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-means和DBScan这个方法,进行对比试验,k取值从3到7,最终的聚类效果采用轮廓系数进行检测(最终希望后面的聚类效果比k-means要好),然后再把聚出来的类别与前面的性别,地域等信息进行相关分析
正在阅读:
平遥县旅游产业发展情况分析04-17
马克思主义基本原理概论试题及答案01-25
8kw永磁同步电动机结构与设计的研究 本科学位论文10-09
2018-2024年中国厨房电器市场深度分析与未来发展趋势研究报告(04-08
我的伙伴作文600字07-12
新型肥料与施肥技术08-21
奥美平面广告技巧01-11
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 画像
- 基于
- 语言
- 代码
- 数据
- 用户
- 研究
- 国际结算票据部分测验及答案
- 第二章 植物的水分生理自测
- MODBUS SDK用户手册
- 幻想水浒传1秘籍
- 家装公司客户经理131问
- 创优方案
- 2017-2018学年高中化学人教版选修4学业分层测评:第2章 第3节 第2课时 影响化学平衡移动的因素(含解析)
- 浅析客舱服务中的餐饮服务毕业论文
- 600MW东汽机组主要保护
- 基于PLC的玻璃纤维生产线控制系统设计
- 物资进出厂管理办法 2
- 项目部实名制管理台帐
- 2010山东暑期远程培训初中化学简报化学广场第8期
- 安徽重点项目-宣城年产6万吨高分子材料生产线项目可行性研究报告
- 2015版思想道德修养与法律基础教材--第八章
- 半导体制造技术期末复习 - 图文
- 幼儿园领导班子队伍建设计划
- (ok)四年级数学思维综合训练试题(12套) ok
- 2019-2020学年度青岛版六年级数学上册期末试卷及答案-精
- 作文指导:有趣的吹泡泡比赛