如何使用sklearn.inspection.permutation_importance进行聚类算法

import numpy as np
from sklearn.datasets import make_classification
from sklearn.cluster import KMeans

X,y = make_classification(n_samples=1000,n_features=4,n_informative=3,n_redundant=0,n_repeated=0,n_classes=2,random_state=0,shuffle=False)

km = KMeans(n_clusters=3).fit(X)

result = permutation_importance(km,X,y,scoring='homogeneity_score',n_repeats=10,n_jobs=-1)
result

在真正的问题中,我没有y(真标签),我尝试做y=None使其成为无监督的学习。但这行不通。我得到了:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-72-81045ae9cb66> in <module>()
----> 1 result = permutation_importance(km,y=None,n_jobs=-1)

5 frames
/usr/local/lib/python3.6/dist-packages/sklearn/metrics/cluster/_supervised.py in check_clusterings(labels_true,labels_pred)
     53     if labels_true.ndim != 1:
     54         raise ValueError(
---> 55             "labels_true must be 1D: shape is %r" % (labels_true.shape,))
     56     if labels_pred.ndim != 1:
     57         raise ValueError(

ValueError: labels_true must be 1D: shape is ()

有人知道如何在没有真实标签的情况下实现吗?

lms886 回答:如何使用sklearn.inspection.permutation_importance进行聚类算法

首先,证明k均值对于特征的排列是不变的...是很简单的……因为总和是置换不变的。

如果您仍想进行实验,请尝试使用0数组作为y?

本文链接:https://www.f2er.com/2960272.html

大家都在问