我正在使用多类分类器,因此为了在测试后对其进行评估,我需要将分类器 (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 个类(class)。
但是为了构建 ROC 曲线(如这里: http://scikit-learn.org/stable/auto_examples/plot_roc.html ),我猜我需要将 y_test
和 y_pred
放在二维矩阵中具有以下形状的二进制值:
测试用例数 x 类数
。
其中每一列代表一个类,1 表示分类器在给定的测试样本行上识别出该类。
因此,鉴于我显示的上述几个值,我知道我需要 y_test 看起来像这样:
y_test = [ 1 0 ...
1 0
1 0
0 1
1 0
0 1
0 0
0 0
...
这就是我的理解......我希望我是对的!
是否有任何numpy
函数可以从一维数组创建这样的矩阵?
最佳答案
看看 label_binarize
链接中的示例代码中引用的函数。
关于python - 在Python中将一维数组转换为基于类的二维矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25125893/