如何使用sklearn计算具有二进制相关性的NDCG?

问题描述

我正在尝试计算二进制相关性的NDCG分数:

from sklearn.metrics import ndcg_score
y_true = [0,1,0]
y_pred = [0,0]
ndcg_score(y_true,y_pred)

并得到:

ValueError: Only ('multilabel-indicator','continuous-multIoUtput','multiclass-multIoUtput') formats are supported. Got binary instead

有没有办法使这项工作成功?

解决方法

请尝试:

from sklearn.metrics import ndcg_score
y_true = [[0,1,0]]
y_pred = [[0,0]]
ndcg_score(y_true,y_pred)
1.0

请注意docs中的预期形状:

y_true:ndarray,形状(n_samples,n_labels)
y_score:ndarray,形状(n_samples,n_labels)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...