일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- top_k
- Retry
- hadoop
- chatGPT
- integrated gradient
- login crawling
- youtube data
- Counterfactual Explanations
- TensorFlow
- session 유지
- gather_nd
- BigQuery
- GenericGBQException
- UDF
- flask
- GCP
- subdag
- API
- grad-cam
- airflow subdag
- 상관관계
- spark udf
- 공분산
- tensorflow text
- correlation
- API Gateway
- requests
- XAI
- Airflow
- 유튜브 API
- Today
- Total
데이터과학 삼학년
Feature Selection VS Feature Extraction 본문
Feature Selection VS Feature Extraction
- Feature Selection이나 Extraction 모두 Machine Learning 모델에서 과적합(overfitting)을 막기 위한 방법
- 차원 감소(Dimensionality reduction)을 통해 모델의 복잡성(complexity)를 줄이고 overfitting을 막는 개념
>> 여기서, 차원(feature 수)이 많아지면 모델은 overfitting의 위험이 높아지며, 차원이 많을 수록 학습에 필요한 데이터 수가 기하학적으로 많아진다는 단점이 있음 → 많은 모델러들은 최대한 차원을 줄이고자 노력함
- Extraction : 현존하는 데이터에서 가장 효과적인 Feature를 만들어 내는 것
- Selection : 현존하는 데이터(Feature)중 가장 효과적인 subset을 선택하는 것
- 아래 그림을 차원 감소를 위한 방법으로 Selection과 Extraction을 지도/비지도 학습의 모델유형별로 구분한 도표
Feature Selection
- Feature의 일부를 선택, subset을 만들어 차원을 줄이는 방법
- 원래의 Feature를 유지하기 때문에 모델의 결과에 대한 해석이 용이한 장점이 있음
Feature Selection 방법
1. Regularization
- Regularization기법 중 하나인 Lasso의 경우, 일부 변수(Feature)의 coefficient를 0으로 만들어 실질적으로 Feature를 삭제해 차원을 줄이는 효과를 가지고 있음
2. Feature Importance
- information gain을 이용한 feature importance( mutual importance)개념을 도입하여 feature selection을 하는 케이스를 캐글에서 많이 발견할 수 있음
3. Greedy Search Algorithms
- Stepwise(Forward, Backward) : 변수를 순차적으로 추가/제거하면서 가장 최적의 해를 갖는 케이스를 찾아내는 방법
- 방법별 Feature Selection방법을 나누면 아래 그림과 같다.
> filter : variation이나 information gain과 같이 featrue간 관계를 통해 선택하는 방식
> embedded : LASSO와 같이 모델의 특성을 통해 Feature를 선택하는 방식
> wrapper : subset을 반복적으로 만들어 최적의 해를 만들어내는 방식
Feature Extraction
- 현존하는 Feature set으로부터 새로운 feature subspace를 만들어내는 방식
- 주요 idea는 data를 압축시켜 차원을 줄이는 방식으로 대표적으로 PCA가 있음
- 원래 Feature를 실질적으로 확인하기 어렵기 때문에 모델을 해석하는데 어려운 단점을 가지고 있으나, 단순히 일부 Feature를 선택해 차원을 감소시키는 Selection방식에 비해 가지고 있는 모든 Feature를 활용했다는 측면에서 이점이 있음
Feature Extraction 방법
1. PCA
2. LDA(Linear Discriminant Analysis)
3. PLS(Partial Least Squares)
참조
https://quantdare.com/what-is-the-difference-between-feature-extraction-and-feature-selection/
https://vitalflux.com/machine-learning-feature-selection-feature-extraction/
https://techblog-history-younghunjo1.tistory.com/174
https://dive-into-ds.tistory.com/33
https://scikit-learn.org/stable/modules/feature_selection.html
'Machine Learning' 카테고리의 다른 글
Logistic Regression은 왜 linear classification 인가? (0) | 2022.11.03 |
---|---|
Graph 유형 정리 (GNN) (1) | 2022.09.23 |
불균형 데이터분석을 위한 샘플링 기법 (0) | 2022.08.30 |
Information Gain and Mutual Information (0) | 2022.07.07 |
tensorflow_decision_forests 를 이용해서 손쉽게 RandomForest, GBM 사용하기 (0) | 2022.06.28 |