在python中将一维数组转换为二维基于类的矩阵

在python中将一维数组转换为二维基于类的矩阵,python,arrays,numpy,matrix,scikit-learn,Python,Arrays,Numpy,Matrix,Scikit Learn,我正在使用一个多类分类器,因此为了在测试后对其进行评估,我需要将来自分类器的预测(y\u pred)与真实的类值(y\u 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曲线(如图:),我猜我需要y_测试和y_pred在一个具有二进制值的2D矩阵中,形状如下: 测试案例数量x

我正在使用一个多类分类器,因此为了在测试后对其进行评估,我需要将来自分类器的预测(
y\u pred
)与真实的类值(
y\u 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曲线(如图:),我猜我需要
y_测试
y_pred
在一个具有二进制值的2D矩阵中,形状如下:
测试案例数量x类别数量

其中,每列表示一个类,1表示分类器在给定测试样本行上识别该类的事实

因此,考虑到我显示的上述几个值,我理解我需要y_测试来显示如下内容:

y_test = [ 1 0 ... 
           1 0
           1 0
           0 1 
           1 0   
           0 1
           0 0
           0 0
           ...
这就是我所理解的。。。我希望我是对的


是否有任何
numpy
函数可以从1D数组创建这样的矩阵?

请查看链接中示例代码中引用的函数。

谢谢-这解决了1D到2D矩阵转换的问题。然而,我得到了另一个错误: