Choose Your ML Problems

제이브로·2021년 12월 31일
0

AI부트캠프

목록 보기
22/32
post-thumbnail

Choose Your ML Problems


Applied Predictive Modeling


  • 지도학습에서는 예측할 타겟을 먼저 정한다.

  • 이산형, 순서형, 범주형 타겟 특성도 회귀문제 또는 다중클래스분류 문제로도 볼 수 있다.

  • 회귀, 다중클래스분류 문제들도 이진분류 문제로 바꿀 수 있다.

1. Data leakage ( 정보의 누수 )

여러 특성을 다루다 보면,

  1. 타겟변수 외에 예측 시점에 사용할 수 없는 데이터가 포함되어 학습이 이루어 질 경우
  2. 훈련데이터와 검증데이터를 완전히 분리하지 못했을 경우

정보의 누수가 일어나 과적합을 일으키고 실제 테스트 데이터에서 성능이 급격하게 떨어지는 결과를 확인할 수 있다.

## 어떤 트리가 만들어졌는지 그려봅시다
import graphviz
from sklearn.tree import export_graphviz

tree = pipe.named_steps['decisiontreeclassifier']

dot_data = export_graphviz(
    tree,
    feature_names=X_train.columns, 
    class_names=y_train.unique().astype(str), 
    filled=True, 
    proportion=True
)

graphviz.Source(dot_data)

1.1 적합한 평가지표 선택

  • 회귀 : r2, mae, rmse, mse
  • 분류 : 정확도, f1, recall, precision, roc_auc_score

2. 불균형 클래스

타겟 특성의 클래스 비율이 차이가 많이 날 경우가 많다.

  • 대부분 scikit-learn 분류기들은 class_weight 와 같은 클래스의 밸런스를 맞추는 파라미터를 가지고 있다.
  1. 데이터가 적은 범주 데이터의 손실을 계산할 때 가중치를 더 곱하여 데이터의 균형을 맞추거나
  2. 적은 범주 데이터를 추가샘플링( oversampling )하거나 반대로 많은 범주 데이터를 적게 샘플링( undersampling )하는 방법이 있다.

2.1 회귀문제

회귀분석에서는 타겟 분포가 비대칭 형태인지 확인

선형 회귀 모델은

  • 일반적으로 특성과 타겟간에 선형관계를 가정한다.
  • 그리고 특성 변수들과 타겟변수의 분포가 정규분포 형태일때 좋은 성능을 보인다.

특히 타겟변수가 왜곡된 형태의 분포( skewed )일 경우 예측 성능에 부정적인 영향을 미친다.

Q . 이상치가 있나요?
A . 이상치 제거

Q . 로그변환( Log-Transform )은 언제 사용하나요?
A .타겟이 right-skewed 상태라면, 비대칭 분포형태를 정규분포형태로 변환시켜준다.



👉 과정 한눈에 보기

profile
기록하지 않으면 기록되지 않는다.

0개의 댓글