MATLAB、R用改进Fuzzy C-means模糊C均值聚类算法的微博用户特征调研数据聚类研究

简介: MATLAB、R用改进Fuzzy C-means模糊C均值聚类算法的微博用户特征调研数据聚类研究

全文链接:http://tecdat.cn/?p=30766


本文就将采用改进Fuzzy C-means算法对基于用户特征的微博数据进行聚类分析。去年,我们为一位客户进行了短暂的咨询工作,他正在构建一个主要基于微博用户特征聚类研究的分析应用程序点击文末“阅读原文”获取完整代码数据


首先对聚类分析作系统介绍。其次对改进Fuzzy C-means算法进行文献回顾,对其概况、基本思想、算法进行详细介绍,再是应用了改进Fuzzy C-means算法,本文的数据是由所设计地软件在微博平台上获取的调研数据,最后得到相关结论和启示。


改进Fuzzy C-means 聚类算法是由 Steinhaus1955 年 Lloyd195年Ball&Hall1965 年 McQueen1967 年分别在各自的不同的科学研究领域独立的提出。改进Fuzzy C-means聚类算法被提出来后,在不同的学科领域被广泛研究和应用 并发展出大量不同的改进算法。它是研究比较多且应用比较广泛的一种基于划分的聚类算法。具有算法简单、易于实现、品于扩展,并且能够处理大数据集的特点。


聚类分析法概述


目前文献中存在着大量的聚类算法,大体上,聚类分析算法主要分成如下几种,图显示了一些主要的聚类算法的分类。


改进 Fuzzy C-means 算法


Fuzzy C-means算法概述

Fuzzy C-means算法是聚类算法中主要算法之一,它是一种基于划分的聚类算法,是最为经典的,同时也是使用最为广泛的一种基于划分的聚类算法,它属于基于距离的聚类算法。1967年,J.B.MacQueen提出的Fuzzy C-means算法是目前为止在工业和科学应用中一种极有影响的聚类技术。Fuzzy C-means 算法实现非常简单,运算效率也非常的高,适合对大型数据集进行分析处理。缺点是聚类结果不能重复,聚类结果跟初始点的选择有很大的关系,且不能作用于非凸集的数据。Fuzzy C-means算法对类球形且大小差别不大的类簇有很好的表现,但不能发现形状任意和大小差别很大的类簇,且聚类结果易受噪声数据影响。


应用


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


数据采集


新浪微博,作为中国的较大的用户使用较受欢迎的微博使用平台之一,从其平台上抽取的微博一定程度上可以反映国内微博平台用户的好友圈子情况。本文收集了发布微博用户特征数据,借鉴已有的相关研究和理论,进一步对数据进行标准化,数据中指标的取值如表所示。

指标 取值范围
您的朋友中大部分属于 同性或异性
你觉得自己个性如何 内向或者开朗
你是否愿意和兴趣相投的人成为朋友 愿意或者不愿意
您一般选择交什么样的朋友 0或1
你是否经常参与学生会或者社团组织的活动 经常或者偶尔

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


改进 Fuzzy C-means


本文采用MATLAB软件对数据进行改进Fuzzy C-means聚类分析。

数据挖掘是一个三级过程: 读入数据:通过一系列操作运行数据:把数据送到目的地。操作的这个顺序被称为数据流,通过每次操作数据流都会随着相关操作发生相关变化,最后,令那些目标数据输出一个模型或者可视化的结果。在MATLAB中,所有流程都与创建和修改数据流有关。本文具体过程如图所示。

仿真结果

具体结果如图所示,将该数据集分为了三类。

[center,U,obj_fcn] =FCMClu(data,4); 
plot(data(:,1), data(:,2),'o'); 
hold on; 
index1 = find(U(1,:) == maxU); 
index2 = find(U(2,:) == maxU);

改进Fuzzy C-means算法将该样本集分为三类,其中最多的为cluster-3,其次是cluster-2,再者是cluster-1。为了验证该结果的可行性,又采用了R统计软件对样本进行了聚类分析。


点击标题查阅往期内容


数据分享|R语言分析上海空气质量指数数据:kmean聚类、层次聚类、时间序列分析:arima模型、指数平滑法


01

02

03

04

具体代码如下所示:

> x=read.table("clipboard"):
> c<-hclust(dist(x),"single")
> plot(c):

得到聚类结果如图所示。


结论


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

但是本文也存在非常多的不足,例如未对较多的对改进Fuzzy C-means的改进算法作深刻剖析,对改进Fuzzy C-means实验的结果分析还并不到位。在后期中,这些都是值得深刻挖掘的。

 

参考文献

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

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

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

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

