Özet - Özellik seçimi
- Makine Öğrenmesi kursu
- Orta seviye
- Ders 86/112
- 6 dk
Bu grupta variance threshold, SelectKBest ve RFE'yi öğrendin.
Özet: özellik seçimi
Bu grupta:
- Seçim özgün sütunları tutar; gürültü sütunları özellikle mesafe tabanlı modelleri bozar.
- Filtreler:
VarianceThreshold(hedefe bakmaz),SelectKBest(f_classif, mutual_info). - Sarmalayıcılar:
RFE,RFECV; özellikleri birlikte değerlendirir, pahalıdır. - Gömülü:
SelectFromModelile ağaç önemleri ya da Lasso katsayıları. - Hedefe bakan her seçim pipeline içinde yapılmalı; k bir hiperparametredir.
Uygulama k'yı CV ile seç
make_pipeline(StandardScaler(), SelectKBest(f_classif), KNeighborsClassifier()) için selectkbest__k değerlerini [2, 4, 6, 10, 20] arasında GridSearchCV(..., cv=5) ile ara. best_params_ ve best_score_'u (round(..., 3)) alt alta yazdır.
Başlangıç kodu
import numpy as np
from sklearn.datasets import make_classification
X, y = make_classification(n_samples=400, n_features=20, n_informative=4, n_redundant=2, shuffle=False, random_state=0)
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.feature_selection import SelectKBest, f_classif
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import GridSearchCV
# buraya yazÖrnek çözüm
import numpy as np
from sklearn.datasets import make_classification
X, y = make_classification(n_samples=400, n_features=20, n_informative=4, n_redundant=2, shuffle=False, random_state=0)
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.feature_selection import SelectKBest, f_classif
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import GridSearchCV
pipe = make_pipeline(StandardScaler(), SelectKBest(f_classif), KNeighborsClassifier())
gs = GridSearchCV(pipe, {"selectkbest__k": [2, 4, 6, 10, 20]}, cv=5).fit(X, y)
print(gs.best_params_)
print(round(gs.best_score_, 3))Beklenen çıktı
{'selectkbest__k': 4}
0.758
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Hangisi hedefe bakmadığı için pipeline dışında güvenle kullanılabilir?
- SelectFromModel
- VarianceThreshold Doğru cevap
- SelectKBest
- RFE
Açıklama: Varyans yalnızca X'ten hesaplanır; diğerleri y'yi kullanır.
2 Seçim sayısını ızgarada ara.
gs = GridSearchCV(pipe, {"____": [2, 4, 6, 10]}, cv=5)
gs = GridSearchCV(pipe, {"selectkbest__k": [2, 4, 6, 10]}, cv=5)
Açıklama: make_pipeline'da SelectKBest adımının adı "selectkbest"tir.
3 Araçları yaklaşımlarla eşleştir.
| Kavram | Anlamı |
|---|---|
VarianceThreshold |
Filtre (hedefsiz) |
SelectKBest |
Filtre (hedefli) |
RFE |
Sarmalayıcı |
SelectFromModel |
Gömülü |