共计 4487 个字符,预计需要花费 12 分钟才能阅读完成。
全文链接: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 分