10회 작업형 2 인코딩 질의
작업형 2에서 업로드해주신 자료에서는 원핫인코딩을 진행했는데요.
원핫인코딩을 진행한 사유가 있나요?
저는 시군구명만 레이블인코딩을 사용했는데 , 인코딩 종류를 결정하는 것이 헷갈립니다,
제가 사용한인코딩 코드를 첨부합니다!
from sklearn.preprocessing import LabelEncoder
cols=train.columns[train.dtypes=='O']
for col in cols:
le=LabelEncoder()
train[col]=le.fit_transform(train[col])
test[col]=le.fit(test[col])
이렇게만 했더니, train 만 object ->int로 바뀌고 test는 바뀌지 않아서
랜덤포레스트를 활용할수 없다는 에러가나와 아래를 추가했습니다..!
from sklearn.preprocessing import LabelEncoder
cols=test.columns[test.dtypes=='O']
for col in cols:
le=LabelEncoder()
test[col]=le.fit_transform(test[col])
이렇게 해도 되나요..?? dtypes로 마지막에 점검했을 때는, 둘다 int로 바뀌어 있기는 했습니다.
답변 2
0
le=LabelEncoder()
train[col]=le.fit_transform(train[col])
test[col]=le.fit(test[col])가 아니라
le=LabelEncoder()
train[col]=le.fit_transform(train[col])
test[col]=le.transform(test[col])입니다.
예를 들면,
fit은 사전을 만드는 것이고 transform이 그 사전을 바탕으로 변환하는 것이에요
작성한 코드는 train에는 사전을 만들고 -> 변환 작업을 시켰는데
test에 같은 사전으로 변환 작업을 시켜야 하는데
새로운 사전을 만드셨네요
0
안녕하세요, 인프런 AI 인턴입니다. 지호 이님,
질문 주신 원핫인코딩과 레이블인코딩의 활용에 대한 의문에 대해 설명드리겠습니다.
원핫인코딩과 레이블인코딩 선택의 기준
원핫인코딩은 범주형 변수 값이 순서가 없는 경우 주로 사용됩니다. 각 고유한 범주에 대해 별도의 이진 열을 생성하여 데이터의 차원이 증가하지만, 범주 간의 거리 또는 크기가 중요한 역할을 하지 않는 경우 효과적입니다. 머신러닝 모델에서 특정 범주의 중요성 없이 모든 범주에 고유한 값을 부여할 때 사용됩니다.
레이블인코딩은 범주형 변수 값이 순서가 있을 때 사용됩니다. 범주형 데이터를 정수로 변환하는 방법으로, 각 범주에 대해 고유한 숫자를 할당합니다. 하지만 범주의 숫자 값이 모델에 의해 크거나 작은 것으로 오도될 수 있어 주의해야 합니다.
적용 사례:
시군구명과 같은 경우: 순서보다는 특정 고유 명칭들이 있는 경우라면, 원핫인코딩이 일반적인 선택입니다. 이를 통해 거리나 차원이 모델에 영향을 미치지 않게 됩니다.
범주의 순서가 의미가 있는 경우: 이때는 레이블인코딩이 더 적합할 수 있습니다. 예를 들어, ‘low’, ‘medium’, ‘high’와 같은 순서가 있는 데이터에서 사용하기 좋습니다.
해당 질문과 유사한 다른 사용자분들의 경험을 공유한 게시글 또한 참고해 보시면 도움이 될 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
작업형2 카테고리
0
3
1
110강 회귀_8번 문의
0
8
2
XGBRegressor 학습 시 warning 출력
0
11
2
데이터 프레임을 변경해도 되나요?
0
9
2
10회 기출 작업형3 문제 2-1 질문
0
14
2
작업형 2 질문
0
13
2
작업형 2 템플릿 확인 요청
0
12
2
작업형2 인코딩 질문
0
22
2
작업형 3 벼락치기 공부방법 질문
0
30
2
기출 11회 작업형 2_전체 데이터 학습 여부
0
30
2
예측값 결과 소수점 차이
0
26
2
기출 문제와 실전챌린지 연습문제 무엇부터 푸는게 나은가요?
0
34
1
전처리 train() test([ ])
0
23
2
작업형 1 배경지식 질문
0
31
2
옳게 풀은건지 질문드립니다!
0
21
1
roc_auc_score
0
29
2
추가질문 합니다
0
22
2
시험환경 구름
0
19
2
2유형 질문드려요
0
20
2
RandomForest vs lgb
0
27
2
전처리 관련질문
0
29
3
작업형3 기출
0
19
2
유형2에서 데이터분할 생략 가능여부
0
32
2
9회 기출 유형3 질문
0
21
2





