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

    >>> 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_ 속성에 각 클래스의 레이블이 저장되어 있습니다.

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