도배 하자 유형 분류 AI 경진대회

한글 Label encoding 방법

2023.04.15 09:35 1,581 조회

윈도우 환경에서 라벨 인코딩하실때 문제가 생기는 경우가 있는 것 같습니다

저 같은 경우는 sklearn.preprocessing.LabelEncoder 사용하면 운영체제 관계없이 잘 되는 것을 확인했습니다

이렇게 하면 Label encoding 개수 (len(encoder.classes_))로 dense layer num_class를 적용하면 되기 때문에 다른 task에서 Label 수 달라져도 바로바로 적용 가능합니다

일단 분류별로 디렉토리가 따로 있는데 이걸 한 디렉토리에 모으시고 그걸 정리한 데이터프레임(df)를 만드셔야 합니다

이건 코드로 공유하였습니다 (https://dacon.io/competitions/official/236082/codeshare/8159)


Training 시에는 training이나 전체 df 불러와서

encoder = LabelEncoder()

encoder.fit(sorted((df)['label'].unique()))      # training에 반드시 모든 Label이 들어오게 주의. 전체 데이터셋으로 해도 상관없습니다.


Inference 시에는 같은 encoder를 활용하여

pred_list = encoder.inverse_transform(pred_test.cpu().numpy())

sub_df['label'] = pred_list 

sub_df.to_csv(os.path.join(file_path, 'sub_cv.csv'), index = False)  


감사합니다