Sınıf etiketlerinin yaklaşık% 100'ü bir sınıfa ait olduğunda bir sınıflandırıcının performansı nasıl ölçülür?


9

Verilerimde, olarak belirtilen bir sınıf değişkenim var . Bu sınıf değişkeni değerleri (ikili) şeklindedir. neredeyse tüm gözlemleri 0'dır (% 100'e yakın, daha kesin olarak% 97). Farklı sınıflandırma modelleri üzerinde bir "performans" testi istiyorum (doğruluk olabilir). Olmaktan korktuğum, gözlemleri her zaman sınıf 0'da sınıflandıran bir sınıflandırma modelim varsa, o zaman bu model% 97 doğru olacaktır (başka değişkenleri asla dikkate almasa bile).C0,1C

Çok nadir olaylarla ilgili veriler üzerinde sınıflandırma modelleri için iyi bilinen performans testleri var mı?

Yanıtlar:


3

Aklıma birkaç olasılık geliyor.

Genel vuruş oranına bakmak genellikle çok iyi bir fikir değildir, çünkü farklı sınıfların performansı farklıysa test setinin bileşimine bağlı olacaktır. Bu nedenle, anlamlı bir değer elde etmek için en azından test verilerinizdeki sınıfların göreceli sıklığını belirtmeniz (ve gerekçelendirmeniz) gerekir.

İkinci olarak, @Shorack'ın daha önce de söylediği gibi, hangi hata türlerinin ne kadar önemli olduğunu belirtin. Genellikle sınıflandırıcının yararlı olması için belirli performans kriterlerini karşılaması gerekir (ve genel doğruluk nadiren yeterli önlemdir). Farklı sınıfları ve farklı sınıflandırma türlerini dikkate alan duyarlılık, özgüllük, pozitif ve negatif prediktif değer gibi önlemler vardır. Bu önlemlerin sınıflandırıcı ile ilgili farklı soruları yanıtladığını söyleyebilirsiniz:

  • duyarlılık: Gerçekten C sınıfına ait vakaların hangi kısmı bu şekilde tanınır?
  • özgüllük: Gerçekten C sınıfına ait olmayan vakaların hangi kısmı bu şekilde tanınır?
  • pozitif öngörme değeri: Sınıflandırıcının C sınıfını öngördüğü göz önüne alındığında, bu tahminin doğru olma olasılığı nedir?
  • negatif öngörü değeri: sınıflandırıcı Verilen durum olduğunu tahmin değil olasılık bu tahmin doğru olduğunu budur, form sınıfı C?

Bu sorular genellikle sınıflandırıcının faydalı olması için ihtiyaç duyduğu spesifikasyonların formüle edilmesine izin verir.

Tahmini değerler genellikle sınıflandırıcının pratik uygulaması açısından daha önemlidir: bunlar, sınıflandırıcıyı uygularken içinde bulunduğunuz durum olan tahmin üzerine koşullandırılır (bir hasta genellikle ne kadar olası olduğunu bilmekle ilgilenmez Test, hastalıklı vakaları tanımaktır, ancak belirtilen tanının ne kadar doğru olduğunu). Bununla birlikte, bunları doğru bir şekilde hesaplamak için, sınıflandırıcının kullandığı popülasyondaki farklı sınıfların göreceli frekanslarını bilmeniz gerekir (bu bilgilere sahip olduğunuz görülüyor - bu yüzden sizi buna bakmanızı engelleyen bir şey yok).

Ayrıca, olumlu veya olumsuz bir tahminin size sağladığı bilgi kazanımına da bakabilirsiniz. Bu pozitif ve negatif olabilirlik oranı, LRy ve LR⁻ ile ölçülür. Kısaca, tahminin söz konusu sınıfa karşı olasılıkları ne kadar değiştirdiğini size söylerler. ( daha ayrıntılı bir açıklama için cevabımı buraya bakın )

