본문 바로가기
Data/[네이버 부스트클래스 AI 엔지니어 기초 다지기]

[2주차]9차시

by MIN_JOON 2024. 5. 7.
  • 피쳐 중요도(Feature Importance)
    • 타겟 변수를 예측하는데 얼마나 유용한 지에 따라 피쳐에 점수를 할당하여 중요도를 측정하는 방법
  • Model-specific vs Model-agnostic
    • Model-specific: 머신러닝 모델 자체에서 피쳐 중요도 계산이 가능한 경우
    • Model-agnostic: 모델에서 제공하는 기능에 의존하지 않고 모델을 학습한 후에 적용되는 피쳐 중요도 계산법
  • Boosting Tree 피쳐 중요도(Model-specific)
    • LightGBM 피쳐 중요도 함수
      →학습된 LightGBM 모델 클래스에서 feature_importance(importance_type) 함수로 피쳐 중요도 계산 가능
      →importance_type 값에 'split'(트리를 만드는데 피쳐가 얼마나 사용됐는가), 'gain'(피쳐를 이용했을 때 얼마나 gain값이 나오는가), 디폴트는 'split'
    • XGBoost 피쳐 중요도 함수
       학습된 XGBoost 모델 클래스에 gest_score(importance_type) 함수로 피쳐 중요도 계산 가능
      →importance_type값의 디폴트는 'weight'
      →weight: 트리를 만드는데 피쳐가 몇 번 사용 됐는가
      →gain: 피쳐를 이용했을 때 얼마나 gain값이 나오는가
      →cover: 전체의 coverage를 계산
      →total_gain, total_cover: 전체의 평균이 아닌 합으로 계산하는 방식
    • CatBoost 피쳐 중요도 함수
      학습된 CatBoost 모델 클래스에 get_feature_importance(type) 함수로 피쳐 중요도 계산 가능
      →type 값의 디폴트는 'FeatureImportance'
      →FeatureImportance, ShapValues, Interaction, PredictionDiff 등이 존재

  • Permutation 피쳐 중요도(Model-agnostic)
    • 피쳐 값들을 랜덤하게 셔플링해서 모델의 에러를 측정
    • 중요한 피쳐인 경우 모델의 에러가 커질 것이기 때문에 에러가 클수록 중요한 피쳐로 해석
  • 피쳐 선택(Feature Selection)
    • 머신러닝 모델이 타겟 변수를 예측하는데 유용한 피쳐와 유용하지 않은 피쳐를 구분해서 선택하는 과정
    • 피쳐 선택을 통해 모델의 목잡도를 낮춤으로써 오버피팅 방지 및 모델의 속도 향상 가능
    • Filter Method: 피쳐들의 상관관계를 파악해서 피쳐를 선택하는 방법(가장 간단하게 사용 가능)
    • Wrapper Method: 예측모델을 사용해서 피쳐의 서브셋을 계속해서 테스트하는 방법
    • Embedded Method: 학습 알고리즘 자체에 피쳐 선택 기능이 들어가 있는 경우

본 포스트의 학습 내용은 부스트클래스

<AI 엔지니어 기초 다지기 : 부스트캠프 AI Tech 준비과정>

강의 내용을 바탕으로 작성되었습니다.

'Data > [네이버 부스트클래스 AI 엔지니어 기초 다지기]' 카테고리의 다른 글

[2주차]11차시  (1) 2024.05.28
[2주차]10차시  (1) 2024.05.27
[2주차]8차시  (2) 2024.04.30
[1주차]5차시  (3) 2024.04.26
[1주차]4차시  (2) 2024.04.25