《Python数学建模算法与应用课件》11第11章 聚类分析与判别分析.pptx

《Python数学建模算法与应用课件》11第11章 聚类分析与判别分析.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共132页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

;;;11.1.1数据变换;1.中心化处理;2.规格化变换;3.标准化变换;11.1.2样本(或指标)间亲疏程度的测度计算;1.常用距离的计算;2.相似系数的计算;11.1.3scipy.cluster.hierarchy模块的系统聚类;1.linkage;2.fcluster;3.H=dendrogram(Z,p)

;11.1.4基于类间距离的系统聚类;1.最短距离法;#程序文件ex11_1_1.py

importscipy.cluster.hierarchyassch

importnumpyasnp

importpylabasplt

?

plt.rc(text,usetex=True);plt.rc(font,size=16)

a=np.array([[2,3,3.5,7,9]]).T

c=sch.linkage(a)

s=[$\\omega_+str(i+1)+$foriinrange(5)]

sch.dendrogram(c,labels=s);plt.show()

;使用距离聚类的Python程序如下:

#程序文件ex11_1_2.py

importscipy.cluster.hierarchyassch

importpylabasplt

?

plt.rc(text,usetex=True);plt.rc(font,size=16)

a=[2,3,3.5,7,9];n=len(a)

d=[abs(a[i]-a[j])foriinrange(n-1)forjinrange(i+1,n)]

c=sch.linkage(d)

s=[$\\omega_+str(i+1)+$foriinrange(n)]

sch.dendrogram(c,labels=s);plt.show();#程序文件ex11_2.py

importnumpyasnp

importscipy.cluster.hierarchyassch

importpylabasplt

?

plt.rc(text,usetex=True);plt.rc(font,size=16)

a=np.loadtxt(data11_2.txt);n=a.shape[0]

b=(a-a.min(axis=0))/(a.max(axis=0)-a.min(axis=0))

z=sch.linkage(b)

s=[$\\omega_+str(i+1)+$foriinrange(n)]

sch.dendrogram(z,labels=s);plt.show();2.最长距离法;#程序文件ex11_3.py

importnumpyasnp

importscipy.cluster.hierarchyassch

importpylabasplt

?

plt.rc(text,usetex=True)

a=np.array([[2,3,3.5,7,9]]).T;n=len(a)

c=sch.linkage(a,complete,mahalanobis)

s=[$\\omega_+str(i+1)+$foriinrange(n)]

sch.dendrogram(c,labels=s);plt.show()

n0=eval(input(请输入聚类的类数n0:\n))

cluster=sch.fcluster(c,t=n0,criterion=maxclust)

print(聚类的结果为:,cluster);3.其他系统聚类方法;11.1.5动态聚类法;#程序文件ex11_4.py

importnumpyasnp

fromsklearn.clusterimportKMeans

?

a=np.array([[1,3],[1.5,3.2],[1.3,2.8],[3,1]])

md=KMeans(2).fit(a)#构建2聚类模型并求解

labels=md.labels_#提取聚类标签

centers=md.cluster_centers_#每一行是一个聚类中心

print(labels,\n-----------\n,centers);#程序文??ex11_5.py

importnumpyasnp

fromsklearn.clusterimportKMeans

?

a=np.array([[2,3,3.5,7,9]]).T

md=KMeans(2).fit(a)#构造并求解模型

labels=md.labels_

您可能关注的文档

文档评论(0)

gcmguochunming + 关注
实名认证
内容提供者

高级工程师持证人

小小的人

领域认证该用户于2025年07月19日上传了高级工程师

1亿VIP精品文档

相关文档