Önemsiz sınıflandırıcı için işler şöyle görünür: "0" sınıfını söz konusu sınıf olarak kullanacağım, bu yüzden "pozitif" sınıf "0" anlamına gelir. 100 vakadan 100'ünün pozitif olduğu tahmin edilmektedir (0 sınıfına aittir). 97'si gerçekten var, 3'ü yok. Sınıf 0 için duyarlılık% 100'dür (gerçekten sınıf 0'a ait 97 vakanın tamamı tanınmıştır), özgüllük 0'dır (diğer vakaların hiçbiri tanınmamıştır). pozitif prediktif değeri (97: 3 bağıl frekansın temsili olduğu varsayıldığında)% 97'dir, negatif tahmin değeri negatif tahmin olmadığı için hesaplanamaz.

LR+=sensitivity1specificity=1
LR=1sensitivityspecificity=00
Şimdi LR⁺ ve LR⁻, davanın pozitif sınıfa ait olma olasılığını ("0") çarptığınız faktörlerdir. 1 LR⁺ değerine sahip olmak, pozitif tahminin size herhangi bir bilgi vermediği anlamına gelir: olasılıkları değiştirmez. Yani burada önemsiz sınıflandırıcınızın herhangi bir bilgi eklemediğini açıkça ifade eden bir önleminiz var .


Tamamen farklı düşünce yönü: Farklı sınıflandırıcıları değerlendirmek istediğinizden bahsediyorsunuz. Bu biraz sınıflandırıcı karşılaştırma veya seçim gibi geliyor. Yukarıda tartıştığım önlemlerle ilgili uyarı , "sert" sınıf etiketlerinde değerlendirirseniz , çok yüksek rastgele belirsizliğe (yani birçok test vakasına ihtiyacınız olduğu) maruz kalmalarıdır. Tahmininiz öncelikle süreklidir (metrik, örneğin arka olasılık), aynı tür sorulara bakan ancak vaka kesirleri yerine sürekli tedbirler kullanan ilgili önlemleri kullanabilirsiniz, buraya bakın . Bunlar ayrıca tahminlerdeki küçük farklılıkları tespit etmek için daha uygun olacaktır.

(@FrankHarrell size "uygun puanlama kurallarına" ihtiyacınız olduğunu söyleyecektir, bu nedenle akılda tutulması gereken bir başka arama terimi budur.)


3

Her şeyden önce: tüm isabetler eşit derecede önemli mi ve tüm isabetler de eşit derecede önemli mi? Eğer öyleyse, null-modelinizin bu kadar iyi puanlamasıyla ilgili yanlış bir şey yoktur: sadece mükemmel bir çözümdür.

1'leri tahmin etmede iyi bir performansa sahip olmanın önemli olduğunu düşünüyorsanız, bunun yerine F-ölçüsünü kullanabilirsiniz. Temel olarak, hatırlama (gerçek 1'lerin hangi kısmının 1 olarak tahmin edildiği) ve hassasiyet (tahmin edilen 1'lerin hangi kısmının aslında 1 olduğu) harmonik ortalamasıdır. Bir modelin bu önlemde yüksek puan alması için şunları yapması gerekir:

  1. 1'lerin çoğunu bulun.
  2. Aslında 0 olduğunda genellikle 1'i tahmin etmez.

Ve her ikisini aynı anda yapması gerekiyor. Modeliniz neredeyse 2 taneden birini neredeyse mükemmel bir şekilde yapsa bile, diğer gereksinimi karşılamıyorsa düşük bir puana sahip olacaktır. https://en.wikipedia.org/wiki/F1_score


Bu, tahminlerden sadece 1 bit bilgi kullanan uygunsuz bir puanlama kuralıdır. Yanlış puanlama kuralları sahte modeller tarafından optimize edilir.
Frank Harrell

2

@Cbeleites'in kapıyı açtığına sevindim ... İkili özel durumunda ROC alanına eşit olan uyum olasılığı veya endeksi, öngörücü ayrımcılığın güzel bir özeti. ROC eğrisinin kendisi yüksek bir mürekkep: bilgi oranına sahiptir, ancak eğrinin altındaki alan, uyum olasılığına eşit olduğu için birçok güzel özelliğe sahiptir, bunlardan biri prevalansından bağımsız olmasıdır . . Oldukça uygun değil ( bunu başarmak için genelleştirilmiş ölçümleri veya olasılık oranı kullanın) ve iki modeli karşılaştırmak için kullanılacak kadar duyarlı değildir, tek bir modelin güzel bir özetidir.cYY=1YR2χ2


1

Alıcı Çalışma Karakteristiği (ROC) http://en.wikipedia.org/wiki/Receiver_operating_characteristic curve ve ilişkili hesaplamalar (yani Curve-AUC Altındaki Alan) yaygın olarak kullanılır. temel olarak sınıflandırıcısının sürekli bir yanıt verdiğini (örn. 0 ile 1 arasında) ve karar eşiği 0 ile 1 arasında değiştiğinden hassas alarm hızına (1- özgüllük) karşı duyarlılığı çizdiğinizi düşünüyoruz. yüzeyleri?).


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.