ROC AUC ve F1 puanı arasında nasıl seçim yapabilirim?


26

Geçenlerde, rekabet şartlarına göre roc auc puanının kullanıldığı bir Kaggle yarışmasını tamamladım. Bu projeden önce normalde model performansını ölçmek için f1 puanını metrik olarak kullandım. İleride, bu iki ölçüm arasında nasıl seçim yapmalıyım acaba? Ne zaman kullanılır ve hangi avantajları ve dezavantajları nelerdir?

BTW, burada makaleyi okudum AUC ve F1 puanı arasındaki farklar nelerdir? , ama ne zaman kullanılacağını bana söylemez.

Herhangi bir yardım için şimdiden teşekkür ederiz!

Yanıtlar:


14

Burada listelenen önlemlerin hiçbiri uygun doğruluk puanlama kuralları, yani doğru bir model tarafından optimize edilen kurallar değildir. Gibi suni olarak Crabtree skoru ve log-olasılık tabanlı önlemleri düşünün . C -index (AUROC; uyum olasılığı) doğru değil, tek bir model tarif için iyidir. Model seçmek veya iki modelden daha azını karşılaştırmak için kullanılacak kadar hassas değildir.R2c


Cevabınız için teşekkürler Frank! Lütfen daha fazla açıklamaya ihtiyacım var. Yalnızca ROC AUC ve F1 puanlarından birini seçebilirsek, hangisini seçer ve neden? Her ikisinin de artıları ve eksileri nelerdir?
George Liu,

2
c

2
Bakınız citeulike.org/user/harrelfe/article/14321176 ; Bunu kendi simülasyonlarımla gösterdim. Dengesizlik aşırı örnekleme / örnekleme nedeniyle değilse, dengesizlikten bağımsız olarak herhangi bir uygun puanlama kuralını kullanabilirsiniz.
Frank Harrell

1
@ FrankHarrell: Bağlantı öldü, tekrar kontrol edebilir misiniz?
SiXUlm

13

Hesaplama formülü:

  • Hassas TP / (TP + FP)
  • Hatırlama: TP / (TP + FN)
  • F1 puanı : 2 / (1 / P + 1 / R)
  • ROC / AUC : TPR = TP / (TP + FN), FPR = FP / (FP + TN)

ROC / AUC aynı kriterler ve PR (Precision-Recall) eğrisi (F1-skoru, Precision, Recall) aynı kriterlerdir.

Gerçek veriler, pozitif ve negatif örnekler arasında bir dengesizliğe sahip olma eğiliminde olacaktır. Bu dengesizliğin PR üzerinde büyük etkisi vardır ancak ROC / AUC'yi etkilemez.

Dolayısıyla gerçek dünyada, PR eğrisi pozitif ve negatif örnekler çok dengesiz olduğundan daha fazla kullanılır. ROC / AUC eğrisi, sınıflandırıcının performansını yansıtmaz, ancak PR eğrisi olabilir.

Deneyi sadece araştırma makalelerinde yaparsanız, ROC'yi kullanabilirsiniz, deney sonuçları daha güzel olacaktır. Öte yandan, PR eğrisi gerçek problemde kullanılır ve daha iyi yorumlanabilirliğe sahiptir.


7

Yukarıdaki cevapların ikisi de iyidir.

Skew=negativeexamplespositiveexamples

Dengesiz verilerle, AUC hala 0,8 civarında bir değer verir. Bununla birlikte, büyük TP (Büyük pozitif) yerine büyük FP nedeniyle yüksektir.

Aşağıdaki örnek gibi,

TP=155,   FN=182
FP=84049, TN=34088

Bu nedenle, sınıflandırıcının performansını ölçmek için AUC'yi kullandığınızda sorun, AUC'nin artmasının gerçekten daha iyi bir sınıflandırıcıyı yansıtmamasıdır. Bu sadece çok sayıda olumsuz örneğin yan etkisi. Siz sadece veri setini deneyebilirsiniz.

Fβ=(1+β2)precisionrecall(β2precision)+recall

β

Ardından, dengesiz verilerle ilgili önerilerim bu yayına benzer . Ayrıca "İki-İki Sınıflandırma ve Decile Tablolarını" arayarak oluşturulabilecek decile tablosunu deneyebilirsiniz. Bu arada ben de bu problem üzerinde çalışıyorum ve daha iyi önlemler alacağım.


