- Вы можете сделать это с помощью
tensorflow.one_hot
, с 3 классами и глубиной 2:
import tensorflow as tf
tf.one_hot([1, 2, 0, 1, 2, 0], depth=2)
<tf.Tensor: shape=(6, 2), dtype=float32, numpy=
array([[0., 1.],
[0., 0.],
[1., 0.],
[0., 1.],
[0., 0.],
[1., 0.]], dtype=float32)>
или
sklearn.preprocessing.OneHotEncoder
с
drop='first'
:
from sklearn.preprocessing import OneHotEncoder
ohe = OneHotEncoder(drop='first')
ohe.fit_transform([[1], [2], [0], [1], [2], [0]]).toarray()
array([[1., 0.],
[0., 1.],
[0., 0.],
[1., 0.],
[0., 1.],
[0., 0.]])