我使用的是多类分类器,因此为了在测试后对其进行评估,我需要将分类器(y_pred
)的预测与真实的类值(y_test
)进行比较。
但是我把它们都当作一维数组,就像这样:
y_test = [1, 1, 1, 2, 1, 4, 5, 3, ... etc ]
y_pred = [1, 1, 1, 2, 3, 2, 5, 0, ... etc ]
我总共有46节课。
但是,为了构建ROC曲线(如此处的http://scikit-learn.org/stable/auto_examples/plot_roc.html),我想我需要将
y_test
和y_pred
置于具有二进制值且具有以下形状的2D矩阵中:number_of_test_cases x number_of_classes
。其中每一列代表一个类别,而1代表分类器在给定测试样本行上识别出该类别的事实。
因此,鉴于我显示的上述几个值,我知道我需要y_test才能看起来像这样:
y_test = [ 1 0 ...
1 0
1 0
0 1
1 0
0 1
0 0
0 0
...
这就是我的理解...我希望我是对的!
是否有任何
numpy
函数从一维数组创建这样的矩阵? 最佳答案
看一下链接中的示例代码中引用的label_binarize
函数。