Yanlış pozitif sayısı nasıl azaltılır?


12

Yaya tespiti olarak adlandırılan görevi çözmeye çalışıyorum ve iki kategori pozitif - insanlar, negatifler - arka plan üzerinde ikili clasifer eğitiyorum.

Veri setim var:

  • pozitif sayısı = 3752
  • negatif sayısı = 3800

Train \ test split 80 \ 20% ve RandomForestClassifier form scikit-learn parametrelerini kullanıyorum:

RandomForestClassifier(n_estimators=100, max_depth=50, n_jobs= -1)

Puanı alıyorum: 95.896757%

Egzersiz verileri testi (mükemmel çalışır):

true positive:  3005
false positive:  0
false negative:  0
true negative:  3036

test verileri testi:

true positive:  742
false positive:  57
false negative:  5
true negative:  707

Benim sorum yanlış pozitiflerin sayısını azaltmak (arka plan insanlar olarak sınıflandırılır)? Ayrıca neden yanlış negatif daha yanlış pozitif hataları var?

class_weightParametre kullanmaya çalıştım , ancak bir noktada performans düşüyor (class_weight = {0: 1,1: 4} 'da görebileceğiniz gibi).

class_weight= {0:1,1:1}
true positive:  3005
false positive:  0
false negative:  0
true negative:  3036

true positive:  742
false positive:  55
false negative:  5
true negative:  709
score: 96.029120 %

class_weight= {0:1,1:2}
true positive:  3005
false positive:  0
false negative:  0
true negative:  3036

true positive:  741
false positive:  45
false negative:  6
true negative:  719
score: 96.624752 %

class_weight= {0:1,1:3}
true positive:  3005
false positive:  0
false negative:  0
true negative:  3036

true positive:  738
false positive:  44
false negative:  9
true negative:  720
score: 96.492389 %

class_weight= {0:1,1:4}
true positive:  3005
false positive:  13
false negative:  0
true negative:  3023

true positive:  735
false positive:  46
false negative:  12
true negative:  718
score: 96.161482 %

class_weight= {0:1,1:5}
true positive:  3005
false positive:  31
false negative:  0
true negative:  3005

true positive:  737
false positive:  48
false negative:  10
true negative:  716
score: 96.161482 %

class_weight= {0:1,1:6}
true positive:  3005
false positive:  56
false negative:  0
true negative:  2980

true positive:  736
false positive:  51
false negative:  11
true negative:  713
score: 95.896757 %

class_weight= {0:1,1:7}
true positive:  3005
false positive:  87
false negative:  0
true negative:  2949

true positive:  734
false positive:  59
false negative:  13
true negative:  705
score: 95.234944 %

Ayrıca RandomForest'in dengesiz veri kümesinden muzdarip görünmediğini belirtmek gerekir:

konum = 3752 neg = 10100

class_weight = {0: 1,1: 1} gerçek pozitif: 3007 yanlış pozitif: 0 yanlış negatif: 0 gerçek negatif: 8074

true positive:  729
false positive:  71
false negative:  16
true negative:  1955
score: 96.860339 %

class_weight= {0:1,1:2}
true positive:  3007
false positive:  0
false negative:  0
true negative:  8074

true positive:  728
false positive:  59
false negative:  17
true negative:  1967
score: 97.257308 %

class_weight= {0:1,1:3}
true positive:  3007
false positive:  0
false negative:  0
true negative:  8074

true positive:  727
false positive:  58
false negative:  18
true negative:  1968
score: 97.257308 %

Yanıtlar:


7

Rastgele ormanlar konusunda uzman değilim, onları son zamanlarda okudum. Ama bana nasıl göründüğünden rastgele ormana fazla uyuyorsun. Yapacağım şey tahmin yapmak için Çanta Dışı gözlemleri kullandığınız tekniği kullanmak. Prosedürü bu slaytlarda bulabilirsiniz: https://lagunita.stanford.edu/c4x/HumanitiesScience/StatLearning/asset/trees.pdf

Önerebileceğim başka bir şey de bu bölümde de belirtilen gradyan artırma makinesi (GBM) olarak adlandırılan bu slaytlarda belirtilmiştir. GBM'nin rastgele ormandan daha sezgisel olduğunu hissediyorum.

Edit1 : Tekrar kontrol ettim ve önyükleme GBM'nin ilk adımı gibi görünüyor. Ayrıca, önyükleme ile ilgili sorunlarım yok, güzel ve güzel. Bununla ilgili tek sorun, çok kötü bir şekilde kullanılabilmesidir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.