빅데이터분석기사 실기 인코딩
3
작성한 질문수 2
레이블 인코딩이 어려워서 nunique 사용해서 갯수 많은 컬럼만 삭제하고 일괄적으로 원핫 인코딩으로 통일하고 싶은데, 혹시 원핫 인코딩 안되는경우가 있다면 되게끔 만드는 기준이나 방법 알려주실 수 있을까요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 한영빈님.
원핫 인코딩은 범주 수가 많을수록 컬럼이 크게 늘어나 메모리 사용량과 학습 시간이 증가할 수 있습니다. 따라서 nunique()가 많은 컬럼을 무조건 삭제하기보다는, 컬럼별로 범주 수를 확인해 적은 범주는 원핫 인코딩하고 범주 수가 많은 컬럼은 레이블 인코딩하거나 제외하는 방식이 일반적입니다.
강사님 답변 기준으로는 카테고리가 10개 이하이면 원핫 인코딩을 고려하고, 10개를 초과하면 레이블 인코딩하는 방법을 사용할 수 있습니다. 다만 빅데이터분석기사 실기에서는 데이터 규모가 크지 않기 때문에 전체 범주형 변수를 레이블 인코딩하는 방법도 가능합니다.
원핫 인코딩을 사용할 때 오류가 발생하는 대표적인 경우는 다음과 같습니다.
- 범주 수가 많아져 컬럼 수와 실행 시간이 지나치게 증가하는 경우
- 학습 데이터와 테스트 데이터의 원핫 인코딩 컬럼 구성이 달라지는 경우
- 테스트 데이터에 학습 데이터에는 없던 새로운 범주가 등장하는 경우
- 결측치가 처리되지 않은 상태에서 인코딩하는 경우
sklearn의 OneHotEncoder를 사용한다면 다음과 같이 테스트 데이터에 새로운 범주가 있어도 오류가 나지 않도록 설정할 수 있습니다.
from sklearn.preprocessing import OneHotEncoder
encoder = OneHotEncoder(handle_unknown='ignore', sparse_output=False)
train_encoded = encoder.fit_transform(X_train[categorical_cols])
test_encoded = encoder.transform(X_test[categorical_cols])
다만 원핫 인코딩 후 컬럼 수가 지나치게 늘어나 랜덤포레스트 등의 학습이 오래 걸린다면, 해당 컬럼만 레이블 인코딩하거나 범주 수가 많은 컬럼을 제외하는 방법을 고려하는 것이 좋습니다.
참고할 만한 유사 질문입니다.
작업형2 모의문제 2번 질문이 있습니다.
원핫 인코딩으로 인해 컬럼 수와 실행 시간이 크게 증가한 사례와, 범주 수가 많은 경우 레이블 인코딩을 사용하는 방법을 설명하고 있습니다.원핫 인코딩 , 라벨인코딩 선택의 기준
시험 환경에서 원핫 인코딩과 레이블 인코딩을 선택하는 기준에 대한 강사님의 답변을 확인할 수 있습니다.빅데이터 분석기사 (2회): 기출유형-작업형2 질문
범주 수가 적을 때는 원핫 인코딩을 고려하고, 범주 수가 많을 때는 레이블 인코딩을 사용하는 기준이 정리되어 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
수강기간 연장문의
0
22
1
수강 기간 연장 문의 드립니다.. 부탁드립니다 ㅠㅠ
0
17
1
작업형2와 3의 목적
0
21
0
기출9회(작업형 1의 2번문제)
0
21
1
수강 기간 연장 문의 드립니다.
0
32
1
수강 연장 문의드립니다
0
56
2
수강 연장 문의드립니다.
0
44
2
재결제 가능할까요...
0
54
1
비전공자 빅분기 실기 공부방법
1
55
2
강의일시정지 요청합니다
0
55
2
강의 연장 가능할까요 ㅠㅠ
0
55
2
수강 연장 문의드립니다.
0
55
2
수강기간 연장 가능 여부 문의드립니다.
0
81
1
수강 기간 연장 가능 여부 문의드립니다
0
80
2
강의 업데이트
0
76
2
수강 연장 문의드립니다.
0
99
2
강의 연장 문의
0
72
2
수강 신청 연장 문의드립니다.
0
84
2
작업형 1번문제... 환경관련
0
62
2
12회 기출은 언제 업데이트 될까요??
1
85
2
8/6 작성한 연장문의 질문글에 대한 재요청
0
66
2
수강기간 연장 문의
0
74
2
수강기간 연장문의
0
63
2
수강기간 연장 요청 문의드립니다
0
70
2





