더북(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)

 

 


  9 역주 LabelEncoder 객체의 classes_ 속성에 각 클래스의 레이블이 저장되어 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.