작업형2 연습문제 풀이 4
target = train.pop('target')
cols = ['gender', 'enrolled_university', 'education_level', 'major_discipline', 'experience', 'company_size'
, 'company_type', 'last_new_job']
for col in cols:
train[col] = train[col].fillna(train[col].mode()[0])
test[col] = test[col].fillna(test[col].mode()[0])
from sklearn.preprocessing import LabelEncoder
cols2 = train.select_dtypes(include='O').columns
for col in cols2:
le = LabelEncoder()
train[col] = le.fit_transform(train[col])
test[col] = le.transform(test[col])# 결측치 처리
train = train.fillna("X")
test = test.fillna("X")
# train과 test 합쳐서 원핫인코딩
combined = pd.concat([train, test])
combined_dummies = pd.get_dummies(combined)
n_train = len(train)
train = combined_dummies[:n_train]
test = combined_dummies[n_train:]저는 위의 방식으로 풀었고 풀이는 아래 방식으로 풀었는데, result.csv에서 roc_auc 결과를 비교하면 많이 다르게 나타납니당... 예를 들어 같은 인덱스임에도 제 방식에서는 roc_auc가 0.2로 나오는데 풀이에서는 0.02가 됩니다. 이 경우에는 풀이에 따라서 0,1로 완전히 다르게 인식되는데도 점수 받는데 상관이 없을까요..?
답변 2
0
0,1로 완전히 다르게 인식
-> 그럴 수도 있지만 예시의 경우는 아니에요 보통 스레스홀드를 0.5로 둔다면 0.02도 0이고, 0.2도 0입니다.
result.csv에서 roc_auc 결과를 비교하면 많이 다르게 나타납니당
-> 이렇게 비교하면 안됩니다. 평가지표로 비교하셔야 해요
예를 들어, 제가 사업을 하는데 1월 매출만 가지고 평가하는 것이 아니라 1년 매출로 평가해야 되는 것 처럼요!!
0
안녕하세요, 인프런 AI 인턴입니다. s93610님.
작업형2 연습문제에서 제공된 두 가지 방법을 비교해본 결과, 결과 값에서 차이가 발생했다고 하셨군요. 데이터 전처리 방법에 따라 모델 성능의 차이가 발생할 수 있습니다. 일부 주요 포인트를 정리해 드리겠습니다.
결측치 처리 및 인코딩 방식의 차이:
결측치 처리:
- 첫 번째 방법:
mode()를 사용하여 가장 많이 등장하는 값으로 결측치를 채우는 방법입니다. 이는 범주형 데이터에서 자주 사용되는 방식으로, 데이터의 통계적 경향을 반영할 수 있습니다.
- 두 번째 방법: 결측치를 “X”로 대체하여 결측 자체를 하나의 범주로 간주하는 방식입니다. 단순하고 간단한 처리 방법이지만, 데이터 특성에 따라 이 방식이 유리하거나 불리할 수 있습니다.
- 첫 번째 방법:
인코딩 방식:
- 라벨 인코딩: 첫 번째 방법에서 사용되었습니다. 범주형 변수에 각각 고유한 정수 값을 부여하는 방식입니다. 하지만 이러한 방식은 각 범주에 순서가 있다고 모델이 오인할 수 있습니다.
- 원핫 인코딩: 두 번째 방법에서 사용되었습니다. 각 범주마다 새로운 이진 변수를 생성하여 분석적 유연성을 제공합니다. 이는 모델이 범주 순서에 대한 오해를 하지 않도록 해줍니다.
- 라벨 인코딩: 첫 번째 방법에서 사용되었습니다. 범주형 변수에 각각 고유한 정수 값을 부여하는 방식입니다. 하지만 이러한 방식은 각 범주에 순서가 있다고 모델이 오인할 수 있습니다.
결과값 차이에 대한 평가:
- roc_auc_score 차이: ROC AUC는 모델의 분류 성능을 측정하는 지표이며, 다르게 인코딩된 데이터 세트를 사용하여 훈련된 두 모델의 성능은 당연히 다를 수 있습니다.
- 모델 평가 시 고려사항: 모델의 성능은 데이터의 본질과 데이터 전처리 방법에 따라서 크게 달라질 수 있습니다. 같은 데이터셋이라도 전처리 방식에 따라 모델은 서로 다르게 결과를 이해하고 생성합니다.
관련 질문 및 해결 방법 참고:
유사한 질문에 대한 답변이 있습니다. 이를 통해 더욱 깊은 이해를 얻을 수 있을 것입니다.
- 기존 질문 링크: 작업형2 연습문제와 전처리에 관한 이해
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
수강 연장 문의드립니다.
0
19
2
강의 연장 문의
0
25
2
수강 신청 연장 문의드립니다.
0
32
2
작업형 1번문제... 환경관련
0
29
2
12회 기출은 언제 업데이트 될까요??
0
36
2
8/6 작성한 연장문의 질문글에 대한 재요청
0
38
2
수강기간 연장 문의
0
38
2
수강기간 연장문의
0
37
2
수강기간 연장 요청 문의드립니다
0
38
2
수강 기간 연장 문의
0
47
2
수강연장 가능 문의 (기간 약 한달반)
0
60
2
수강기간 연장 가능할까요 선생님
0
74
2
Section15. 수업에 사용하는 데이터 주소가 다 보이지 않아서 실습을 위한 데이터를 다운 받지 못하고 있습니다.
0
56
3
수강연장요청 문의
0
90
2
아무래도 다음 시험 연장은 어렵겠죠?
0
108
2
빅분기 12회 결과 관련 문의
0
112
1
책이랑 강의랑 순서나 예제가 다른것 같네요
0
81
2
수강연장 문의
0
105
2
재검토 요청 방법 좀 알려주셔요...-.-;;
0
106
2
12회 실기 질문(작업형 2)
0
92
2
뒤로가기 버튼 같은 것이 있나요?
0
66
1
강의 연장 문의
0
99
2
출력값 질문
0
72
2
수업노트가 어디에 있나요?
0
63
1





