Aşağıdaki özelliklere sahip bir veri kümem var:
- 2.821 pozitif 193.176 numune ile eğitim veri seti
- 673 pozitif 82.887 örnek ile Veri Kümesini test et
- 10 özelliği vardır.
İkili bir sınıflandırma yapmak istiyorum (0 veya 1). Karşılaştığım sorun, verilerin çok dengesiz olması. Normalleştirme ve bazı özellik mühendisliği ile birlikte verileri ölçekledikten ve birkaç farklı algoritma kullandıktan sonra, elde edebileceğim en iyi sonuçlar şunlardır:
mean square error : 0.00804710026904
Confusion matrix : [[82214 667]
[ 0 6]]
yani sadece 6 doğru pozitif vuruş. Bu lojistik regresyon kullanıyor. İşte bununla denedim çeşitli şeyler:
- RandomForest, DecisionTree, SVM gibi farklı algoritmalar
- İşlevi çağırmak için parametre değerini değiştirme
- Bazı sezgiye dayalı özellik mühendisliği, bileşik özellikleri içerir
Şimdi, sorularım:
- Pozitif isabet sayısını artırmak için ne yapabilirim?
- Böyle bir durumda fazlalık olup olmadığını nasıl belirleyebiliriz? (Çizmeyi denedim vs.)
- Belki bu noktada sahip olabileceğim en uygun uyum varsa ne sonuca varabiliriz? (673 üzerinden sadece 6 sonuç dikkate alındığında üzücü görünüyor)
- Pozitif örnek örneklerinin daha fazla tartmasını sağlamanın bir yolu var mı, böylece desen tanıma daha fazla isabete yol açar.
- Hangi grafik grafikler, aykırı değerlerin veya hangi modelin en uygun olacağını sezgisinin tespit edilmesine yardımcı olabilir?
Scytit-learn kütüphanesini Python ile kullanıyorum ve tüm uygulamalar kütüphane fonksiyonudur.
Düzenle:
İşte birkaç başka algoritmaya sahip sonuçlar:
Rastgele Orman Sınıflandırıcısı (n_estimators = 100)
[[82211 667]
[ 3 6]]
Karar ağaçları:
[[78611 635]
[ 3603 38]]