작업형2 질문
트레인과 테스트의 범주형 데이터가 다를 수 있어서 그냥 처음부터 두 데이터를 합쳐서 레이블이나 원-핫인코딩을 하려고 합니다
1.레이블인코딩시
df=pd.concat([train,test]) 후
cols=df.select_dtypes(include='O').colunms 로 가능한가요?
그리고 합쳐진 데이터니까 df[col]=le.fit_transfom(df[col])만 해주면 되는거죠?
어차피 두 데이터를 합쳐서 할 경우 set함수사용은 불필요한거죠?
f1스코어를 사용할경우,average꼭 넣어주어야하나요?
답변 2
0
네 맞습니다.
네 정확합니다 🙂
단, 1번과 2번 케이스가 아직 기출에서 나온적은 없습니다.다중분류일 경우 average 옵션이 꼭 필요하고 시험 문제에서 ‘macro’, ‘micro’, ‘weighted' 등을 알려주고 있어요
0
안녕하세요, 인프런 AI 인턴입니다. 지원님께서 작업형 2에 대한 질문을 주셨네요. 데이터를 합쳐서 레이블 인코딩이나 원핫 인코딩을 진행하려는 의도는 범주형 데이터의 일관성을 유지하려는 좋은 접근입니다. 이에 대한 답변을 드리면:
1. 데이터 합친 후 레이블 인코딩
df = pd.concat([train, test])후, 범주형 데이터를 선택하는 방법으로cols = df.select_dtypes(include='O').columns는 가능합니다. 이로써 범주형 컬럼들을 선택하게 됩니다.
- 레이블 인코딩의 경우, 합쳐진 데이터에 대해
le.fit_transform(df[col])을 사용하여 레이블 인코딩을 수행하면 됩니다. 이렇게 하면 train과 test 모든 데이터를 같은 기준으로 인코딩할 수 있습니다.
2. set 함수의 사용
- 두 데이터를 합쳤을 경우에는 범주형 데이터에서 고유값을 확인하거나 전처리할 필요가 없는 경우
set함수를 사용하지 않아도 됩니다. 인코딩을 위해서는 모든 데이터를 같은 잣대로 인코딩하는 것이 목적이므로, 이미 concatenate된 데이터프레임에서 동일한 컬럼에 인코딩을 적용하면 문제없습니다.
3. F1 스코어와 average 파라미터
- F1 스코어를 다중 클래스 문제에서 사용할 경우,
average파라미터는 필수로 지정해주어야 합니다.average로 선택할 수 있는 옵션에는 ‘macro’, ‘micro’, ‘weighted’ 등이 있으며, 상황에 맞춰 선택해야 각 클래스의 F1 스코어를 어떻게 집계할지 결정합니다.
'macro': 클래스별 F1 스코어의 산술평균으로, 모든 클래스를 동일한 비중으로 고려합니다.
'micro': 전체 TP, FP, FN을 통해 전반적인 F1 스코어를 계산하며, 클래스 간 불균형을 반영합니다.
'weighted': 각 클래스별 F1 스코어에 해당 클래스의 샘플 수를 가중치로 곱한 후 평균입니다.
이 접근은 범주형 데이터가 달라 예상치 못한 에러를 방지할 수 있으며, 머신러닝 모델링 시 일관된 데이터 처리를 보장합니다.
관련된 유사한 사례에 대한 참고 답변은 아래 링크에서 확인하실 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
수강 연장 가능 여부 문의
0
24
1
강의 구매했는데 교재 필수일까요
0
23
2
수강기간 연장 가부 문의드립니다.
0
21
2
수강기간 연장이 가능한지 양해를 구하며 문의를 드립니다.
0
27
2
작업형2 모의문제2에서 drop이랑 인코딩
0
32
2
인코딩을 다 꼭 해봐야하는지
0
39
2
안녕하세요? 강사님 질문있습니다.(인코딩관련)
0
57
2
이진분류에서 양성 클래스가 0일 때 평가 방법
0
46
2
원핫인코딩 전 train과 test 병합여부
0
50
2
수강기간 연장
0
69
2
29강 작업2형의 이상치 처리
0
65
2
수강기간 연장 문의드립니다!
0
65
2
9월에 실기출제기준 개정내역에 신설된부분
0
55
1
작업형2 모의문제2 결과값 관련 문의드립니다.
0
66
2
12회차 시험 실패 후 13회 도전 예정입니다.
0
55
1
random_state 값
0
73
2
강의 연장 문의 드립니다.
0
68
2
강의 연장 문의
0
61
2
오징어게임
0
70
1
object 컬럼이 여러 개인 경우 인코딩 전처리 방법
1
49
2
데이터 전처리 순서 관련
0
65
2
작업형2 모의문제 데이터 불러오기
0
64
2
강의 연장 부탁드립니다!
0
69
2
수강기간 연장 문의드립니다!
0
67
2





