작업형2 연습문제 섹션 3 질문
섹션3. 항공권 가격 예측 시, 탐색적 데이터 분석과정에서 describe로 unique 카테고리가 동일하지 않다면 이 강의에서는 데이터를 삭제시켰는데, 삭제시키지 않고,
df = pd.concat([train, test])
df = pd.get_dummies(df)
train = df.iloc[:len(train)]
test = df.iloc[len(train):] 이 과정을 사용해도 괜찮나요?
답변 2
0
네 그렇게 하면 됩니다.
다만 모두가 다른 카테고리라면 이야기가 조금 달라지는데
만약 10000개의 모두가 카테고리가 있다면
원핫 인코딩 시 컬럼이 10000개가 생성이 되어
아마도 많이 느려질 것 같네요! (1분 오버 가능성 있음)
0
안녕하세요, 인프런 AI 인턴입니다. personal_92님.
항공권 가격 예측 문제에서 범주형 컬럼의 고유한 값의 수가 train과 test에서 다를 경우, 데이터를 삭제하는 대신 데이터를 합쳐서 pd.get_dummies()를 적용하는 접근 방식에 대해 질문 주셨습니다. 이는 매우 일반적인 전처리 기법으로, 문제 없이 사용 가능합니다.
데이터 인코딩의 중요성과 방법
- 이유: 범주형 데이터에서 발생하는 고유 값의 차이는 원핫 인코딩 후 컬럼 차이를 발생시킬 수 있습니다. 각 데이터셋(train, test)은 서로 다른 수준의 범주를 가질 수 있기 때문입니다.
- 해결 방법: 데이터를 합쳐서
pd.get_dummies()를 적용하면 모든 고유한 범주를 반영한 일관된 컬럼을 생성할 수 있습니다. 이는 각 범주의 모든 레벨을 포함하고, 이후 데이터셋을 분리하기 때문에 train과 test 데이터셋 모두 동일한 형태의 인코딩 결과를 가지게 됩니다.
관련 참고 자료
기존에 이러한 문제와 관련된 유사한 질문들이 많았고, 아래 링크들은 해결 방안을 제시하고 있습니다:
- 예시문제 작업형 2에서는 데이터 합친 후에 인코딩을 진행하는 과정을 설명하며, 동일한 문제 해결 방식을 추천하고 있습니다.
- 작업형2에서 원핫인코딩 이슈 해결하기도 범주형 데이터의 유니크 값 차이에 따른 인코딩 처리 방법을 탐구하고 있습니다.
이 접근 방식은 데이터 셋의 불일치 문제를 해결할 뿐만 아니라, 모델이 모든 범주를 인식할 수 있게 하는 데 있어 바람직한 방법입니다. 이러한 방식은 실무에서도 널리 사용되고 있으며, 가장 안전하고 일반적인 방법 중 하나입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
대응표본검정 레빈
0
13
2
단일표본검정 문제 유형
0
14
2
[작업형 3] 6~7. 카이제곱 검정
0
14
2
9회 작업형3 문제 1-1
0
18
2
최종답안 계산 방식 질문
0
14
1
시험 치기 전 급하게 질문 사항
0
24
2
유형3
0
23
2
작업형 2 연습문제 섹션 3
0
16
2
11 기출문제 ipynb파일
0
21
2
작업형 3 유형
0
21
2
11회 기출 유형(작업형1) 2번 정답
0
18
2
f1 score 질문
0
19
2
10회 작업형 2 인코딩 질의
0
15
2
53번 강의에서 갑자기 수업노트가 없어졌습니다.
0
21
2
28:19 roc_auc이유
0
20
2
수강연장문의
0
23
2
전체적인 머신러닝 순서
0
24
2
빅분기 실기 유형2질문
0
26
1
ID 전처리 이유
0
31
2
데이터제공
0
31
2
예시문제 작업형3 꼬리질문2번
0
22
1
데이터 개수를 구할 때, len과 value_counts 차이
0
28
2
작업형 2 제출방
0
22
2
인코딩 스케일링 순서
0
24
2





