* 변수 선택(특성 선택) Variable Selection
- 새로운 특성을 추가할 때 혹은 고차원 데이터 셋을 사용할 때 가장 유용한 특성만 선택하고 나머지는 무시하여 특성의 수를 줄이는 방법
- 다중공산성 혹은 과적합이 발생하는 것을 방지하기 위한 방법
- 종류
1) 일변량 통계기반 선택
: 특정 일변량 통계량을 기반으로 특성 선택
: from sklearn.feature_selection from SelectKbest
2) 모형 기반 선택
: 지도 학습 머신러닝 모델을 사용하여 특성의 중요도를 평가해서 가장 중요한 특성만 선택
: from sklearn.feature_selection import SelectFromModel
3) 반복적 변수 선택
: (1) 특성을 하나도 선택하지 않은 상태로 시작해 어떤 종료 조건을 도달할 때까지 하나씩 추가하는 방법
(2) 모든 특성을 가지고 시작해 어떤 종료 조건이 될 때까지 하나씩 제거하는 방법
: from sklearn.feature_selection import RFE
* 데이터 밸런싱 Data Balancing
: 비율 차이가 나는 클래스를 동일한 비율로 맞춰주는 방법
- 데이터 불균형
: 분류 모델(Classifier)의 경우 종속 변수가 동일한 비율의 클래스를 가지고 있지 않고 특정 클래스가 높은 비율을 차지하고 있는 경우, 데이터 불균형 문제를 해결하기 위해 언더 샘플링이나 오버 샘플링을 사용
- 언더 샘플링
: 불균형한 데이터 셋에서 높은 비율을 차지하는 클래스의 데이터수를 감소시킴으로써 데이터 불균형을 해소
- 오버 샘플링
: 낮은 비율 클래스의 데이터 수를 늘림으로써 데이터 불균형을 해소
: 대표적 방법 = SMOTE
* 변수 선택 코딩
1) 일변량 통계기반
- from sklearn.feature_selection from SelectKbest, chi2
2) 모형기반 변수선택
- from sklearn.feature_selection import SelectFromModel
- RandomForestClassifier모델 사용
* 데이터 밸런싱 코딩
1) 언더 샘플링
- from imblearn.under_sampling import RandomUnderSampler
2) 오버 샘플링
- from imblearn.over_sampling import SMOTE
- SMOTE = Synthetic Minority Oversampling Technique