위의 0부터 9까지의 클래스로 분류된 numpy array를 One-Hot encoding으로 변환하려고 한다.
numpy 라이브러리에는 없지만, 머신러닝 과정에서 유용한 numpy array를 다루는 기능들을
keras.utils 라이브러리에서 제공한다.
tf.keras.utils.to_categorical
- 레이블 인코딩 된 배열 y를 원핫인코딩으로 변환
- num_classes: 총 클래스 수. 입력하지 않았을 때, default 값은 max(y) + 1
import tensorflow as tf
# 0부터 9까지의 클래스로 분류된 ndarray
y_train
>>> array([5, 0, 4, ..., 5, 6, 8], dtype=uint8)
# 원핫인코딩으로 변환
y_train = tf.keras.utils.to_categorical(y_train, num_classes=10)
y_train
>>>
array([[0., 0., 0., ..., 0., 0., 0.],
[1., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 0., 0.],
...,
[0., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 1., 0.]], dtype=float32)
y_train[0]
>>> array([0., 0., 0., 0., 0., 1., 0., 0., 0., 0.], dtype=float32)
'Machine Learning > Deep Learning' 카테고리의 다른 글
Tensorflow - CNN 모델 예제 (0) | 2022.12.31 |
---|---|
Convolution Neural Network(CNN, 합성곱 신경망) 개념 (0) | 2022.12.31 |
Tensorflow - model을 파일로 저장하고 불러오는 방법 (0) | 2022.12.30 |
Tensorflow - 이미지를 1차원으로 만드는 방법(Flatten) (0) | 2022.12.30 |
Tensorflow - Callback 클래스를 이용해서, 원하는 조건이 되면 학습을 멈추기 (0) | 2022.12.29 |