首页 > 编程语言 >MATLAB用改进K-Means(K-均值)聚类算法数据挖掘高校学生的期末考试成绩|附代码数据

MATLAB用改进K-Means(K-均值)聚类算法数据挖掘高校学生的期末考试成绩|附代码数据

时间:2023-08-03 22:37:08浏览次数:43  
标签:语言 Means 模型 高校学生 算法 聚类 数据挖掘 数据 回归

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

最近我们被客户要求撰写关于K-Means(K-均值)聚类算法的研究报告,包括一些图形和统计输出。

本文首先阐明了聚类算法的基本概念,介绍了几种比较典型的聚类算法,然后重点阐述了K-均值算法的基本思想,对K-均值算法的优缺点做了分析,回顾了对K-均值改进方法的文献,最后在Matlab中应用了改进的K-均值算法对数据进行了分析

常用的聚类算法

常用的聚类算法有:K-MEANS、K-MEDOIDS、BIRCH、CURE、DBSCAN、STING。

主要聚类算法分类

类别 包括的主要算法
划分的方法 K-MEANS算法(K平均)、K-MEDOIDS算法(K中心点)、CLARANS算法(基于选择的算法)
层次的方法 BIRCH算法(平衡迭代规约和聚类)、CURE算法(代表点聚类)、CHAMELEON算法(动态模型)
基于密度的方法 DBSCAN算法(基于高密度连接区域)、DENCLUE算法(密度分布函数)、OPTICS算法(对象排序识别)
基于网络的方法 STING算法(统计信息网络)、CLIQUE算法(聚类高维空间)、WAVE-CLUSTER算法(小波变换)
基于模型的方法 统计学方法、神经网络方法

聚类算法的性能比较

聚类算法 适合数据类型 算法效率 发现的聚类形状 能否处理大数据集 是否受初始聚类中心影响 对异常数据敏感性 对输入数据顺序敏感性
K-MEANS 数值型 较高 凸形或球形 非常敏感 不敏感
K-MEDOIDS 数值型 一般 凸形或球形 不敏感 不敏感
BIRCH 数值型 凸形或球形 不敏感 不太敏感
CURE 数值型 较高 任意形状 不敏感 不太敏感
DBSCAN 数值型 一般 任意形状 敏感 敏感
STING 数值型 任意形状 一般 不敏感

 

由表可得到以下结论:1)大部分常用聚类算法只适合处理数值型数据;2)若考虑算法效率、初始聚类中心影响性和对异常数据敏感性,其中BIRCH算法、CURE算法以及STING算法能得到较好的结果;3)CURE算法、DBSCAN算法以及STING算法能发现任意形状的聚类。

改进聚类的主要步骤

聚类的主要步骤由以下几个方面组成:

(1)数据预处理:根据聚类分析的要求,对输入数据集进行特征标准化及降维等操作。

(2)特征选择及特征提取:将由数据预处理过程得到的最初始的特征中的最有效的特征选择出来,并将选取出来的最有效特征存放于特定的向量中,然后对这些有效特征进行相应的转换,得到新的有效突出特征。

(3)聚类(分组):根据需要选择合适的相似性度量函数对数据集中的数据对象相似程度进行度量,以此进行数据对象的聚类(分组)。

(4)对聚类结果进行评估:依据特定的评价标准对聚类的结果进行有效评估,评估聚类结果的优劣,以此对聚类分析过程进行进一步的改进和完善。

聚类的主要步骤可以用图来表示。

图片


点击标题查阅往期内容

图片

Python用KShape对时间序列进行聚类和肘方法确定最优聚类数k可视化

图片

左右滑动查看更多

图片

01

图片

02

图片

03

图片

04

图片

改进聚类分析中的数据类型及聚类准则函数

聚类算法的数据结构:数据矩阵、相异度矩阵。

