컬럼이 너무 많아서 직접 고를 수 없을 경우
select_dtypes(include=['', ''])
이 함수를 이용해서 인코딩 필요없는 숫자 컬럼들만 가져오거나
아니면 unique값 너무 높은 + 결측치값 너무 많은 컬럼만 drop하고 쓰기
타겟이 너무 치우쳐 있는 경우 (분류ㄴㄴ 회귀에서)(이건 고급 내용...)
타겟이 너무 치우쳐있으면 로그변환을 해줘야하는데
1. 타겟이 치우쳐있는지 어떻게 알아?
왜도(skewness) 를 보면된다.
print(y_train['charges'].skew())
이렇게 데이터의 왜도를 출력해봤을 때
1이상이면 로그변환을 해줘야한다고 생각하면 된다.
2. 로그변환은 언제 어떻게 해?
y_train['charges'] = np.log1p(y_train['charges'])
넘파이의 log1p()를 기억하자.
3. 모델으로 다 예측하고 가장 score 좋게 받은 모델 선정까지 다 끝낸다음, 꼭!!! 원래 스케일로 돌려주고 제출해야한다!!!
np.log1p() 함수로 로그변환했다면 무조건 np.expm1()함수로 돌려줄 수 있다.
예측값을 expm1()함수로 꼭 돌려주자.
'빅데이터분석기사' 카테고리의 다른 글
| 기출풀이 (0) | 2026.06.18 |
|---|---|
| 작업형3 추가적으로 (0) | 2026.06.14 |
| 작업형 제1유형 헷갈리는 내용 정리 (0) | 2026.06.10 |
| 빅분기 실기 작업형2 정리 (0) | 2026.05.17 |
| 1과목 - 빅데이터 분석 기획 (2) | 2026.03.16 |