Ошибка типа с помощью функции sklearn's precision_score - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь запустить precision_score из sklearn.metrics в Python.Мои истинные и предсказанные значения y представлены в формате разреженной матрицы -

import scipy.sparse as sp
from sklearn.metrics import accuracy_score
y_true = sp.csr_matrix(y.values) # where y is a multi-label dataframe
y_pred = model.predict(X) # X is same format as y_true    
accuracy_score(y_true, y_pred)

Я получаю следующую ошибку:

TypeError: len() of unsized object

Я проверил документацию идолжен иметь возможность принимать разреженные матрицы.

Просто для ясности, когда я пытаюсь просмотреть содержимое, я получаю следующее для обоих:

[In]  y_true
[Out] <9646x1248 sparse matrix of type '<class 'numpy.int64'>'
                 with 36700 stored elements in Compressed Sparse Row format>
[In]  y_pred
[Out] <9646x1248 sparse matrix of type '<class 'numpy.int64'>'
                 with 373603 stored elements in Compressed Sparse Row format>

Почему я получаю эту ошибку и как я могу исправить свой ввод?

1 Ответ

0 голосов
/ 01 июня 2018

Преобразование матриц в регулярные матрицы y_pred = y_pred.A и y_true = y_true.A, затем вычисление accuracy_score(y_true, y_pred)

...