《机器学习基础及应用》教案第12课聚类(二).docx

上传人:王** 文档编号:1169499 上传时间:2024-04-12 格式:DOCX 页数:12 大小:99.63KB
下载 相关 举报
《机器学习基础及应用》教案第12课聚类(二).docx_第1页
第1页 / 共12页
《机器学习基础及应用》教案第12课聚类(二).docx_第2页
第2页 / 共12页
《机器学习基础及应用》教案第12课聚类(二).docx_第3页
第3页 / 共12页
《机器学习基础及应用》教案第12课聚类(二).docx_第4页
第4页 / 共12页
《机器学习基础及应用》教案第12课聚类(二).docx_第5页
第5页 / 共12页
《机器学习基础及应用》教案第12课聚类(二).docx_第6页
第6页 / 共12页
《机器学习基础及应用》教案第12课聚类(二).docx_第7页
第7页 / 共12页
《机器学习基础及应用》教案第12课聚类(二).docx_第8页
第8页 / 共12页
《机器学习基础及应用》教案第12课聚类(二).docx_第9页
第9页 / 共12页
《机器学习基础及应用》教案第12课聚类(二).docx_第10页
第10页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《《机器学习基础及应用》教案第12课聚类(二).docx》由会员分享,可在线阅读,更多相关《《机器学习基础及应用》教案第12课聚类(二).docx(12页珍藏版)》请在优知文库上搜索。

1、课题聚类(二)课时2课时(90min)教学目标知识技能目标:(1)掌握层次聚类算法的基本原理及凝聚层次聚类算法的SkIearn实现方法(2)掌握DBSCAN聚类算法的基本原理及其Sklearn实现方法(3)能够使用凝聚层次聚类算法和DBSCAN聚类算法训练模型(4)能够编写程序,寻找DBSCAN聚类模型参数的最优值素质目标:强化数据安全意识,提高信息技术应用能力帮助学生树立履行时代使命的责任担当,激起学生报效祖国的理想情怀教学重难点教学重点:层次聚类算法的基本原理及凝聚层次聚类算法的Sklearn实现方法;DBSCAN聚类算法的基本原理及其Sklearn实现方法教学睚点:使用凝聚层次聚类算法和

2、DBSCAN聚类算法训练模型;编写程序,寻找DBSCAN聚类模型参数的最优值教学方法案例分析法、问答法、讨论法、讲授法教学用具电脑、投影仪、多媒体课件、教材教学过程主要教学内容及步骤课前任务【教师】布置课前任务,和学生负责人取得联系,让其提醒同学通过APP或其他学习软件,完成课前任务,扫码观看“常见的聚类算法”视频,了解层次聚类算法和DBSCAN聚类算法的相关知识【学生】完成课前任务考勤【教师】使用APP进行签到【学生】班干部报请假人员及原因问题导入【教师】提出以下问题:什么是层次聚类算法?【鞋】思考、传授新知【教师】通过学生的回答引入要讲的知识,介绍层次聚类算法、DBSCAN聚类算法的相关知

3、识9.3层次聚类算法9.3.1 层次聚类算法的基本原理1.层次聚类算法的原理分析层次聚类算法可分为“自底向上”的凝聚法和自顶向下”的分裂法。目前,常用的层次聚类算法是凝聚法.AGNES(AgglomerativeNESting)算法是一种常用的凝聚法。它的聚类原理是,对于给定的样本数据集,先将数据集中的每个样本看作是一个初始聚类簇,然后计算所有样本两两之间的距离,将距离最近的样本合并成一个簇;接下来重新计算簇与簇之间的距离,将距离最近的簇进行合并,该过程不断重复,直到达到预设的聚类簇数目,算法结束,得到最终的聚类结果。可见,AGNES算法的关键是如何计算簇与簇之间的距离。实际上,每个簇都可以看

