ValueError:分类_Report的未知标签类型



我正在尝试使用Sklean软件包的分类模块评估多类分类的模型。

y_pred的尺寸:(1000,36(y_test的尺寸:(1000,36(

我尝试在两个阵列上调用分类_report,即y_test和y_pred

def display_results(y_test,y_pred,column_name=labels):
    print(classification_report(y_test,y_pred,target_names=labels))

使用此代码我得到:

ValueError: Unknown label type: (array([[1, 0, 0, ..., 0, 0, 0],
       [1, 0, 0, ..., 0, 0, 0],
       [1, 0, 0, ..., 1, 1, 0],
       ...,
       [1, 0, 0, ..., 0, 0, 0],
       [0, 0, 0, ..., 0, 0, 0],
       [1, 0, 0, ..., 0, 0, 0]]), array([[1, 0, 0, ..., 0, 0, 0],
       [1, 0, 0, ..., 0, 0, 0],
       [1, 0, 0, ..., 0, 0, 0],
       ...,
       [1, 0, 0, ..., 0, 0, 0],
       [0, 0, 0, ..., 0, 0, 0],
       [1, 0, 0, ..., 0, 0, 0]]))

我期望根据传递给该功能的标签获得所有列的精确度,召回F1和总平均指标。

对于您的错误,您需要np.hstack

在从分类器中获得多类 - 属性的地方

from sklearn.utils.multiclass import type_of_target
type_of_target(y_test)
type_of_target(y_pred)
>>'multiclass-multioutput'

所以,您的解决方案是

print(classification_report(np.hstack(y_test),np.hstack(y_pred)))

相关内容

  • 没有找到相关文章

最新更新