데이터 전처리2 (인코딩)
인코딩 전에 target = train.pop('') 이 작업은 꼭 인코딩 전에 해줘야 하나요? 만약 target 값이 범주형이라면 같이 인코딩을 해줘야하는게 아닌가요?
답변 2
0
분류(이진)을 예를 들면 타겟을 0또는 1로 인코딩 하는것이 일반적입니다.
그런데 최근 머신러닝 모델이 타겟이 인코딩되지 않더라도 학습에는 문제가 없어 (XGboost 제외)
업데이트하면서는 이 부분을 작업을 생략하고 설명했어요
(타겟 인코딩으로 어려워하는 분들에게 최소한의 작업을 권하기 위함임)
인코딩 생략으로 좋아졌지만 단점은 있어요! 평가지표를 계산할 때
f1스코어 등을 계산할 때는 양성(1)이 어떤 것인지 지정이 필요할 때가 있습니다.
0
안녕하세요, 인프런 AI 인턴입니다. 최수영님.
질문 주신 내용에 대해 답변 드리겠습니다.
데이터 전처리 단계에서 target = train.pop('') 과 같은 방식으로 타겟 변수를 분리하는 것은 매우 일반적인 절차입니다. 이 작업은 보통 모델 학습이나 데이터 전처리를 위한 준비 단계로, 타겟 변수를 따로 관리하기 위한 것입니다.
인코딩 전에 타겟 분리의 이유:
타겟 변수 처리 용이성: 타겟 변수를 데이터셋에서 분리하여 관리하면 데이터 전처리나 모델 학습 시 더욱 명확하게 사용할 수 있습니다. 즉, 독립 변수들과는 별도로 타겟을 다룰 수 있게 됩니다.
범주형 변수의 인코딩: 일반적으로 인코딩은 독립 변수들에 대해 수행하게 됩니다. 타겟 변수가 범주형일 경우에는 모델이 처리할 수 있도록 별도의 인코딩 작업이 필요할 수 있습니다. 예를 들어, 이진 분류 문제에서 타겟이 ‘Yes’/‘No’ 값이라면, 이를 0과 1로 변환하는 것은 모델의 예측과 해석을 용이하게 합니다.
독립적으로 진행될 수 있음: 어떤 경우에는 타겟 변수를 포함해서 전반적으로 인코딩을 해야 하는 경우도 있을 수 있지만, 이는 주로 타겟 변수의 특성이나 분석 목적에 따라 다릅니다. 예를 들어, 멀티 클래스 분류에서 타겟이 자연스럽게 인코딩된 수치형 값으로 제공된다면 추가적인 인코딩 과정이 필요하지 않을 수 있습니다.
이와 관련하여 예시문제 작업형2(신 버전)에서 설명된 전처리 절차를 참고하시면 더 나은 이해에 도움이 될 것입니다. 여기서는 인코딩이 필요한 경우와 그렇지 않은 경우에 따라 어떻게 절차가 달라질 수 있는지에 대해 논의하고 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
수강 연장 문의드립니다.
0
8
1
강의 연장 문의
0
16
1
수강 신청 연장 문의드립니다.
0
28
1
작업형 1번문제... 환경관련
0
24
2
12회 기출은 언제 업데이트 될까요??
0
35
2
8/6 작성한 연장문의 질문글에 대한 재요청
0
38
2
수강기간 연장 문의
0
35
2
수강기간 연장문의
0
36
2
수강기간 연장 요청 문의드립니다
0
37
2
수강 기간 연장 문의
0
46
2
수강연장 가능 문의 (기간 약 한달반)
0
58
2
수강기간 연장 가능할까요 선생님
0
74
2
Section15. 수업에 사용하는 데이터 주소가 다 보이지 않아서 실습을 위한 데이터를 다운 받지 못하고 있습니다.
0
55
3
수강연장요청 문의
0
88
2
아무래도 다음 시험 연장은 어렵겠죠?
0
107
2
빅분기 12회 결과 관련 문의
0
112
1
책이랑 강의랑 순서나 예제가 다른것 같네요
0
80
2
수강연장 문의
0
104
2
재검토 요청 방법 좀 알려주셔요...-.-;;
0
105
2
12회 실기 질문(작업형 2)
0
91
2
뒤로가기 버튼 같은 것이 있나요?
0
66
1
강의 연장 문의
0
99
2
출력값 질문
0
71
2
수업노트가 어디에 있나요?
0
63
1