相异度矩阵:相异度矩阵用来存储的是实体之间的差异性,n个实体的相异度矩阵表示为 n×n维的矩阵,用d(A,B)来表示实体A与实体B的相异性,一般来讲,是一种量化的表示方式,则含有n个实体的集合X={x1,x2,…,xn}的相异度矩阵表示如下:

图片

d(i,j)表示对象i和j之间的相异性的量化表示,通常它是一个非负的数值,当对象i和j 越相似或接近,其值越接近0;两个对象越不同,其值越大。并且有d(i,j)=d(j,i),d(i,i)=0。目前最常用的的相似性度量函数为欧式距离。

在MATLAB中应用K-MEANS算法

数据的预处理

本研究的数据是某高校学生的期末考试成绩,成绩表包括以下字段:x1为“电子商务”科目成绩,x2为“C语言概论”科目基础知识。其中,数据已经经过标准化和中心化的预处理:

(1)补充缺失值。对退学、转学、休学、缺考造成的数据缺失采用平均值法,以该科目的平均分数填充。

(2)规范化数据。运用最小-最大规范化方法对数据进行规范化处理,将数据映射到[0,1]区间,计算公式如下:

图片

过程及结果分析

(1)读取数据

选择MATLAB的Data.mat,通过ImpoMatlabt Files,将所有数据读入。

   

load('data1.mat')
k = 6;
figure;
%数据标准化
data = zeros(size(data1));
[data(:,1) me(1) va(1)] = dataNormalization(data1(:,1))

(2)K-Means 模型设置

1)NumbeRs of clusteR:制定生成的聚类数目,这里设置为3.

2)定义了分割数据集,选择训练数据集作为建模数据集,并利用测试数据集对模型进行评价。

   
[idx c] = kmeansOfMy(data,k);
c = dataRecovery(c,me,va);
%画出各个区域中的散点
count = 0;
for i = 1 : k
    if i == 1
         plot(data1(idx == i,1),data1(idx == 1,2),'r*');
    elseif i == 2
         plot(data1(idx == i,1),data1(idx == i,2),'g*');
    elseif i == 3

图片

(3)执行和输出

设置完成后,选中Execute 按钮,即可得到改进聚类执行并观察到结果。

   
%kOfVertex = randKOfVertex(k);
kOfVertex = electedInitialCentroid(k);
for i = 1 : size(data,1)
        index(i) = minOfDistans(i,kOfVertex);

可以以图表的形式来显示模型的统计信息以及各个属性在各簇中的分布信息,结果如下图所示。

图片

(4)聚类结果

结果表明:簇1中的学生都是考试成绩中等的,簇2中的学生考试成绩较高,簇2中的学生考试成绩较差,可见,大部分学生的期末考试成绩处于中等水平;各变量在各簇中的显著程度均较大,表明学生对各科目的学习分化程度较高,差异显著。

 

参考文献

[1] 贺玲, 吴玲达, 蔡益朝. 数据挖掘中的聚类算法综述[J]. 计算机应用研究, 2007(1).

[2] 蒋帅. K-均值聚类算法研究[D]. 陕西师范大学, 2010.

[3] 周涓, 熊忠阳, 张玉芳, 等. 基于最大最小距离法的多中心聚类算法[J]. 计算机应用, 2006, 26(6).

[4] A.K.Jain, MATLAB.C.Dubes. AlgoMatlabithms foMatlab ClusteMatlabing Data [J]. PMatlabentice-Hall Advanced MATLABefeMatlabence SeMatlabies, 1988(1).

图片


图片

点击文末 “阅读原文”

获取全文完整代码数据资料。

本文选自《MATLAB数据挖掘用改进的K-Means(K-均值)聚类算法分析高校学生的期末考试成绩数据》。

点击标题查阅往期内容

