使⽤Python进⾏层次聚类(⼆)——scipy中层次聚类的⾃定义距离度量问题今天,总结⼀下如何使⽤层次聚类算法⾥⾯的⾃定义距离度量
层次聚类已经总结过。
这次仅仅说明层次聚类的距离参数,这⾥的距离参数可以使⽤⾃定义函数。作文亲情
ellen怎么读
我们进⼊该函数的我们看到linkage的说明⽂档上⾯的函数scipy.cluster.hierarchy.linkage(y, method='single',
metric='euclidean',optimal_ordering=Fal),传⼊第⼀个参数是需要进⾏层次聚类的数据,这⾥即可⽤使⽤开始读取的数据变量df,第⼆个参数代表层次聚类选⽤的⽅法,第三个参数代表距离计算的⽅法。
上次详细介绍了前两个参数,这次我们主要关注第三个参数,我们注意⼀下第三个参数的解释如下:
metric : str or function, optional
The distance metric to u in the ca that y is a collection of obrvation vectors; ignored otherwi.
See the pdist function for a list of valid distance metrics. A custom distance function can also be ud.迎宾员
指标:str或function,可选。
柴鸡图片在y为观测向量集合的情况下使⽤的距离度规;否则忽略。
查看有效距离度量列表的pdist函数。还可以使⽤⾃定义距离函数。写美的作文>用人不疑
直接传递字符串就不说了,因为⽆⾮就是那⼏种范数度量等⽅法,关键是这个函数可以⾃⼰定义距离。这就为我们进⾏层次聚类提供了很好的⼀个接⼝,因为在特定任务下,scipy函数⾥⾯给出的距离不⼀定能够满⾜我们⾃⼰的实际需求。为了能够⾃定义距离度量,我进⾏了⼀些测试,最后得出⾃定义距离度量函数需要注意以下⼏个⽅⾯:
函数传⼊两个参数:⽐如,⾃定义函数为:def lfDisFuc(a,b):
传⼊参数类型是<class 'numpy.ndarray'>
传⼊参数的维度必须⼀样
返回值必须是⼀个代表距离的数
我这处理⾃定义函数时,因为处理的数据维度不⼀样,最后只好找到最⼤维度的数据,然后将不⼀样的所有
数据后⾯补上-1(我的数据中不会出现的⼀个数),然后再处理。
说明文作文400字安照上⾯的三个规则,就能写出⾃⼰需要的距离衡量函数了。
下⼀篇:
>一个陪伴