NameError: 名称 ‘labels_true’ 在 dbscan 中未定义

我正在使用一个模板脚本并尝试输入我的数据。然而,我不确定错误中提到的 ‘labels_true’ 是什么意思,因为错误显示它未定义。

这是我的数据数组:

data=array([[5.71585827e+00, 3.32320000e+04],
       [0.00000000e+00, 0.00000000e+00],
       [0.00000000e+00, 0.00000000e+00],
       ...,
       [9.57746479e-02, 3.40000000e+01],
       [7.01388889e-01, 1.01000000e+02],
       [9.70350404e-02, 3.60000000e+01]])

现在我正在应用这个脚本:

import numpy as np
from sklearn.cluster import DBSCAN
from sklearn import metrics
from sklearn.preprocessing import StandardScaler
# #############################################################################
X=data
X = StandardScaler().fit_transform(X)
# #############################################################################
# 计算 DBSCAN
db = DBSCAN(eps=0.3, min_samples=10).fit(X)
labels = db.labels_
print("Homogeneity: %0.3f" % metrics.homogeneity_score(labels_true, labels))
NameError: name 'labels_true' is not defined

回答:

从 scikit-learn 的 文档 中关于 homogeneity_score 的描述(强调部分已加粗):

给定真实标签的聚类标记的同质性指标。

其中 labels_true

用作参考的真实类别标签

因此,如果你已经有了真实标签,那就是 labels_true 参数,它将与你预测的 labels 进行比较以得出分数。

这里的错误显然是因为你没有在 labels_true 中提供这样的真实标签,并且正如错误所述,该变量未定义。

如果没有真实标签可用,直接的结果就是无法使用该指标。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注