第6章 聚类分析概念与方法_第1页
第6章 聚类分析概念与方法_第2页
第6章 聚类分析概念与方法_第3页
第6章 聚类分析概念与方法_第4页
第6章 聚类分析概念与方法_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据挖掘基础与案例习题参考答案第6章聚类分析概念与方法习题1:簇:簇是数据集中具有相似特征的数据对象的集合,同一簇内的数据对象相似度较高,不同簇之间的数据对象相似度较低。它是聚类分析的结果,是对数据按内在相似性进行分组后形成的一个个数据群体。聚类分析:聚类分析是一种无监督学习方法,在没有先验类别信息的情况下,根据数据对象之间的相似性(或相异性),将数据自动划分为若干个不同的簇,使得簇内数据的相似度尽可能大,簇间数据的相似度尽可能小。主要应用如下:(1)客户细分:企业可根据客户的消费金额、购买频率、消费偏好等数据,通过聚类分析将客户划分为不同群体(如高价值客户、中等价值客户、低价值客户),针对不同客户群体制定差异化的营销策略。(2)图像分割:在图像处理领域,聚类分析依据图像像素的颜色、灰度、纹理等特征,将图像分割成不同区域,每个区域对应图像中的特定物体或部分,为图像识别、目标跟踪等后续处理提供基础。(3)生物分类:根据生物的基因序列、形态特征、生理特性等数据,利用聚类分析对生物进行分类,帮助研究人员了解生物亲缘关系、进化历程,以及发现新物种类别。习题2:聚类方法主要特点示例划分方法预先指定簇的数量k;随机或选择特定数据点作为初始质心;通过迭代将数据对象分配到距离最近的簇,并更新簇的质心;满足停止条件(如质心不变、迭代次数达标)时停止,得到聚类结果k-均值(k-means)算法:确定簇数k,选k个初始质心,计算数据点到各质心距离并归入最近簇,重新计算簇质心,重复过程直至质心稳定。层次方法不需要预先指定簇的数量;按相似性准则逐步合并(凝聚式)或分割(分裂式)数据,形成层次化聚类结构;凝聚式:从单个数据对象开始,逐步合并相似簇;分裂式:从单个大簇开始,逐步分裂为小簇AGNES(凝聚层次聚类算法):初始每个数据为独立簇,计算所有簇相似度,合并最相似的两个簇,重复至所有数据合并为一个簇(或达停止条件),形成层次结果基于密度的方法以数据密度为核心,簇是密度较高的区域,被低密度区域分隔;不需要预先指定簇的数量;能发现任意形状的簇,对噪声数据不敏感;通过“核心对象”“密度可达”等概念确定簇范围DBSCAN(基于密度的空间聚类应用噪声算法):设定半径ε和最小点数MinPts,找出核心对象,将核心对象及其ε邻域内满足MinPts的对象组成初始簇,合并密度可达的簇,标记噪声点习题3:已知:X(1)第一轮执行后的3个簇的质心明确数据与初始质心各数据点坐标:x₁(2,10),x₂(2,5),x₃(8,4),x₄(5,8),x₅(7,5),x₆(6,4),x₇(1,2),x₈(4,9)初始质心:c₁=x₁(2,10),c₂=x₄(5,8),c₃=x₇(1,2)计算距离并分配簇x₁:到c₁距离为0,到c₂距离为13,到c₃距离为65→簇1x₂:到c₁距离为25,到c₂距离为18,到c₃距离为10→簇3x₃:到c₁距离为72,到c₂距离为25,到c₃距离为53→簇2x₄:到c₁距离为13,到c₂距离为0,到c₃距离为52→簇2x₅:到c₁距离为50,到c₂距离为13,到c₃距离为45→簇2x₆:到c₁距离为52,到c₂距离为17,到c₃距离为29→簇2x₇:到c₁距离为65,到c₂距离为52,到c₃距离为0→簇3x₈:到c₁距离为5,到c₂距离为2,到c₃距离为58→簇2第一轮簇分配结果:簇1:{x₁};簇2:{x₃,x₄,x₅,x₈};簇3:{x₂,x₇}计算第一轮后新质心簇1质心:c₁'=(2,10)(仅1个点,质心为自身)簇2质心:c₂'=((8+5+7+4)/4,(4+8+5+9)/4)=(6,6.5)簇3质心:c₃'=((2+1)/2,(5+2)/2)=(1.5,3.5)(2)迭代结束后的3个簇和质心第二轮迭代新质心:c₁'(2,10)、c₂'(6,6.5)、c₃'(1.5,3.5),重新计算距离并分配簇:簇1:{x₁,x₈};簇2:{x₃,x₄,x₅,x₆};簇3:{x₂,x₇}新质心:c₁''=(3,9.5),c₂''=(6.5,5.25),c₃''=(1.5,3.5)(簇3质心不变)第三轮迭代计算各数据点到新质心的距离,簇分配结果与第二轮一致,质心不再变化,迭代停止。迭代结束,结果如下:3个簇:簇1:{x₁,x₈};簇2:{x₃,x₄,x₅,x₆};簇3:{x₂,x₇}3个质心:c₁=(3,9.5),c₂=(6.5,5.25),c₃=(1.5,3.5)习题4:主要原理:DBSCAN算法基于密度思想,将簇定义为“由密度可达关系连接的最大密度相连对象集合”,同时识别噪声点。核心概念包括:ε(epsilon):定义邻域范围的半径参数。MinPts(MinimumPoints):以数据对象为中心、半径ε的邻域内最少包含的数据对象数量(含自身)。核心对象:ε邻域内数据点数量≥MinPts的数据对象。直接密度可达:若p是核心对象,且q在p的ε邻域内,则q从p直接密度可达。密度可达:存在序列p₁=p,p₂,…,pₙ=q,每个pᵢ₊₁从pᵢ直接密度可达,则q从p密度可达。密度相连:存在对象o,p和q均从o密度可达,则p和q密度相连。主要过程参数初始化:设定合适的ε和MinPts参数。遍历数据点:从数据集任选一个未访问的数据点p。判断核心对象:计算p的ε邻域内数据点数量。若≥MinPts,p为核心对象,进入步骤4;否则标记p为噪声点,返回步骤2。形成初始簇:将p的ε邻域内所有数据点组成初始簇,标记这些数据点为已访问。扩展簇:对初始簇中未处理的核心对象q,计算其ε邻域内的数据点。未访问的标记为已访问并加入簇;噪声点也加入簇。重复至簇中无未处理核心对象,簇扩展完成。重复过程:返回步骤2,选择下一个未访问数据点,直至所有数据点被访问,得到最终聚类结果(含簇和噪声点)。习题5:已知:S=单链层次聚类步骤(相似度越大,数据点越相似):步骤操作当前簇集合最大相似度(合并依据)合并的簇1初始,每个数据点为一个簇{1},{2},{3},{4},{5}0.98(S[2,5]){2}和{5}合并为{2,5}2计算新簇与其他簇的相似度(单链:取两簇间最大相似度){1},{2,5},{3},{4}0.85(S[3,5],{2,5}与{3}的相似度取0.64、0.85中的最大值){2,5}和{3}合并为{2,5,3}3计算新簇与其他簇的相似度{1},{2,5,3},{4}0.76(S[4,5],{2,5,3}与{4}的相似度取0.47、0.44、0.76中的最大值){2,5,3}和{4}合并为{2,5,3,4}4计算新簇与剩余簇的相似度{1},{2,5,3,4}0.55(S[1,4],{1}与{2,5,3,4}的相似度取0.10、0.41、0.55、0.35中的最大值){1}和{2,5,3,4}合并为{1,2,5,3,4}代码:importnumpyasnpfromscipy.cluster.hierarchyimportlinkage,dendrogramimportmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']=['SimHei','DejaVuSans']