Bir yöntemin performansını önemsiyorsanız, sınıflandırma performansını göstermek için ROC'yi kullanmanız daha iyi olur.
Xiaorui Zhu,

2
Gerçek bir işletme ortamında, yanlış pozitiflerin maliyetleri ve yanlış negatiflerin maliyetleri tahmin edilebilir. Öyleyse, nihai sınıflandırma olasılıklı bir modele ve yanlış sınıflandırmaların maliyetini en aza indirmek için seçilen bir sınıflandırma eşiğine dayanmalıdır. Gerçekten doğruluk olduğunu düşünmüyorum ya da F puanının disiplinli veri bilimcileri için birçok gerçek uygulaması olduğunu düşünüyorum.
Matthew Drury

Evet, kesme sınıflandırma olasılığını ve modelini yanlış sınıflandırma maliyetini en aza indiren karar verme yöntemine katılıyorum. Bazı durumlarda FP ve FN'ye asimetrik maliyet uygulanabilir. Ancak, doğruluk ve F puanı, bir modelin genel performansını kontrol etmek veya çeşitli modeller arasında performansı karşılaştırmaktır. Aslında, veri bilimcisi olarak eldeki verilerle, maliyetlerin en aza indirilmesi her zaman mümkün olabilir. Ancak veri bilimcisinin pratikte karar probleminin çözümünün dağıtılmasına (veya varyasyonuna) ihtiyacı olduğunu merak ediyorum. Bazılarını benimle paylaşıp paylaşamayacağınızı bilmek isterim. Thx
Xiaorui Zhu

1
Şahsen, bir modelin uyumluluğunu her zaman tahmin ettiği koşullu olasılıklar temelinde değerlendiririm. Bu yüzden modelleri her zaman günlük kaybı gibi uygun bir puanlama kuralı kullanarak karşılaştıracağım, iyileştirmenin gürültü olmadığından emin olmak için önyükleme kullanacağım ve belki de AUC ile destekleyeceğim.
Matthew Drury

2
Bunun doğru olduğunu sanmıyorum. AUC, sınıf dengesizliğine karşı duyarsız olmak için özel olarak inşa edilmiştir, bu konuda kapsamlı simülasyonlar yaptım ve bunun doğru olduğunu gördüm. Ayrıca, modelleri karşılaştırırken, aynı popülasyondan örneklenen veri kümeleri üzerine inşa edilmeli ve sınıf dengesizliği sorunu yaşanmaz.
Matthew Drury

4

Bir veri dengesizliğine sahip olduğunuzda çok basit kelimeler söylemek gerekirse; pozitif ve negatif sınıflar için sahip olduğunuz örnek sayısı arasındaki fark büyüktür, her zaman F1-puanını kullanmalısınız. Aksi takdirde ROC / AUC eğrilerini kullanabilirsiniz.


"Veri dengesizliği" tanımınız, hemen hemen her zaman F1-puan kullanacağınız şekildedir, bu yüzden bu pek yardımcı olmaz. Belki bunu biraz daha genişletebilirsin?
jbowman

Orada çok önemli bir kelimeyi özlemiştim ... özür dilerim. Yanıtımı düzenledim. Daha fazla açıklamaya ihtiyacınız olursa haberim olsun.
balboa

1

Çok sınıflı bazı sınıflandırma problemleri için, ROC / AUC'yi analiz etmek ve görselleştirmek kolay değildir. Bu soruya bakabilirsiniz, ROC eğrileri çoklu sınıflandırmada nasıl çizilir? . Bu durumda, F1 puanı kullanmak daha iyi bir ölçü olabilir.

Ve F1 puanı, bilgi edinme sorunu için ortak bir seçimdir ve endüstri ortamlarında popülerdir. İşte iyi açıklanmış bir örnek, Bina ML modelleri zordur. Bunları gerçek iş ortamlarında kullanmak zordur .


1

Sınıflandırmanın amacı olasılıkla puanlanıyorsa, tüm olası eşiklerin üzerinde ortalama olan AUC'yi kullanmak daha iyidir. Bununla birlikte, sınıflandırma hedefinin sadece iki olası sınıf arasında sınıflandırılması gerekiyorsa ve her sınıfın model tarafından ne kadar tahmin edilmesini gerektirmiyorsa, belirli bir eşiği kullanarak F-puanına güvenmek daha uygundur.

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.