Я пытаюсь реплицировать нейронную сеть для набора данных MNIST из курса Н. Г. Эндрюса, и я не могу понять небольшой фрагмент кода, касающийся хранения выходных значений для обучения NN для записи меток как векторов.
x.shape = (5000,400)
y.shape = (5000,)
labels = np.unique(y).shape = 10
eye_mat = np.eye(labels)
y_mat = eye_mat[:,y]
y_mat.shape = (10,5000)
Я не могу понять последнюю строку кода относительно того, что делает y_mat, почему форма y_mat (10,5000) и как предполагается хранить выходные данные в диапазоне от 0 до 9. Я был бы очень признателен, если бы любой может разобрать его простыми словами.