使用带参数affinity ='precomputed'的类sklearn.cluster.SpectralClustering

 沉沦 发布于 2023-02-11 13:32

我无法理解的具体使用情况sklearn.cluster.SpectralClustering作为官方文档中列出类在这里.假设我想使用自己的亲和矩阵来执行聚类.我首先实例化一个类的对象,SpectralClustering如下所示:

from sklearn.clustering import SpectralClustering

cl = SpectralClustering(n_clusters=5,affinity='precomputed')

上述affinity参数的文档如下:

affinity:string,array-like或callable,默认为'rbf'

如果是字符串,则可以是"nearest_neighbors","precomputed","rbf"或sklearn.metrics.pairwise_kernels支持的某个内核之一.只应使用产生相似性得分的内核(非相似性增加的负值).群集算法不会检查此属性.

现在该对象cl有一个方法fit,其唯一参数的文档X如下:

X:类似数组或稀疏矩阵,形状(n_samples,n_features)

OR,如果affinity ==,则为precomputed预先计算的形状亲和度矩阵(n_samples,n_samples)

这是令人困惑的地方.我正在使用我自己的亲和度矩阵,其中度量为0表示两个点相同,数字越大意味着两个点更不相似.然而,参数的其他选择affinity实际上采用数据集并产生相似性矩阵,其中较高的值表示更多的相似性,而较低的值表示不相似性(例如径向基础核).

因此,当fit在我的实例上使用该方法时,我SpectralClustering是否真的需要将亲和度矩阵转换为相似性矩阵,然后将其fit作为参数传递给方法调用X?相同的文档页面记录了将距离转换为行为良好的相似性,但未明确指出应该执行此步骤的位置,以及通过哪种方法调用.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有