4、作是一个样本集合,只须计算样本集合的某种距离即可。若给定聚类簇C和,则可通过下面的公式计算两个簇之间的距离。dm(G,G)=mindist(p,q)最小距离:ZCG4nax(G,Cj)=maxdist(p,g)最大距离:%(GC)=771r,dist(p,q)平均距离:,jip0qwq公式中的dist(Pq)表示样本P与样本q之间的距离.显然,最小距离由两个簇中距离最近的样本决定,最大距离由两个簇中距离最远的样本决定,平均距离由两个簇的所有样本共同决定。当聚类簇距离分别由4血、ma或4”计算时,AGNES算法相应地被称为单链接、全链接或均链接算法。2.层次聚类算法的流程使用层次聚类中AGNES

5、算法进行聚类的具体步骤如下。(1)将数据集中的每个样本看作是一个初始聚类簇。(2)计算所有样本两两之间的距离,将距离最近的样本合并为一个簇.(3)重新计算簇与簇之间的距离,将距离最近的簇进行合并。(4)重复步骤(3),直到达到预设的聚类簇数目。【教师】通过多媒体展示“5个样本数据点之间的距离”4个簇之间的距离“和”3个簇之间的距离”表格,并讲解相关知识【例9-2样本空间中有5个数据点A、B、C、D、E,它们之间的旦疆如表9-3所示。使用AGNES算法对这5个数据点进行聚类(簇与簇之间的距离采用最小距离法进行计算)并画出树形图。表935个样本数据点之间的距离样本点ABCDEAO6237B6O44

