다음과 같이 매핑 딕셔너리의 키-값 쌍을 뒤집어서 변환된 클래스 레이블을 다시 원본 문자열로 바꿀 수 있습니다.
>>> inv_class_mapping = {v: k for k, v in class_mapping.items()}
>>> df['classlabel'] = df['classlabel'].map(inv_class_mapping)
>>> df
color size price classlabel
0 green 1 10.1 class2
1 red 2 13.5 class1
2 blue 3 15.3 class2
다른 방법으로 사이킷런에 구현된 LabelEncoder 클래스를 사용하면 편리합니다.
>>> from sklearn.preprocessing import LabelEncoder
>>> class_le = LabelEncoder()
>>> y = class_le.fit_transform(df['classlabel'].values)
>>> y
array([1, 0, 1])
fit_transform 메서드는 fit 메서드와 transform 메서드를 합쳐 놓은 단축 메서드입니다. inverse_transform 메서드를 사용하면 정수 클래스 레이블을 원본 문자열 형태로 되돌릴 수 있습니다.9
>>> class_le.inverse_transform(y)
array(['class2', 'class1', 'class2'], dtype=object)