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

Fra*_*olo 3 python ranking scikit-learn

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

from sklearn.metrics import ndcg_score
y_true = [0, 1, 0]
y_pred = [0, 1, 0]
ndcg_score(y_true, y_pred)
Run Code Online (Sandbox Code Playgroud)

并得到:

ValueError: Only ('multilabel-indicator', 'continuous-multioutput',  
'multiclass-multioutput') formats are supported. Got binary instead
Run Code Online (Sandbox Code Playgroud)

有没有办法使这项工作?

Ser*_*nov 5

请尝试:

from sklearn.metrics import ndcg_score
y_true = [[0, 1, 0]]
y_pred = [[0, 1, 0]]
ndcg_score(y_true, y_pred)
1.0
Run Code Online (Sandbox Code Playgroud)

请注意文档中的预期形状:

y_true: ndarray, shape (n_samples, n_labels)
y_score: ndarray, shape (n_samples, n_labels)