http://terryum.io/korean/2016/05/05/FeatureSelection_KOR/
데이터를 모은 후 어떤 feature 가 유용한지 아닌지 확인하는 과정을 feature selection 또는 feature extraction이라고 부른다.
- 차원 축소란?
: 우리는 모든 feature들이 필요하지 않을 수도 있다.
몇몇 특징들은 다른 특징들의 조합으로 표현가능 해서 불필요 할 수 있다.
따라서 관찰 대상들을 잘 설명할 수 있는 잠재적인 공간이 실제로 관찰된 공간보다 작을 수 있다.
이렇게 실제로 관찰된 공간 위의 샘플들을 기반으로 잘 설명할 수 있는 잠재공간을 파악하는 것을 "차원 축소"라고한다.
차원 축소는 단순히 데이터의 압축이나 잡음의 제거가 아니다. 물론 차원 축소로 데이터의 압축이나 잡음을 제거하는 효과도 있겠지만,
의의는 관측 데이터를 잘 설명할 수 있는 잠재 공간을 찾는 것이다.
- feature selection VS feature extraction
데이터의 차원을 줄이는 데는 feature selection과 feature extraction이 있다.
feature selection의 목적은 모든 feature의 subset을 select해서 brief한 feature subset을 만드는 것이다.
즉, feature selection에서는 이와 같이 원본 데이터에서 불필요한 feature를 제거하는 역할을 한다.
feature selection은 배경지식을 이용해서 할 수도 있지만, 이것이 모든 상황에서 가능한 것이 아니므로, 자동 특징 선택 (automatic feature selection methods)를 사용할 수 있다.
간단히 말하면 특징 중 몇 개를 없애보고, 개선된다면 성능을 확인해보는 방식이다. 이것이 대부분의 feature selection알고리즘의 기본 동작 방식이다.
반대로 feature extraction은 원본 feature들의 조합으로 새로운 특징을 생성하려고 시도한다. 예를 들어서 PCA (주성분 분석)은 가장 기본적이고 유명한 차원 축소 기법이다.
원리는 데이터로부터 직교 주축을 찾고 모든 데이터를 해당 축에 투영시킨다.
이때 원본 Data를 투영된 데이터로 만드는 투영 function은 결국 원본 특징들의 선형 결합으로 이루어진 새로운 feature를 만드는 것과 같다.
'개발 > ML+ Data Science' 카테고리의 다른 글
Pandas DataFrame에서 원하는 dtype컬럼만 가져오기 (0) | 2019.09.28 |
---|---|
Boosting 기법 이해 (xgboost, lightGBM) (0) | 2019.09.27 |
ROC 및 AUC (0) | 2019.09.24 |
Reduce Load Data memory (데이터프레임 용량줄이기) (0) | 2019.09.24 |
SVM vs Logistic Regression (0) | 2019.09.15 |