3. Feature Selection [파이썬으로 배우는 데이터 사이언스]
Feature Selection |
Contents:
1. Feature selection이란?
2. Univariate Selection
3. Recursive Feature Elimination
4. PCA(Principal Component Analysis)
5. Feature Importance
6. Bivariate / Univariate / Multivariate 의미
1. Feature selection이란?
- 불분명한 관계없는 feature를 머신러닝 모델 트레이닝에 쓰면 negative impact를 준다.
- 사이킷런 라이브러리를 활용함으로 feature selection을 automatic하게 찾을 수 있다.
- Feature selection을 써서 오버 피팅(Overfitting)문제를 낮춘다. 불필요한 데이터를 적게(Less Redundant data)사용하여 적은 확률로 노이즈에 관한 판단.
· Feature selection로 정확도를 올릴 수 있다.
· Feature selection로 트레이닝 시간을 줄일 수 있다.
2. Univariate Selection
- Statistical test들을 통하여 피쳐들 간의 관계를 이해할 수 있다.
- 사이킷런의 SelectKBest를 통해 다른 statistical test들로부터 피쳐들을 선택할 수 있다.
from sklearn.feature_selection import SelectKBest,chi2
test=SelectKBest(score_func=chi2,k=4)
fit=test.fit(X,Y)
features=fit.transform(X)
3. RFE(Recursive Feature Elimination)
- 반복적으로 피쳐를 지움으로써 남겨진 피쳐를 사용한다.
from sklearn.feature_Selection import RFE
from sklearn.linear_model import LogisticRegression
model=LogisticRegression(solver='liblinear')
rfe=RFE(model,3)
fit=rfe.fit(X,Y)
print (fit.n_features_, fit.support_, fit.ranking_)
4. PCA(Principal Component Analysis)
- Linear algebra를 사용하여 데이터에서 주요 데이터만을 뽑아온다. (reduction)
from sklearn.decomposition import PCA
pca=PCA(n_components=3)
fit=pca.fit(X)
print(fit.explained_variance_ratio_, fit.components_)
5. Feature Importance
- Random Forest / Extra Tress 와 같이 Bagged 트리들은 피쳐 중요도를 확인할 수 있다.
from sklearn.ensemble import ExtraTreeClassifier
model=ExtraTreeClassifier(n_estimators=100)
model.fit(X,Y)
print( model.feature_importances_ )
6. Bivariate / Univariate / Multivariate 의미
1) Bivariate는 변수가 2개라는 뜻입니다. 그중에서도 주로 대등한 변수가 2개 있을 때 사용하는 용어입니다. 대표적인 예가 상관분석입니다. 상관분석은 두 변수 사이의 관계를 규명하는 분석이죠.
2) Univariate는 변수가 여러개라는 뜻입니다. 그 중에서도 독립변수를 말합니다. 즉, 독립변수가 여러 개인 경우의 분석 기법일 때에 univaite 라는 말을 사용하게 됩니다.
3) Multivariate도 역시 변수가 여러개라는 뜻입니다. 그러나, univariate 와 차이점은 종속변수가 여러개라는 것입니다. 이때 독립변수는 하나여도 상관이 없고 여러개 이어도 상관이 없습니다. 단지, 종속변수만 하나가 아니라 2개 이상인 경우에 쓰이는 말이죠.
출처: <http://www.statedu.com/QnA/79573>
* 해당 개시물은 첫번째 배너 및 출처를 첨부하면 상업적 용도를 제외하고 사용하실수 있습니다.
data-learning.tistory.com
* 해당 게시물은 첫번째 배너 및 출처를 첨부하면 상업적 용도를 제외하고 사용하실수 있습니다.
'Machine Learning > 파이썬_데이터사이언스' 카테고리의 다른 글
6. Pipelines [파이썬으로 배우는 데이터 사이언스] (0) | 2020.02.05 |
---|---|
5. Spot-Check Classification Algorithm [파이썬으로 배우는 데이터 사이언스] (0) | 2020.02.03 |
4. 머신러닝 모델 평가 [파이썬으로 배우는 데이터 사이언스] (0) | 2020.01.31 |
2. 머신러닝을 위한 데이터 준비 [파이썬으로 배우는 데이터 사이언스] (0) | 2020.01.30 |
1. 기술통계학 바탕 데이터 이해 [파이썬으로 배우는 데이터 사이언스] (0) | 2020.01.30 |
댓글