İçindekiler:
- Bir hedefle ilişkilendirme düzeyine göre bir değişken seçmeye karar verirseniz, SelectPercentile sınıfı, en iyi ilişkili özelliklerin yalnızca belirli bir yüzdesini korumak için otomatik bir yordam sağlar. İlişki için mevcut metrikler
- sklearn'dan. feature_selection import RFECV selector = RFECV (tahminci = regresyon, cv = 10, puanlama = "mean_squared_error") seçici. Optimal özellik sayısı: 6
Video: R programı ile kolay yoldan istatistik analizi yapmak - basit regresyon analizi 2024
Python'da doğru değişkenleri seçmek, veri biliminde öğrenme sürecini gürültünün miktarını azaltarak artırabilir (işe yaramaz bilgi) öğrenenlerin tahminlerini etkileyebilir. Dolayısıyla değişken seçimi, tahminlerin varyansını etkili bir şekilde azaltabilir. Eğitimde sadece yararlı değişkenleri dahil etmek ve gereksiz olanları dışarıda bırakmak için şu teknikleri kullanabilirsiniz:
-
Tek Değişkenli yaklaşım: Hedef çıktıyla en ilgili değişkenleri seçin.
-
Yalnızca, performansına zarar vermeden öğrenme sürecinden çıkartabileceğiniz değişkenleri saklayın. Tek degiskenlik önlemleri ile seçme
Bir hedefle ilişkilendirme düzeyine göre bir değişken seçmeye karar verirseniz, SelectPercentile sınıfı, en iyi ilişkili özelliklerin yalnızca belirli bir yüzdesini korumak için otomatik bir yordam sağlar. İlişki için mevcut metrikler
-
f_classif: Sadece kategorik hedefler için ve Varyans Analizi (ANOVA) istatistiksel testine dayalı olarak kullanılır.
-
chi2: Kategori hedefleri için ki-kare istatistiğini uygular, ki bu tahmin edici değişken ile hedef arasındaki doğrusal olmayan ilişki için daha mantıklıdır.
-
SelectPercentile, üst seviye derneklerin direk bir seçimini uygulamaktan başka, özelliklerin öğrenme sürecine katılmasını önlemek için hangi yüzdelikte karar vermeyi kolaylaştıracak en iyi değişkenleri sıralayabilir. SelectKBest sınıfı, işlevselliğinde benzer ancak, k'nin bir sayı değil, en fazla k değişkenini seçer.
sklearn'dan. feature_selection import KarakalemdenPercentile'i seçin. feature_selection içe aktarma f_regression Selector_f = SelectPercentile (f_regression, percentile = 25) Selector_f. zip (boston, feature_names, Selector_f.scores_) içindeki n, s'ler için fit (X, y): print 'F-score:% 3. (S, n) F-skoru: 88.15 ZIMAN F-puanı için: 88. 15 F ZENLİ F-puanı için 75.26 F-skoru: INDUS F-skoru için 153.95:% 15.99 özelliği CHAS F-skoru: 112.9 NO-F özelliği için RM-F skoru: 471.85 RM F skoru için: 83.AGE için F-skoru: 33. F-skoru: F-skoru için 33. 58 F-skoru: 85.89, RAD F-skoru için 85. 91: TAX F-skoru için 141. 76; PTRATIO F skoru için 175. 11; 63. 05 B özelliği için F-skoru: 601. 62 LSTAT özelliği için> İlişki düzeyi düzeyini kullanmak, makine öğrenme modeliniz için en önemli değişkenleri seçmenize yardımcı olur, ancak bu olası sorunlara dikkat etmeniz gerekir: > Yüksek ilişkili bazı değişkenler, öğrenme sürecinde gürültüye neden olan çoğaltılmış bilgileri getirerek yüksek oranda ilişkilendirilebilir.
Bazı değişkenler cezalandırılabilir, özellikle de ikili olanlar (değişkenler mevcutsa 1 değerini kullanan bir durumu veya karakteristiği, aksi halde 0'ı belirtir. Örneğin, çıktıda, CHAS ikili değişkeninin hedef değişkenle en az ilişkili olduğu gösterildiğine dikkat edin (ancak çapraz doğrulama aşamasından önce gelen önceki örneklerden biliyorsunuz).
Tek değişkenli seçim süreci, seçilecek çok sayıda değişkeniniz olduğunda ve diğer tüm yöntemler hesaplamayla işe yaramaz hale geldiğinde gerçek bir avantaj sağlayabilir. En iyi yordam, SelectPercentile değerini kullanılabilir değişkenlerin yarısı kadar azaltmak, değişken sayısını yönetilebilir bir sayıya düşürmek ve sonuç olarak açgözlü bir arama gibi daha sofistike ve daha kesin bir yöntemin kullanılmasına izin vermektir.
-
Açgözlü arama kullanma
-
Tek değişkenli bir seçim kullanırken, kaç değişken tutmanız gerektiğine kendiniz karar vermelisiniz: Açgözlü seçimi, öğrenme modeline dahil olan özellik sayısını otomatik olarak hata ölçüsü ile ölçülen performans.
Veriyi uygun hale getiren RFECV sınıfı size yararlı özelliklerin sayısı hakkında bilgi sağlayabilir, bunları size gösterebilir ve X verilerini, yöntem dönüşümü ile, gösterildiği gibi, azaltılmış değişken kümesine otomatik olarak dönüştürür. aşağıdaki örnek:
sklearn'dan. feature_selection import RFECV selector = RFECV (tahminci = regresyon, cv = 10, puanlama = "mean_squared_error") seçici. Optimal özellik sayısı: 6
RFECV'den support_ nitelikini çağırarak optimum değişken kümesi için bir indeks elde etmek mümkündür. sınıfı tamamladıktan sonra.
print boston. [Seçici feature_names. CHAS, tek değişkenli araştırmanın sonucundan farklı olarak, en öngörüsel özellikler arasında yer alıyor. [RFECV] yöntemi, bir değişkenin (örn. özellik açısından öngörüde oynadığı rolü doğrudan değerlendirdiğinden, ikili, kategorik veya sayısal olursa olsun önemlidir.
RFECV yöntemi, bir değişken yaklaşımla karşılaştırıldığında kesinlikle daha etkilidir, çünkü yüksek korelasyonlu özellikleri göz önüne alır ve değerlendirme ölçüsünü optimize etmek için ayarlanır (ki genellikle Ki-kare veya F-skoru değildir) Açgözlü bir süreç olarak, hesaplama zorundaydınız ve tahmincilerin en iyi kümesine yaklaşabilir.
RFECV, veriden en iyi değişken kümesini öğrendiğinden, seçim diğer felsefe öğrenme algoritmalarında olana fazlalık verebilir. Egzersiz verisinin farklı örnekleri üzerinde RFECV denemek, kullanılacak en iyi değişkenleri doğrulayabilir.