全文链接: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分