Я закодировал вектор y с помощью OneHotEncoder, запустил свою нейронную сеть и получил вывод.Здесь a
представляет мой вектор y, а b
обозначает результат прогнозирования
a = np.array([[0., 0., 1., 0.],
[0., 0., 1., 0.],
[0., 0., 1., 0.],
[0., 0., 1., 0.],
[0., 0., 1., 0.],
[0., 0., 1., 0.],
[1., 0., 0., 0.],
[1., 0., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 1., 0.]])
b=np.array([[0., 0., 0., 1.],
[1., 0., 0., 0.],
[0., 0., 1., 0.],
[0., 1., 0., 0.],
[1., 0., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 1., 0.],
[1., 0., 0., 0.],
[0., 0., 0., 1.],
[0., 1., 0., 0.]])
print(np.mean(a!=b))
print(np.mean(np.argmax(a,1)!=np.argmax(b,1)))
, но после восстановления кодировки (используя np.argmax(a,1)
) и я получаю вывод:
0.35
0.7
Разве эти значения не должны быть равны?