더북(TheBook)

다음과 같이 매핑 딕셔너리의 키-값 쌍을 뒤집어서 변환된 클래스 레이블을 다시 원본 문자열로 바꿀 수 있습니다.

>>> 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)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.