회귀: 특징 선택

Python으로 연습하는 Machine Learning 면접 질문

Lisa Stuart

Data Scientist

올바른 특징 선택:

  • 과적합 감소
  • 정확도 향상
  • 해석 용이성 향상
  • 학습 시간 단축

특징 선택 단계

1 https://www.analyticsindiamag.com/what-are-feature-selection-techniques-in-machine-learning/
Python으로 연습하는 Machine Learning 면접 질문

특징 선택 방법

  • 필터: 통계적 성능으로 특징 순위화
  • 래퍼: ML 방법으로 성능 평가
  • 임베디드: 반복적 모델 학습으로 특징 추출
  • 특징 중요도: 트리 기반 ML 모델
Python으로 연습하는 Machine Learning 면접 질문

방법 비교

방법 ML 모델 사용 최적 부분집합 선택 과적합 가능
필터 아니오 아니오 아니오
래퍼 경우에 따라
임베디드
특징 중요도
Python으로 연습하는 Machine Learning 면접 질문

상관계수 통계 검정

특징/반응 연속형 범주형
연속형 피어슨 상관 LDA
범주형 ANOVA 카이제곱
Python으로 연습하는 Machine Learning 면접 질문

필터 함수

함수 반환
df.corr() 피어슨 상관 행렬
sns.heatmap(corr_object) 히트맵 플롯
abs() 절대값
Python으로 연습하는 Machine Learning 면접 질문

래퍼 방법

  1. 순방향 선택(LARS-최소 각 회귀)
    • 특징 없이 시작, 한 개씩 추가
  2. 후방 제거
    • 모든 특징으로 시작, 한 개씩 제거
  3. 순방향/후방 결합(양방향 제거)
  4. 재귀적 특징 제거
    • RFECV
Python으로 연습하는 Machine Learning 면접 질문

임베디드 방법

  1. 라쏘 회귀
  2. 릿지 회귀
  3. 엘라스틱넷

라쏘, 릿지, 엘라스틱넷

Python으로 연습하는 Machine Learning 면접 질문

트리 기반 특징 중요도 방법

  • 랜덤 포레스트 --> sklearn.ensemble.RandomForestRegressor
  • 엑스트라 트리 --> sklearn.ensemble.ExtraTreesRegressor
  • 모델 학습 후 --> tree_mod.feature_importances_
Python으로 연습하는 Machine Learning 면접 질문
함수 반환
sklearn.svm.SVR 서포트 벡터 회귀 추정기
sklearn.feature_selection.RFECV 교차검증 포함 재귀적 특징 제거
rfe_mod.support_ 선택된 특징의 불리언 배열
ref_mod.ranking_ 특징 순위, 선택=1
sklearn.linear_model.LinearRegression 선형 모델 추정기
sklearn.linear_model.LarsCV 교차검증 포함 최소 각 회귀
LarsCV.score 결정계수(R²) 점수
LarsCV.alpha_ 추정 규제 파라미터
Python으로 연습하는 Machine Learning 면접 질문

연습해 봅시다!

Python으로 연습하는 Machine Learning 면접 질문

Preparing Video For Download...