6、1C24O55D345O5E7155O【解】使用AGNES算法对5个样本孀点进行聚类的步骤如下。(1)将5个数据点分别看成一个簇,然后计算两两之间的距离。由表9-3可知,最小距离为1,即点B与点E之间的距离最小。因此,将点B和点E合并为一个簇B,EL(2)计算簇B,E与簇A、C、D这4个簇之间的距离。计算簇B,E与簇A之间的距离。由表9-3可知,点B与点A之间的距离为6,点E与点A之间的距离为7,则两个簇之间的距离为6;采用同样的方法计算其他簇之间的距离,计算结果如表94所示。表9-44个簇之间的距离簇B,EACD(B,EJO644A6O23C42O5D435O(3)在表9-4的4个簇中,两两

7、之间的最小距离为2,即簇A与簇C之间的距离最小。因此,将簇A和簇C合并为一个簇A,C(4)计算簇B,E、A,C与D这3个簇之间的距离,计算结果如表9-5所示.表9-53个簇之间的距离簇B,EA,CDB,E044A1C40310)430(5)在表9-5的3个簇中,两两之间的最小距离为3,即簇A,C和簇D之间的距离最小。因此,将簇A,C和簇D合并为一个簇(A,C,D,(6)计算簇(A,C,D与簇B,E之间的距离。经过计算得到两个簇之间的距离为4,将这两个簇合并得到簇A,B,C,D,E)。【教师】通过多媒体展示“树形图”图片(详见教材),并讲解相关知识(7)目前,所有样本已经分层次凝聚成为一个大簇。

8、将步骤(1)步骤(6)的聚类过程用树形图表示出来。【指点迷津】本例题没有指定聚类簇的数目,AGNES算法会一直合并,直到所有样本都聚为同一个簇。如果题目中指定了簇的数目,则可在树形图的特定层上进行分割,得到相应的簇划分结果。例如,指定簇数目为2时,可通过图9-5的虚线分割树形图,得至!A,C,D和B,E两个聚类簇。【拓展阅读】分裂法与凝聚法正好相反,其基本原理是,对于给定的样本数据集,先将数据集中所有样本看成一个大类,然后将大类中最疏远”的小类或个体分离出去;接下来分别将小类中最跪远”的小类或个体再分离出去,该过程不断重复,直到所有个体自成一类或满足某个终止条4牛,算法结束,得到最终的聚类结果

9、。层次聚类算法的计算复杂度较高,聚类速度较慢,且无法实现并行化程序,但在实际应用中,层次聚类算法的优点:样本的相似度容易定义,限制少;层次聚类算法是通过距离的计算,将样本数据依次分层合并(凝聚法)或分裂(分裂法),如果没有预先设定终止条件,则所有样本会聚集成一个簇(凝聚法)或所有样本自成一类(分裂法),故该聚类算法可以不预先设定簇的数目;可以发现各个簇之间的层次关系。9.3.2凝聚层次聚类算法的SkIeam实现Skleam的聚类模块cluster提供了AgglomerativeClustering类,用于实现自底向上(凝聚法)的层次聚类算法。在Sklearn中,可通过下面语句导入自底向上的层次

10、聚类算法模块。fromsklearn.clus(erimportAgglomerativeClusieringAgglomerativeClustering类有如下几个参数。(1)参数n_clusters用于设定簇的数目(簇数目为算法的终止条件)。(2惨数linkage用于指定簇与簇之间距离的计算方法,其取值有single、complete,average和ward:single表示使用最小距离法计算距离;complete表示使用最大距离法计算距离;average表示使用平均距离法计算距离;Ward表示使用最小方差法计算距离。(3)参数affinity用于指定样本之间距离的计算方法,其取值为各

11、种欧式距离与非欧式距离的计算方法.需要注意的是,如果参数linkage的取值为ward,则参数affinity的取值只可选择euclidean(欧式距离)。另外,该参数还可设置为precomputed,即用户可输入计算好的距离矩阵。【例9-3使用凝聚层次聚类算法将表9-6中的样本数据集聚为3类,并画出树形图.表9-6样本数据集序号样本点横坐标样本点纵坐标序号样本点横坐标样本点纵坐标1216332127243228354329445231053【程序分析】使用凝聚层次聚类算法将样本数据集聚为3类,并画树形图的步骤如下。(1)输入样本数据集,并画出数据的散点图。【参考代码】importnumpya

12、snpimportmatplotlib.pyplotaspit#输入样本数据集x=np.array(2,l,l,2,(2,2,3,2,2,3,3,3,2,4,3,5,4,4,5,3)#使用Matploilib绘制样本散点图plt.scatler(x:,0,x:.l,s=30,c-g.marker=o)plLrcParams,fbnt.sans-serif-Simhei1pli.XlabdC样本点横坐标)plt.ylabelC样本点纵坐标)plt.show()程序运行结果如图所示。5.0-4.5 -4.0-3.5-3.0-2.5-2.0-1.5-1.0-1.01.52.02.53.03.54.0

13、4.55.0样本点横坐标【运彳果】(2)使用凝聚层次聚类算法训练模型并绘制聚类效果图。【参考代码】fromsklearn.clusterimportAgglomerativeClusteringmodeI=AgglomerativeClustering(3,linkage-ward)labels=model.fit_predict(x)print(labels)#使用MatPlOUib绘制图像,显示聚类结果colors=b,g,rmarkers=,o,x,s科绘制样本点fori,linenumerate(labels):pl(.plot(x(i0,xil,color=coiorsl,marke

14、r=markersl)plt.rcParamsfont.sans-serif=Simheiplt.xlabelC样本点横坐标,)pit.ylabel(,样本点纵坐标,)plt.show()【运行结果】程序运行结果如图所示。可见,10个样本数据可分为3类,小正方形表示一类数据,x表示一类数据,实心圆表示一类数据。22211110005.0-4.5-4.0-3.5-3.0-2.5-2.0-1.5-1.0-1.01.52.02.53.03.54.04.55.0样本点横坐标【程序说明】HLpredici(X)函数表示用数据X拟合模型并对数据X进行预测。(3)绘制凝聚层次聚类模型的树形图。【参考代码】fromscipy.cluster.hierarchyimportlinkagefromscipy.cluster.hierarchyimportdendrogram性成聚类树Z

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!