1

我遇到了这样一种情况,即我混合了上述数据集并尝试了无监督聚类。

我正在尝试许多不同的实验,包括高尔距离和 K 原型。我想尝试一些 sklearn 指标,看看它们会给我带来什么价值。

当我查看剪影分数时,有一个参数“度量”,我可以决定我想要计算距离的内容。但由于我的数据类型混合,我想选择曼哈顿的数值和汉明的分类。有没有一种方法可以一次将 silhouette_score 用于两个指标?如果我所有的输入数据都是数字,我会做如下:

silhouette_score(friendRecomennderData, labels, metric = 'manhattan')

先感谢您。

4

2 回答 2

0

您对传递给silhouette_score. 如果您阅读此处提到的文档,它会说明有关输入数据的以下内容,即参数X

X:数组 [n_samples_a, n_samples_a] 如果 metric == “precomputed”,或者, [n_samples_a, n_features] 否则。样本之间的成对距离数组或特征数组。

因此,数据只能是由样本之间的距离组成的数值数组。不可能将距离作为分类值。

您需要首先对数据进行聚类,然后获取距离矩阵并将距离矩阵作为输入提供给silhouette_score.

于 2020-08-24T09:39:29.000 回答
0

您可以使用距离度量,例如处理混合数据类型的 gowers distance,然后在 silhouette_score 函数中使用计算的距离矩阵作为 X 和 metric = 'precomputed'。

于 2021-06-22T14:58:31.047 回答