eth*_*day 4 matlab vector matrix linear-algebra octave
我正在为多类分类器(m个数据点,k个类)构建输入.在我的输入中,我将训练数据的标签作为向量y中的整数(即y是m维,y中的每个条目是1和k之间的整数).
我想将其转换为m x k矩阵.每行在索引处对应于该数据点的标签处为1,否则为0(例如,如果数据点具有标签3,则该行看起来像[0 0 1 0 0 0 0 ...]).
我可以通过构造一个矢量a = [1 2 3 4 ... k]然后计算来做到这一点
M_ = y*(1./b)
M = M_ .== 1
Run Code Online (Sandbox Code Playgroud)
(./元素划分在哪里,.==元素逻辑等于).这通过将中间矩阵中的所有内容设置为不完全为1到0来实现我想要的.
但这个解决方案似乎很愚蠢.有没有更直接的方式让我失踪?