R语言主成分PCA、因子分析、聚类对地区经济研究分析重庆市经济指标
数据分享|R语言用主成分PCA、 逻辑回归、决策树、随机森林分析心脏病数据并高维可视化
R语言逻辑回归logistic模型分析泰坦尼克titanic数据集预测生还情况R语言是否对二分连续变量执行逻辑回归
R语言用lme4多层次(混合效应)广义线性模型(GLM),逻辑回归分析教育留级调查数据
R语言随机森林RandomForest、逻辑回归Logisitc预测心脏病数据和可视化分析
R语言基于Bagging分类的逻辑回归(Logistic Regression)、决策树、森林分析心脏病患者
R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险
R语言用局部加权回归(Lowess)对logistic逻辑回归诊断和残差分析R语言用主成分PCA、 逻辑回归、决策树、随机森林分析心脏病数据并高维可视化
R语言用线性模型进行臭氧预测:加权泊松回归,普通最小二乘,加权负二项式模型,多重插补缺失值R语言Bootstrap的岭回归和自适应LASSO回归可视化
R语言中回归和分类模型选择的性能指标
R语言多元时间序列滚动预测:ARIMA、回归、ARIMAX模型分析
R语言用lme4多层次(混合效应)广义线性模型(GLM),逻辑回归分析教育留级调查数据
R语言计量经济学:虚拟变量(哑变量)在线性回归模型中的应用
R语言 线性混合效应模型实战案例
R语言混合效应逻辑回归(mixed effects logistic)模型分析肺癌数据
R语言如何用潜类别混合效应模型(LCMM)分析抑郁症状
R语言基于copula的贝叶斯分层混合模型的诊断准确性研究
R语言建立和可视化混合效应模型mixed effect model
R语言LME4混合效应模型研究教师的受欢迎程度
R语言 线性混合效应模型实战案例
R语言用Rshiny探索lme4广义线性混合模型(GLMM)和线性混合模型(LMM)
R语言基于copula的贝叶斯分层混合模型的诊断准确性研究
R语言如何解决线性混合模型中畸形拟合(Singular fit)的问题
基于R语言的lmer混合线性回归模型
R语言用WinBUGS 软件对学术能力测验建立层次(分层)贝叶斯模型
R语言分层线性模型案例
R语言用WinBUGS 软件对学术能力测验(SAT)建立分层模型
使用SAS,Stata,HLM,R,SPSS和Mplus的分层线性模型HLM
R语言用WinBUGS 软件对学术能力测验建立层次(分层)贝叶斯模型
SPSS中的多层(等级)线性模型Multilevel linear models研究整容手术数据
用SPSS估计HLM多层(层次)线性模型模型R语言高维数据的主成分pca、 t-SNE算法降维与可视化分析案例报告
R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择的分类模型案例
R语言有RStan的多维验证性因子分析(CFA)
主成分分析(PCA)原理及R语言实现及分析实例
R语言无监督学习:PCA主成分分析可视化
R语言使用Metropolis- Hasting抽样算法进行逻辑回归
R语言多元Logistic逻辑回归 应用案例
R语言自适应LASSO 多项式回归、二元逻辑回归和岭回归应用分析
R语言用逻辑回归、决策树和随机森林对信贷数据集进行分类预测
R语言基于树的方法:决策树,随机森林,Bagging,增强树
spss modeler用决策树神经网络预测ST的股票
R语言中自编基尼系数的CART回归决策树的实现
python在Scikit-learn中用决策树和随机森林预测NBA获胜者
matlab使用分位数随机森林(QRF)回归树检测异常值
基于随机森林、svm、CNN机器学习的风控欺诈识别模型
R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择的分类模型案例
R语言用标准最小二乘OLS,广义相加模型GAM ,样条函数进行逻辑回归LOGISTIC分

标签:语言,Means,模型,高校学生,算法,聚类,数据挖掘,数据,回归
From: https://www.cnblogs.com/tecdat/p/17604644.html

相关文章

  • 采用PCA算法&KMeans算法来实现用户对物品类别的喜好细分(菜篮子分析)(附带数据集下载)
    实现该项目的流程如下"""项目:用户对物品类别的喜好细分(菜篮子分析)主算法:PCA降维算法KMeans算法总思路1、导包2、获取数据3、数据处理5、特征工程(使用PCA降维)6、使用KMeans算法进行模型训练7、模型评估""" Firstofall!!导包......
  • 【机器学习】K-Means
    K-Means找最接近的质心公式\[c^{(i)}:=j\quad\mathrm{that\;minimizes}\quad||x^{(i)}-\mu_j||^2\]其中,范式\(||X||\),其计算公式为\[||X||=\sqrt{x_1^2+x_2^2+\cdots+x_n^2}\]代码#UNQ_C1#GRADEDFUNCTION:find_closest_centroidsdeffind_closest......
  • 2020 某高校学生使用手机的目的调查。
    Asisapparentlydemonstratedinthechartabove,weareinformedsomeinformationconcerningcollegestudents"readingintentionswithmobilephonesinacertainuniversity.Tobemorespecific,withthehelpofcellphones,theproportionsofcolle......
  • PYTHON用户流失数据挖掘:建立逻辑回归、XGBOOST、随机森林、决策树、支持向量机、朴素
    原文链接:http://tecdat.cn/?p=24346最近我们被客户要求撰写关于用户流失数据挖掘的研究报告,包括一些图形和统计输出。在今天产品高度同质化的品牌营销阶段,企业与企业之间的竞争集中地体现在对客户的争夺上“用户就是上帝”促使众多的企业不惜代价去争夺尽可能多的客户。但是企......
  • DPI数据挖掘
    DPI数据挖掘的流程对于一位刚入行的小白来说,实现"DPI数据挖掘"可能是一项具有挑战性的任务。下面我将向你介绍整个流程,并提供每一步所需的代码及其注释,帮助你完成这个任务。步骤下表展示了"DPI数据挖掘"的步骤及其大致顺序:步骤描述1.数据收集收集需要进行数据挖掘的......
  • 确定毕设题目——《基于SSM框架高校学生博客系统的设计与实现》
    人总要喜欢什么,追求什么。题目的灵感来自于大二的Web课程学习,当时的期末大作业是根据所学内容自己搭建一个网站,我搭建的是一个个人博客网站。人总会成长。大二的时候我已经能够为自己搭建一个博客网站。经过一年的成长,我能否使用所学所得为全校的同学每人搭建一个博客网站,并将......
  • 数据挖掘18大算法实现以及其他相关经典DM算法:决策分类,聚类,链接挖掘,关联挖掘,模式挖掘。
    数据挖掘18大算法实现以及其他相关经典DM算法:决策分类,聚类,链接挖掘,关联挖掘,模式挖掘。图算法,搜索算法等算法码源见文末1.算法目录18大DM算法包名目录名算法名AssociationAnalysisDataMining_AprioriApriori-关联规则挖掘算法AssociationAnalysisDataMining_FP......
  • R语言IMDb TOP250电影特征数据挖掘可视化分析受众偏好、排名、投票、评分
    全文链接:https://tecdat.cn/?p=32998原文出处:拓端数据部落公众号本文首先介绍了IMDb(互联网电影资料库) TOP250及其排名算法、评分机制利弊,帮助客户通过分析《黑暗骑士》、《肖申克的救赎》和《教父》三部影片在2008年7月至9月评分数据,分析排名变动的原因。其次,通过抓取曾经入选......
  • 数据挖掘目录
    数据挖掘基础数据挖掘进阶:numpy-notepandas-note......
  • R语言K-Means(K均值聚类)和层次聚类算法对微博用户特征数据研究
    全文链接:https://tecdat.cn/?p=32955原文出处:拓端数据部落公众号本文就将采用K-means算法和层次聚类对基于用户特征的微博数据帮助客户进行聚类分析。首先对聚类分析作系统介绍。其次对聚类算法进行文献回顾,对其概况、基本思想、算法进行详细介绍,再是通过一个仿真实验具体来强化......