相关文章
|
1天前
|
算法 安全 数据库
基于结点电压法的配电网状态估计算法matlab仿真
**摘要** 该程序实现了基于结点电压法的配电网状态估计算法,旨在提升数据的准确性和可靠性。在MATLAB2022a中运行,显示了状态估计过程中的电压和相位估计值,以及误差随迭代变化的图表。算法通过迭代计算雅可比矩阵,结合基尔霍夫定律解决线性方程组,估算网络节点电压。状态估计过程中应用了高斯-牛顿或莱文贝格-马夸尔特法,处理量测数据并考虑约束条件,以提高估计精度。程序结果以图形形式展示电压幅值和角度估计的比较,以及估计误差的演变,体现了算法在处理配电网状态估计问题的有效性。
|
5天前
|
机器学习/深度学习 自然语言处理 算法
m基于深度学习的OFDM+QPSK链路信道估计和均衡算法误码率matlab仿真,对比LS,MMSE及LMMSE传统算法
**摘要:** 升级版MATLAB仿真对比了深度学习与LS、MMSE、LMMSE的OFDM信道估计算法,新增自动样本生成、复杂度分析及抗频偏性能评估。深度学习在无线通信中,尤其在OFDM的信道估计问题上展现潜力,解决了传统方法的局限。程序涉及信道估计器设计,深度学习模型通过学习导频信息估计信道响应,适应频域变化。核心代码展示了信号处理流程,包括编码、调制、信道模拟、降噪、信道估计和解调。
28 8
|
7天前
|
算法
基于GA遗传优化的混合发电系统优化配置算法matlab仿真
**摘要:** 该研究利用遗传算法(GA)对混合发电系统进行优化配置,旨在最小化风能、太阳能及电池储能的成本并提升系统性能。MATLAB 2022a用于实现这一算法。仿真结果展示了一系列图表,包括总成本随代数变化、最佳适应度随代数变化,以及不同数据的分布情况,如负荷、风速、太阳辐射、弃电、缺电和电池状态等。此外,代码示例展示了如何运用GA求解,并绘制了发电单元的功率输出和年变化。该系统原理基于GA的自然选择和遗传原理,通过染色体编码、初始种群生成、适应度函数、选择、交叉和变异操作来寻找最优容量配置,以平衡成本、效率和可靠性。
|
8天前
|
机器学习/深度学习 算法
基于鲸鱼优化的knn分类特征选择算法matlab仿真
**基于WOA的KNN特征选择算法摘要** 该研究提出了一种融合鲸鱼优化算法(WOA)与K近邻(KNN)分类器的特征选择方法,旨在提升KNN的分类精度。在MATLAB2022a中实现,WOA负责优化特征子集,通过模拟鲸鱼捕食行为的螺旋式和包围策略搜索最佳特征。KNN则用于评估特征子集的性能。算法流程包括WOA参数初始化、特征二进制编码、适应度函数定义(以分类准确率为基准)、WOA迭代搜索及最优解输出。该方法有效地结合了启发式搜索与机器学习,优化特征选择,提高分类性能。
|
4天前
|
机器学习/深度学习 存储 算法
基于SFLA算法的神经网络优化matlab仿真
**摘要:** 使用MATLAB2022a,基于SFLA算法优化神经网络,降低训练误差。程序创建12个神经元的前馈网络,训练后计算性能。SFLA算法寻找最优权重和偏置,更新网络并展示训练与测试集的预测效果,以及误差对比。SFLA融合蛙跳与遗传算法,通过迭代和局部全局搜索改善网络性能。通过调整算法参数和与其他优化算法结合,可进一步提升模型预测精度。
|
6天前
|
机器学习/深度学习 存储 人工智能
算法金 | 使用随机森林获取特征重要性
**随机森林算法简介**:集成多个决策树提升性能,常用于各类任务。在葡萄酒分类项目中,使用`RandomForestClassifier`实现模型,100棵树,得分100%。特征重要性显示了哪些化学成分影响最大。通过特征选择保持高准确性,证明了有效特征选择的重要性。7个关键特征中脯氨酸和酒精含量最重要。简洁高效,适用于特征工程。[链接指向知识星球]
29 5
|
9天前
|
机器学习/深度学习 算法 数据可视化
基于BP神经网络的64QAM解调算法matlab性能仿真
**算法预览图省略** MATLAB 2022A版中,运用BP神经网络进行64QAM解调。64QAM通过6比特映射至64复数符号,提高数据速率。BP网络作为非线性解调器,学习失真信号到比特的映射,对抗信道噪声和多径效应。网络在处理非线性失真和复杂情况时展现高适应性和鲁棒性。核心代码部分未显示。
|
6天前
|
算法 计算机视觉
基于Chan-Vese算法的图像边缘提取matlab仿真
**算法预览展示了4幅图像,从边缘检测到最终分割,体现了在matlab2022a中应用的Chan-Vese水平集迭代过程。核心代码段用于更新水平集并显示迭代效果,最后生成分割结果及误差曲线。Chan-Vese模型(2001)是图像分割的经典方法,通过最小化能量函数自动检测平滑区域和清晰边界的图像分割,适用于复杂环境,广泛应用于医学影像和机器视觉。**
|
9天前
|
缓存 算法
基于机会网络编码(COPE)的卫星网络路由算法matlab仿真
**摘要:** 该程序实现了一个基于机会网络编码(COPE)的卫星网络路由算法,旨在提升无线网络的传输效率和吞吐量。在MATLAB2022a中测试,结果显示了不同数据流个数下的网络吞吐量。算法通过Dijkstra函数寻找路径,计算编码机会(Nab和Nx),并根据编码机会减少传输次数。当有编码机会时,中间节点执行编码和解码操作,优化传输路径。结果以图表形式展示,显示数据流与吞吐量的关系,并保存为`R0.mat`。COPE算法预测和利用编码机会,适应卫星网络的动态特性,提高数据传输的可靠性和效率。
|
1天前
|
算法
基于PSO粒子群优化的PID控制器参数整定算法matlab仿真
该文探讨了使用PSO(粒子群优化)算法优化PID控制器参数的方法。通过PSO迭代,不断调整PID控制器的Kp、Ki、Kd增益,以减小控制误差。文中提供了MATLAB2022a版本的核心代码,展示了参数优化过程及结果。系统仿真图像显示了参数随迭代优化的变化。PID控制器结合PSO算法能有效提升控制性能,适用于复杂系统的参数整定,未来研究可关注算法效率提升和应对不确定性。