인코더와 디코더를 포함하여 데이터셋에 대한 전처리를 진행합니다.
def encode(le, labels):
enc = le.transform(labels) ------ 각 열에 대한 인코딩을 가져와서 enc에 저장
return keras.utils.to_categorical(enc) ------ enc에 저장된 데이터에 원-핫 인코딩을 적용
def decode(le, one_hot):
dec = np.argmax(one_hot, axis=1) ------ ①
return le.inverse_transform(dec) ------ encode() 함수에서 인코딩된 값을 디코딩(즉, 원래 값을 반환)
test = encode(le, ['ham', 'spam', 'ham', 'ham']) ------ ‘ham’, ‘spam’, ‘ham’, ‘ham’을 label로 받은 후 원-핫 인코딩을 적용
untest = decode(le, test) ------ test의 원래 값(디코딩된 값)을 untest에 저장
x_enc = x
y_enc = encode(le, y) ------ y 값에 인코딩을 적용하여 y_enc에 저장
x_train = np.asarray(x_enc[:5000]) ------ ②
y_train = np.asarray(y_enc[:5000])
x_test = np.asarray(x_enc[5000:])
y_test = np.asarray(y_enc[5000:])