9

'daki özellik seçimini kullanarak Scikit-Learn (veya genel olarak algolar) özelliklerinin, bir özelliğin tahmin edilmesinde bir öznitelik kabiliyetinin/tahmin kapasitesinin/öneminin ağırlığını veren herhangi bir özellik seçme yöntemi var mı? hedef? Örneğin, 3 iris türünü ayrı ayrı tahmin etmek için 4 öznitelik ağırlığından her birini sıralayan from sklearn.datasets import load_iris, ancak çok daha karmaşık veri kümeleri w/~ 1k-10k öznitelikleri için.Python'da belirli bir hedef için Attribute'un tahmini kapasitesi Sklearn

'dan feature_importances_'a benzer bir şey arıyorum. Bununla birlikte, RandomForestClassifer, tüm tahmin sürecinin her bir özelliğine ağırlık verir. Ağırlıkların bir tane kadar eklemesi gerekmiyor, ancak belirli bir hedefe ait belirli bir alt kümeyi ilişkilendirmek için bir yol bulmak istiyorum.

İlk olarak, belirli bir hedefi zenginleştirmek için modelleri “aşırı doldurmaya” çalıştım, ancak sonuçlar hedefler arasında çok fazla değişmedi. İkincisi, hangi özniteliklerin en büyük varyasyona sahip olduğunu bularak, ancak doğrudan öngörme kapasitesine dönüşmeyen koordinasyon rotasını incelemeye çalıştım. Üçüncü olarak, seyrek modelleri denedim ancak feature_importances_'u kullanarak aynı sorunla karşılaştım.

Tam olarak bunu yapan bir örnek veya öğreticiye bağlantı yeterlidir. Muhtemelen, rastgele bir ormanda karar ağaçlarının nasıl geçeceği ve belirli hedefleri öngören düğümleri nasıl saklayacağına dair bir öğretici.

cevap

4

Tek hedefleri

Çoğu model pek kara kutular, bu nedenle belirli bir hedefe ilgileniyorsanız, sadece modelin katsayıları bakıp anlamak elle modeli hesaplama yapabileceği model çıktıya geldi. Ör: sadece katsayılarla çarpın ve tüm katsayıları ve aktivasyon fonksiyonları bilmek gerekir bir sinir ağı için önyargı

  • eklemek ve bir göz için birkaç hesaplamalar yapmanız gereken bir doğrusal modeli için

    • nasıl girdiler gizli katmanlarda yeni 'özellikler' çevrilir ve daha sonra nihayet ormanın
    • vb
    tüm ağaçların karar sınırları bakmak gerekir rastgele ormanı için
  • çıkarır

    Bu analize dayanarak, en önemli hangi girdilere baktığınıza karar verebilirsiniz.

    Duyarlılık analizi

    Daha kullanışlı, belki de senin girdi değerlerinin değiştirilmesi zaman nasıl modeli çıktı değişikliklerine bakmak olacaktır. Bu, girdilerin ne kadar önemli ve hassas olduğuna dair daha üst düzey bir anlayış sağlayacaktır. Bu konsepte sensitivity analysis denir. Çoğu yöntemde, girdiler üzerinde basit bir örnekleme yapabilir ve çıktıları analiz edebilirsiniz.

    Bu, özellik seçimi için yararlı olabilir, çünkü duyarsız girişler budama için adaylardır.

    Duyarlılık analizi modelin çıkışı ile çıkageldi nasıl hakkında bir şeyler öğrenmek için modele girdi perturbing fikrine dayanmaktadır modele geri Looking. Bir şeye bakmanın diğer yolu, çıktı ve mantığı modele ve nihayetinde girdilere geri götürmek olacaktır. Böyle bir yaklaşım:

    , daha zor için 'çözmek yüksek söz
  • Kompleks model tekniğine özgü bir modeldir daha fazla non-lineer, ve model more özelliği etkileşimleri yana
  • olan
      eşyalar'.

    Rasgele Ormanlara özgü bir tartışma için, this Q&A'a bakın.

    Görselleştirme teknikleri yardımcı olabilir. http://playground.tensorflow.org/

    Genel özellik tüm hedefler üzerinde genel özellik önem, yani için önemi

    , sen this part of the scikit-learn documentation bakabilirsiniz: fikir verebilecek bir sinir ağı aracından örneği.

    The example here, özellik skorlaması için F-testi ile tek değişkenli özellik seçimini nasıl yapabileceğinizi gösterir.

  • +0

    Bu hedefe özgü mi? Yoksa genel olarak tahmin sürecini uygular mı? –

    +0

    Hedefe özel mantığı daha iyi yanıtlamak için cevabımı güncelledi. –

    +0

    Cevabınızdaki güncellemeler için teşekkürler. Tek hedefler bölümü, bunun nasıl yapılabileceğine dair biraz bilgi veriyor ancak temel olarak modelleri sıfırdan ve katalogdan kataloglamaktan bahsediyor. Hassasiyet analizi ve model bölümlerine geri bakış, tüm varyasyonları ve bunların öngörme kapasitesini denemek için yoğun bir birleştiriciye ihtiyaç duymaktadır. Genel özellik önemi kaçınmaya çalışıyorum. Yine de, f testi çok ilginç ve var olduğunu bilmiyordum. Bunun için teşekkür ederim. Yukarı-oy kullandı. –

    2

    Farklı olası hedef değerlerinizin her biri için ayrı ikili sınıflandırma modelleri manuel olarak oluşturup modelleri karşılaştırırdım. Değerleri normalleştirebilirsiniz, ancak sayısal değerler kendilerini değişkenlerin sıralanması konusunda daha az bilgilendiricidir.

    Ayrıca, özellik önemlerinizi hesaplamanın farklı bir yolu için bir lojistik regresyon modeli kullanarak bakmak isteyebilirsiniz.