#支持中文和英文plt.rcParams['axes.unicode_minus']=False

#解决负号显示异常问题#定义相似度矩阵(题目中给出的5x5矩阵)similarity_matrix=np.array([

[1.00,0.10,0.41,0.55,0.35],

[0.10,1.00,0.64,0.47,0.98],

[0.41,0.64,1.00,0.44,0.85],

[0.55,0.47,0.44,1.00,0.76],

[0.35,0.98,0.85,0.76,1.00]])#层次聚类需要距离矩阵(将相似度转换为距离:距离=1-相似度)distance_matrix=1-similarity_matrix#提取上三角矩阵(排除对角线),scipy的linkage函数需要这种格式#注意:pdist返回的是扁平化的上三角距离矩阵fromscipy.spatial.distanceimportsquareformdistances=squareform(distance_matrix)#执行单链层次聚类(method='single'表示单链)Z=linkage(distances,method='single')#绘制树状图plt.figure(figsize=(10,6))dendrogram(

Z,

labels=[1,2,3,4,5],

#数据点标签

orientation='top',

#树状图方向

distance_sort='descending',

#按距离降序排列

show_leaf_counts=True,

#显示叶子数量

leaf_font_size=12,

#叶子标签字体大小

color_threshold=0.0,

#不根据距离着色

above_threshold_color='black'

#连接线颜色)#添加标题和调整布局plt.title('单链层次聚类树状图',fontsize=15)plt.xlabel('数据点',fontsize=12)plt.ylabel('距离(1-相似度)',fontsize=12)plt.tight_layout()plt.show()#打印聚类合并步骤(Z矩阵)print("聚类合并步骤(Z矩阵):")print("每一行格式:[簇1,簇2,距离,簇中样本数]")print(Z)习题6:聚类评估指标分为内部评估指标(仅用数据集自身信息)和外部评估指标(需外部真实类别标签)。(1)内部评估指标1)轮廓系数(SilhouetteCoefficient):对每个数据点i,计算簇内平均距离aᵢ(越小越好)和与其他簇的最小平均距离bᵢ(越大越好),数据点i的轮廓系数sᵢ=(bᵢ-aᵢ)/max(aᵢ,bᵢ)。所有数据点的平均值为整体轮廓系数,取值[-1,1],越接近1聚类效果越好。2)Davies-Bouldin指数(DBI):计算簇内离散度Sᵢ(如簇内点到质心的平均距离)和簇间分离度Mᵢⱼ(如两簇质心距离),定义簇i和j的相似度Rᵢⱼ=(Sᵢ+Sⱼ)/Mᵢⱼ。对簇i,取Rᵢ=maxj≠iRᵢⱼ,DBI为所有Rᵢ的平均值,值越小聚类效果越好。3)Calinski-Harabasz指数(CH):计算簇间离均差平方和BSS和簇内离均差平方和WSS,CH=(BSS/(k-1))/(WSS/(n-k))(k为簇数,n为数据点数)。CH越大,簇间差异越大、簇内差异越小,聚类效果越好。(2)外部评估指标1)兰德指数(RI):统计数据点对中:均属同一类(TP)、均属不同类(TN)、真实同类但聚类不同(FN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论