åªå
床ã®äœãæ©èœã®ãªã¯ãšã¹ãïŒãã¹ãŠã®æ¹æ³è«ã«å¯Ÿãããã®ã䜿çšããsklearn.metrics
ã§ã®ãã«ãã¯ã©ã¹roc_aucã¹ã³ã¢èšç®ã®ãµããŒãã¯éââåžžã«äŸ¿å©ã§ãã
ãããäœãæå³ããã®ãããããŸããã ããã«ã€ããŠã®åèè³æã¯ãããŸããïŒ
2014幎6æ19æ¥09:51ãããã£ãœã³ã¡ã€[email protected]ã¯æ¬¡ã®ããã«æžããŠããŸãã
åªå 床ã®äœãæ©èœãªã¯ãšã¹ãïŒãã«ãã¯ã©ã¹roc_aucã¹ã³ã¢ã®ãµããŒã
ãã¹ãŠã®æ¹æ³è«ã«å¯Ÿãããã®ã䜿çšããsklearn.metricsã§ã®èšç®
ä¿¡ããããªãã»ã©äŸ¿å©ã§ããããâ
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/scikit-learn/scikit-learn/issues/3298ã
ããã¯ãåèæç®ãšãšãã«ãããªããŸãšããªèª¬æã§ãïŒ https ïŒ
ããŒãããã«ãã¯ã©ã¹aucãå®è£ ãããŠããªããšãã«æšå¥šãããã¹ã³ã¢ã©ãŒã¯äœã§ããïŒ
ãã¹ãŠã®æ¹æ³è«ã«å¯Ÿãããã®ã䜿çšããsklearn.metricsã§ã®ãã«ãã¯ã©ã¹roc_aucã¹ã³ã¢èšç®ã®ãµããŒãã¯éââåžžã«äŸ¿å©ã§ã
ãããã®ã¹ã©ã€ãããåã¯ã©ã¹ã®AUCã®åšæ³¢æ°å éå¹³åãåãããè¡šé¢äžã®äœç©ã®æŠç®ãã©ã®ããã«èæ
®ããŠãããã«ã€ããŠè©±ããŠããã®ã§ããïŒ ããã¯ãçŸåšã®roc_auc_score
ã2å€åãããè¡šçŸãšaverage='weighted'
䜿çšããã®ãšåãããã«èŠããŸãã ïŒ @arjoly ããªããããã®æ²ç·ããŒã¹ã®ã¹ã³ã¢ã¯ãã«ãã¯ã©ã¹ãèš±å¯ããªãã®ã§ããïŒïŒ
ãã以å€ã®å Žåããããã®ã¹ã©ã€ããããã³ããã«ãã¯ã©ã¹ROCãã«é¢ããã»ãšãã©ã®åç §ã¯ãè©äŸ¡ã¡ããªãã¯ã§ã¯ãªããOvRã®ãã«ãã¯ã©ã¹ãã£ãªãã¬ãŒã·ã§ã³ã«çŠç¹ãåãããŠããŸãã ããã¯ããªããèå³ãæã£ãŠãããã®ã§ããïŒ ãã®ææ³ãã©ãã»ã©æ®åããŠããããscikit-learnã§å©çšã§ããããã«ãã䟡å€ããããã©ããã貪欲ãªæé©åãæ¹åããå¿ èŠããããã©ããã¯ããããŸããã
ïŒ @arjoly ããªããããã®æ²ç·ããŒã¹ã®ã¹ã³ã¢ã¯ãã«ãã¯ã©ã¹ãèš±å¯ããªãã®ã§ããïŒïŒ
y_trueãã1ã€ã®ã¯ã©ã¹ãæ¬ èœããŠããå Žåã¯åžžã«ãã¹ã³ã¢ãèšç®ããããšã¯ã§ããŸããã ã¯ã©ã¹æšè«ã«éæ³ããããããªãã£ãã®ã§ããŠãŒã¶ãŒãå°ãããŸããã
y_predã®å Žåãé©åã«å¯ŸåŠããŠããªãå¯èœæ§ããããŸã
y_trueã«ã¯ãªãã©ãã«ãæã£ãŠããã ãã®ã©ãã«ã¯ãããããã¹ãã§ã¯ãããŸãã
ãã¯ãå¹³åã®ãããªãã®ã«åå ããïŒWekaã«ãããšã
ããŸãã«ãïŒããŸãã¯ROCã¹ã³ã¢ã
2014幎8æ1æ¥åå17æ08åã«ã¯ãã¢ã«ããŒãžã§ãªãŒã®[email protected]ã¯æžããŸããïŒ
ïŒ @arjoly https://github.com/arjolyããªããããã®æ²ç·ããŒã¹ã®ã¹ã³ã¢ãè¡ãã®ã§ããïŒ
ãã«ãã¯ã©ã¹ãçŠæ¢ããŸããïŒïŒy_trueãã1ã€ã®ã¯ã©ã¹ãæ¬ èœããŠããå Žåã¯åžžã«ãèšç®ããããšã¯ã§ããŸããã
ã¹ã³ã¢ã ã¯ã©ã¹æšè«ã«éæ³ããããããªãã£ãã®ã§ã
åé¡ã«ãŠãŒã¶ãŒãâ
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/scikit-learn/scikit-learn/issues/3298#issuecomment -50855460
ã
@ jnothman @ arjolyå¹³ååã®é¢ã§å€ãã®é²æ©ããããŸããã ãããä»å®è£ ããã®ã¯ã©ããããé£ããã§ããïŒ
ããããpROCããã±ãŒãžã®Ré¢æ°ã«äŒŒãŠããå¯èœæ§ããããŸã
http://www.inside-r.org/packages/cran/pROC/docs/multiclass.roc
ããã«ã¡ã¯ãç§ã¯ãã¯ãå¹³åROC / AUCã¹ã³ã¢ã®ãã©ãããå®è£ ããŸãããããããsklearnã«é©åãããã©ããã¯ããããŸããã
ã³ãŒãã¯æ¬¡ã®ãšããã§ãã
from sklearn.metrics import roc_auc_score
from sklearn.preprocessing import LabelBinarizer
def multiclass_roc_auc_score(truth, pred, average="macro"):
lb = LabelBinarizer()
lb.fit(truth)
truth = lb.transform(truth)
pred = lb.transform(pred)
return roc_auc_score(truth, pred, average=average)
ããã»ã©ç°¡åã§ããããïŒ
ãããæšæºçãªæå³ã§ããå Žåã¯@fbrundu ã ããã¯ç¢ºãã«1ã€ã®å¯èœãªè§£éã§ãã
ããã«çŽ æŽãããèŠçŽããããŸãïŒ
http://people.inf.elte.hu/kiss/13dwhdm/roc.pdf
pROCããã±ãŒãžã¯ãHand andTillãå®è£
ããŸãã
http://download.springer.com/static/pdf/398/art%253A10.1023%252FA%253A1010920819831.pdf?originUrl=http%3A%2F%2Flink.springer.com%2Farticle%2F10.1023%2FA% 3A1010920819831ïŒtoken2 = exp = 1469743016ãacl =ïŒ
2FstaticïŒ
2FpdfïŒ
2F398ïŒ
2FartïŒ
25253A10.1023ïŒ
25252FAïŒ
25253A1010920819831.pdfïŒ
3ForiginUrlïŒ
3DhttpïŒ
253AïŒ
252FïŒ
252Flink.springer.comïŒ
252FarticleïŒ
252F10.1023ïŒ
* ãhmac = bc68686d3782ac6af3c3cda13c1b36aad6de5d01d16a25870cace5fe9699fb8a
Hand and Tillã®ããŒãžã§ã³ã¯äžè¬çã«åãå
¥ããããŠããããã§ãç§ã¯ãããå®è£
ããããšã«æ祚ããŸãã
ProvostãçŸåšç§ã®ãã£ã¬ã¯ã¿ãŒã§ããããšãèãããšãããããç§ãå¿æŽãã¹ãããŒãžã§ã³ã®ProvostãšDomingosããããŸãããããã¯ããŸããããŸããã§ããã
Provost-Domingosã¯ã @ fbrunduãaverage='weighted'
ã®ã¿èšã£ãããšã§ãã
TLDRïŒHand andTillã®PRãæè¿ããŸãã ãªãã·ã§ã³ã§ãå¹³ååãå€æŽãããªãã·ã§ã³ãåããProvostããã³Domingosã
ããã«ã¡ã¯ãããã®å®è£
ã«é²å±ã¯ãããŸãããïŒ
ä»ã®ã»ãšãã©ã®ã©ã€ãã©ãªïŒWEKAãªã©ïŒã§ç§ãèŠãã®ã¯ãå éå¹³åã䜿çšããŠããããšã§ãã ããã¯ã @ fbrunduãaverage = 'micro'ã䜿çšããŠææ¡ãããã®ã ãšæããŸããïŒ
@joaquinvanschorenRã¯HandandTillã䜿çšããŸãã ç§ãããã奜ãã§ãã ç§ã«ã¯ããã«ããã«åãçµãåŠçãããŸãã
@amuellerç§ã¯ããã«
@ kchen17ããããšãïŒ
ããã«ã€ããŠã¯OpenMLã§ããªãè°è«ããŸããã ãã«ãã¯ã©ã¹AUCã®å Žåãäžæ¹ã®ã¢ãããŒãïŒãã¯ãå¹³ååããã¯ãå¹³ååãå éå¹³ååãªã©ïŒãä»æ¹ãããåªããŠãããšããä¿èšŒã¯ãããŸããã Rã§ã¯ãå°ãªããšã5ã€ã®ç°ãªãã¢ãããŒããèŠã€ããããšãã§ããŸãïŒãã¹ãŠMLRã§ãå©çšå¯èœã«ãªããŸããïŒã
ãããscikit-learnã«å®è£
ããå Žåãããã©ã«ãã§Hand-Tillã䜿çšããŠããå Žåã§ããå°ãªããšãã¢ããªã±ãŒã·ã§ã³ã«æãé©ãããã®ãéžæã§ããå¯èœæ§ããããšäŸ¿å©ã§ãã ã¡ãªã¿ã«ãHand-Tillã¯éã¿ä»ããããŠããªãã¢ãããŒãã§ãããã©ãã«ã®äžåè¡¡ã¯èæ
®ãããŠããŸããã
è€æ°ã®ããŒãžã§ã³ãããã®ã¯ããããã§ãã éã¿ä»ããããŠããªãããšãšãã©ãã«ã®äžåè¡¡ãèæ ®ã«å ¥ããŠããªãããšãã¯2ã€ã®ç°ãªããã®ã§ã;ïŒãªã¹ããšåç §ã¯ãããŸããïŒ
ãã®å Žåã®ãã€ã¯ãã¢ãã¬ãŒãžã³ã°ãšã¯äœã§ããïŒ
ãã®äŸã§å®è£ ããããã«ãã¯ã©ã¹åé¡ã®ROCAUCã¯ããã§ã«ãã¯ãããã³ãã¯ãã§å¹³ååãããŠããããšã«æ³šæããŠãã ããã
http://scikit-learn.org/stable/auto_examples/model_selection/plot_roc.html#multiclass -settings
å®éãç§ã¯ããã¥ã¡ã³ããééã£ãŠãããšæããŸãããããŠèšãã¹ãã§ã
ãã«ãã©ãã«...
ååŸ11æ16åã«2016幎9æ26æ¥ã«ã¯ããªãªããšGrisel [email protected]
æžããŸããïŒ
ãã«ãã¯ã©ã¹ã®ROCAUCããã§ã«ãã¯ãããã³ãã¯ãã§å¹³ååããããã§ã¯ãããŸãã
ãã®äŸã§å®è£ ãããåé¡ïŒhttp://scikit-learn.org/stable/auto_examples/model_
selection / plot_roc.htmlïŒmulticlass-settingsâ
ããªããèšåãããã®ã§ããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/scikit-learn/scikit-learn/issues/3298#issuecomment -249566346ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AAEz65IeU7k2CFwyHxTTAjk-5orIxWe6ks5qt8WsgaJpZM4CFzud
ã
ãã€ã¯ãã¢ãã¬ãŒãžã³ã°ã§ã¯ãçéœæ§çïŒTPRïŒã¯ããã¹ãŠã®ã¯ã©ã¹ã®ãã¹ãŠã®TPã®åèšãåãããã¹ãŠã®ã¯ã©ã¹ã®ãã¹ãŠã®TPãšFNã®åèšã§å²ãããšã«ãã£ãŠèšç®ãããŸããã€ãŸãã3ã¯ã©ã¹ã®åé¡ã®å Žåã§ãã
TPR =ïŒTP1 + TP2 + TP3ïŒ/ïŒTP1 + TP2 + TP3 + FN1 + FN2 + FN3ïŒ
æ··åè¡åã®äŸïŒ
[[1,2,3]ã
[4,5,6]ã
[7,8,9]]
TPR =ïŒ1 + 5 + 9ïŒ/ïŒ1 + 5 + 9 +ïŒ2 + 3ïŒ+ïŒ4 + 6ïŒ+ïŒ7 + 8ïŒïŒ
åœéœæ§çã«ã€ããŠãåãããšãè¡ããšãAUCãèšç®ã§ããŸãã
ãã¯ãå¹³ååã¯ãåã¯ã©ã¹ã®TPRãåå¥ã«èšç®ããããããå¹³ååããŸãïŒãã®ã¯ã©ã¹ã®äŸã®æ°ã§éã¿ä»ããããŠãããã©ããïŒã
TPR =ïŒ1/3ïŒ*ïŒTP1 /ïŒTP1 + FN1ïŒ+ TP2 /ïŒTP2 + FN2ïŒ+ TP2 /ïŒTP2 + FN2ïŒïŒ
åãäŸã§ïŒ
TPR =ïŒ1/3ïŒ*ïŒ1 /ïŒ1+ïŒ2 + 3ïŒïŒ+ 5 /ïŒ5+ïŒ4 + 6ïŒïŒ+ 9 /ïŒ9+ïŒ7 + 8ïŒïŒïŒ
ãã¶ãããã¯åœ¹ã«ç«ã¡ãŸãïŒããã¯ç²ŸåºŠã䜿çšããŸãããèãæ¹ã¯åãã§ãïŒïŒ
http://stats.stackexchange.com/questions/156923/should-i-make-decisions-based-on-micro-averaged-or-macro-averaged-evaluation-mea
å人çã«ã¯ãéã¿ä»ããããŠããªããã¯ãå¹³åã䜿çšããããšã¯ãããŸãããããããç 究ããè«æãèŠã€ããããšãã§ãããã©ããã確èªããŸãã
è«æïŒ
https://www.math.ucdavis.edu/~saito/data/roc/ferri-class-perf-metrics.pdf
ããã¯Rã§ãµããŒããããŠãããã®ã§ãïŒè¿œå ã®æç®ãå«ãïŒïŒ
https://mlr-org.github.io/mlr-tutorial/devel/html/measures/index.html
ããïŒ ç§ã¯å é±ãã®åé¡ã®èª¿æ»ãéå§ããããšãã§ããŸãããæ£ããæ¹åã«é²ãã§ããããšã確èªããããã«ãç°¡åãªæŽæ°/ããã€ãã®è³ªåãæçš¿ããããšæããŸããã
multiclass_roc_auc_score
å®è£
ããå§ããŠããŸãããã®é¢æ°ã§ã¯ãããã©ã«ãã§ãããã€ãã®average
ãã©ã¡ãŒã¿ãŒãNoneã«èšå®ãããŠããŸãã ãã®ããã©ã«ãã§ã¯ãHand-Tillã¢ã«ãŽãªãºã ã䜿çšãããŸãïŒåè¿°ã®ããã«ãããã¯ã©ãã«ã®äžåè¡¡ãèæ
®ããŠããŸããïŒãroc_auc_score
ãã©ã¡ãŒã¿ãŒãšåããã©ã¡ãŒã¿ãŒãåãå
¥ããŸããïŒy_true
ãroc_auc_score
ãèšç®ããŠããããããã®å¹³åããšãããšãå«ãŸããŸããããªããæã£ãŠãããããããªãã©ããªèšæ£/ææ¡ãç§ã«ç¥ãããŠãã ããïŒ
éåžžã roc_auc_score
åå©çšãåççã«å®è¡å¯èœã§ããã°ãå¥ã®é¢æ°ã®äœæã¯é¿ããŸãã ããã©ã«ããããã¯ããã®ãŸãŸã«ããŠããããšã¯èš±å®¹ã§ãããšæããŸãã
èæ
®ãã¹ãéèŠãªããšã®1ã€ã¯ãmetrics / tests / test_common.pyã®roc_auc_score
ã®ç¹æ§ã®å€æŽãªã©ããããã®å€æŽããã¹ãããæ¹æ³ã§ãã
ãããããã¥ã¡ã³ããæŽæ°ããå¿
èŠããããŸãã
@joaquinvanschorenèå³æ·±ãããšã«ããã®è«æã§ã¯ãäžèšã®ãã«ãã¯ã©ã¹AUCè«æãç¹ã«2005幎ã®Fawcettè«æã«ã€ããŠã¯èª¬æãããŠããŸããã§ããã
ãã®ãããçŸåšã¯ãã«ãã©ãã«ãããããŸããããã®ããã1vs1ãš1vsRestã䜿çšããŠãã«ãã¯ã©ã¹ãè¿œå ããããããã«éã¿ä»ããããããªã¢ã³ããšéã¿ä»ããããŠããªãããªã¢ã³ãããããŸãã
sample
ãšmicro
å¹³ååãAUCã§ã©ã®ããã«æ©èœããã®ãããããããŸãã:(
ã ãã...ç§ã¯ãã©ã¡ãŒã¿multi-class
ãAUCã«è¿œå ããããšãææ¡ããŸããããã¯ovo
ãŸãã¯ovr
ã§ãããéã¿ä»ããã©ã¡ãŒã¿ãèæ
®ããŸãã sample
ãšmicro
ãèš±å¯ããããã©ããã¯ããããŸãããããã¯ãç§ã«ã¯ããŸãæå³ããªãããã§ãã
@arjolyãªã®ã§ã micro
ãšsample
ã¯ãè¡åã®åã§ã¯ãªãè¡ã§åäœããŸããïŒ ããã«ã€ããŠã®è«æã¯ãããŸããïŒ ROCã®æç®ã§ã¯ããã¯èŠã€ãããŸããã§ããã
ããã«é¢ããåé¡ã¯ããã³ããã£ã«æž¬å®ãããã©ã«ãã«ããããã«ãå éå¹³åOvOãå®è¡ããå¿ èŠããããå éãªãã·ã§ã³ãå®éã«å€æŽã§ããªãããšã§ãã ã§ã¯ãããã©ã«ãã§OVRãå®è¡ãã説æã®äžã§ãåçåã䜿çšããOvOãé©åãªéžæã§ãããšèª¬æããåç §ãè¿œå ããŸããïŒ
@joaquinvanschorenãåŒçšããè«æã®èŠçŽã«ã¯ããã¹ãŠã®AUCããŒãžã§ã³ã§ã»ãŒåãçµæãåŸããããšãæžãããŠããŸãã
@amueller ïŒããªãã®ã³ã¡ã³ããããäžåºŠèªãæ©äŒããããŸããããããŠç§ã¯ãã®éšåã«ã€ããŠå°ãæ··ä¹±ããŠããŸãïŒ
ããã«é¢ããåé¡ã¯ããã³ããã£ã«æž¬å®ãããã©ã«ãã«ããããã«ãå éå¹³åOvOãå®è¡ããå¿ èŠããããå éãªãã·ã§ã³ãå®éã«å€æŽã§ããªãããšã§ãã ã§ã¯ãããã©ã«ãã§OVRãå®è¡ãã説æã®äžã§ãåçåã䜿çšããOvOãé©åãªéžæã§ãããšèª¬æããåç §ãè¿œå ããŸããïŒ
roc_auc_score
ãå€æŽããŠãå¿çã«åŸã£ãŠmulticlass=['ovo', 'ovr']
ãã©ã¡ãŒã¿ãŒãçµã¿èŸŒãã€ããroc_auc_score
ãã OvRãããã©ã«ãïŒ roc_auc_score(y_true, y_score, multiclass="ovo" ... )
ïŒã§ããããHandïŒTillãOvOã§ããå Žåãå®è£
ã®OvRéšåã«å¯ŸåŠããã«ã¯ã©ãããã°ããã§ããïŒ ïŒã€ãŸããy_trueããã«ãã¯ã©ã¹ã§ããããšãæ€åºãããå Žåããovrããå®è£
ãããŠããªãå Žåã¯ãšã©ãŒãçºçããããŠãŒã¶ãŒã«ãovoããæž¡ãããã«æ瀺ããŸããïŒïŒ
ç³ãèš³ãããŸãããã ovo
ãšovr
äž¡æ¹ãå®è£
ããããšãæåŸ
ããŠããŸãã;ïŒããã¯ããªãç°¡åãªã¯ãã ãšæããŸãã
@amueller ïŒæ³šç®ããããããçµã¿èŸŒãŸããŸãïŒ ãŸãã質åãããã£ãïŒãã«ãã¯ã©ã¹ãšãã«ãã©ãã«ã®éããæ€åºããæ¹æ³ã«ã€ããŠäœãã¢ããã€ã¹ã¯ãããŸããïŒ æåã¯ã y_score
ã®å¯žæ³ã確èªããŠããŸããããããã«ããã§ã¯äžååã§ããããšã«æ°ä»ããŸããã ïŒã€ãŸããã©ãã«ã0ãš1ã ãã§ããããšã確èªããã ãã§ããïŒïŒ
ãã«ãã©ãã«ãšã¯ãè€æ°ã®ã©ãã«ãäžåºŠã«äºæž¬ãããããšãæå³ããŸãã
ã€ã³ã¹ã¿ã³ã¹ããšã®äºæž¬ã®ãã¯ãã«ã ãã«ãã¯ã©ã¹ãšã¯ãã·ã³ã°ã«ãååŸããããšãæå³ããŸã
äºæž¬ã§ããããã®äºæž¬ã«ã¯3ã€ä»¥äžã®å€ãå«ããããšãã§ããŸãïŒããã§ã¯ãããŸããïŒ
ãã€ããªïŒã
æã
ã人ã
ã¯åºåãäºå€åããããšã«ãã£ãŠãã«ãã¯ã©ã¹ã®ã±ãŒã¹ã解決ããŸãã
ã€ã³ã¹ã¿ã³ã¹ããšã«è€æ°ã®ãã€ããªå€ãååŸãïŒãããã£ãŠãã«ãã©ãã«ïŒããã
å€ãã®å Žåãæ··ä¹±ãåŒãèµ·ãããŸãã
åå16æ33åã«2016幎10æïŒåïŒã8æ¥ããã£ã·ãŒã»é³[email protected]ã¯æžããŸããïŒ
@amueller https://github.com/amueller ïŒæ³šæããŠãã ããã
çµã¿èŸŒãŸããŠããŸãïŒ ãŸãã質åãããã£ãïŒæ¹æ³ã«ã€ããŠäœãã¢ããã€ã¹ã¯ãããŸãã
ãã«ãã¯ã©ã¹ãšãã«ãã©ãã«ã®éããæ€åºããŸããïŒ æåãç§ã¯
y_scoreã®æ¬¡å ããã§ãã¯ããã ãã§ãããããã«ããã«æ°ã¥ããŸãã
ååã§ã¯ãªãã§ããããâ
ããªããèšåãããã®ã§ããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/scikit-learn/scikit-learn/issues/3298#issuecomment -252427642ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/ABpQV7Mv0rHGEfrkYi5Xezz3PItyrLZ6ks5qx6mdgaJpZM4CFzud
ã
ããã«ã¡ã¯ã type_of_targetãmulti-label
ãšmulti-class
åºåãåºå¥ããç®çã解決ã§ããããšãé¡ã£ãŠããŸãã HTH
type_of_target
ã䜿çšããããšããå§ãããŸãã scikit-learnã§ã¯ã y
ã®æ¬¡å
ã¯ãå®éã«ã¯ãã«ãã©ãã«ãŸãã¯ãã«ãã¿ãŒã²ããã®ã©ã¡ããå®è¡ãããã瀺ãææšã§ãã @joaquinvanschorenãææ¡ããããã«åºåãäºå€åãããšãscikit-learnã¯åžžã«ãã«ãã©ãã«ãæ³å®ããŸãã
type_of_targetã¯ãy_truesã@ amuellerãåºå¥ããã®ã«é©ããŠããŸã
åå5æ18åã«2016幎10æ9æ¥ãã¢ã³ãã¬ã¢ã¹ã»ãã¥ãŒã©ãŒ[email protected]
æžããŸããïŒ
type_of_targetã䜿çšããããšããå§ãããŸãã scikit-learn
yã®æ¬¡å ã¯ãå®éã«ç§ãã¡ããããããã©ããã®ææšã§ã
ãã«ãã©ãã«ãŸãã¯ãã«ãã¿ãŒã²ããã åºåã次ã®ããã«2å€åããå Žå
@joaquinvanschorenhttps ïŒ//github.com/joaquinvanschorenææ¡
scikit-learnã¯åžžã«ãã«ãã©ãã«ãæ³å®ããŸããâ
ããªããèšåãããã®ã§ããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/scikit-learn/scikit-learn/issues/3298#issuecomment -252439908ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AAEz6wa5fnE_LX3LLXbCoc0Z4hBbSAQ0ks5qx95rgaJpZM4CFzud
ã
ã¿ãªãããããã«ã¡ã¯ãç§ããäºåãPRãæåºããããšããç¥ããããããšæããŸãã æ°ãããã¹ããããã¥ã¡ã³ãã®æèšãªã©ãè¿œå ããããã®ãã¹ããã©ã¯ãã£ã¹ãšãšãã«ãå®è£ ã«é¢ãããã£ãŒãããã¯ïŒããšãã°ãçŸåšãããåªããæ¹æ³ã§numpyãªã©ã掻çšããæ¹æ³ããããšç¢ºä¿¡ããŠããŸãïŒãèãããšã«èå³ããããŸãã
ãããŸã§ã®ãã¹ãŠã®å©ãã«æè¬ããŸãïŒ
AUCã®ãã«ãã¯ã©ã¹ãµããŒãã®è¿œå ã«é²å±ã¯ãããŸããïŒ
@joaquinvanschorenïŒïŒ7663ã«@jnothmanã«ãããã³ãŒãã¬ãã¥ãŒåŸã®æ¹èšã«åãçµãã§ããŸãã ç§ãäžéæãçµãã次ã®é±ã«å¥ã®æŽæ°ãæåºããå¯èœæ§ããããŸã
ããã«ã¡ã¯@ kathyxchen ã @ jnothman ã
PRã«é¢ããææ°æ å ±ã¯ãããŸããïŒ
AUCã®ãã«ãã¯ã©ã¹ãµããŒãã®è¿œå ã«é²å±ããããã©ããã確èªããããã«ãã§ãã¯ã€ã³ããã ãã§ããïŒ
äœãåãå
¥ããããäœãååã§ããããå€æããã®ã«èŠåŽããŠããŸã
ãã«ãã¯ã©ã¹ã®ROCAUCã®å®åŒåã èŠã
https://github.com/scikit-learn/scikit-learn/pull/7663#issuecomment -307566895
以äžã
ã ãã仲éã ãã«ãã¯ã©ã¹aucã¹ã³ã¢ã«é²å±ã¯ãããŸããïŒ ã¢ã€ãªã¹ããŒã¿ã»ãããšéåžžã«çŽããããå ¬åŒããã¥ã¡ã³ãã³ãŒããèŠã€ããŸããã ãã®æ¹æ³ã¯ãç§ã®ã¢ãã«ãä¹±æ°ãããªãããŸãäºæž¬ããããšã瀺ããŠããããã§ãã
ããã¯ã»ãŒå®äºããŠããŸããããŒãžããåã«APIã®è©³çŽ°ã決å®ããå¿ èŠããããŸãïŒ https ïŒ
@trendsearcheräŸã
åãã§ãæäŒãããŸãã äŸãæããã°ã©ãããã°ããã§ããïŒã³ãŒãããããããããããã§ãªãå ŽåããããŸãïŒ
çŽæçïŒïŒ å€åç§ã¯ããããã¬ãŒã³ããã¹ãã§æžãããšãã§ããŸããïŒ
ÑÑã18æ¥ã 2019гã в00ïŒ35ãã¢ã³ãã¬ã¢ã¹ãã¥ãŒã©ãŒ[email protected] ïŒ
@trendsearcherhttps ïŒ//github.com/trendsearcheræäŸã§ããŸãã
äŸããé¡ãããŸããïŒ ããŒãžãããŸããããåé¡ãçºçããã®ã確èªãããã®ã§ãã
çµéšè±å¯ãâ
ããªããèšåãããã®ã§ããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/scikit-learn/scikit-learn/issues/3298?email_source=notifications&email_token=AKS7QOFYRQY7RZJBWUVVJSTP76GDFA5CNFSM4AQXHOO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNX
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AKS7QOFQ5LAIZ2ZBR4M4EATP76GDFANCNFSM4AQXHOOQ
ã
ããã«ã¡ã¯ãç§ã¯ãã¯ãå¹³åROC / AUCã¹ã³ã¢ã®ãã©ãããå®è£ ããŸãããããããsklearnã«é©åãããã©ããã¯ããããŸããã
ã³ãŒãã¯æ¬¡ã®ãšããã§ãã
from sklearn.metrics import roc_auc_score from sklearn.preprocessing import LabelBinarizer def multiclass_roc_auc_score(truth, pred, average="macro"): lb = LabelBinarizer() lb.fit(truth) truth = lb.transform(truth) pred = lb.transform(pred) return roc_auc_score(truth, pred, average=average)
ããã»ã©ç°¡åã§ããããïŒ
@fbrunduå ±æããŠããã ãããããšãããããŸãïŒ ç§ã¯ããªãã®ã³ãŒããè©ŠããŸããã ãããããã®é¢æ°ãåŒã³åºããšãããã«ãåºåã¿ãŒã²ããããŒã¿ã¯ã©ãã«ã®2å€åã§ã¯ãµããŒããããŠããŸããããšããåé¡ãçºçããŸãã 次ã«ãé¢æ°å ã®ã³ãŒããpred = lb.transformïŒpredïŒããåé€ããŸãã ãã ããããµã³ãã«æ°ãäžè²«ããŠããªãå ¥åå€æ°ãèŠã€ãããŸããïŒ[198,4284]ããšããå¥ã®åé¡ãçºçããŸãã
ããã解決ããã®ãæäŒã£ãŠãããŸãããã ããããšãããããŸããïŒ
@ Junting-Wang
I meet a problem saying "Multioutput target data is not supported with label binarization".
ããªãã¯predict_probaã®ä»£ããã«predictã䜿ããªããã°ãªããŸãã
@fbrunduã¯ããªãã®å®è£ ã¯æ£ããã§ããïŒ ç§ã¯ããã䜿çšããŠåäœããŸãã
æãåèã«ãªãã³ã¡ã³ã
ãã€ã¯ãã¢ãã¬ãŒãžã³ã°ã§ã¯ãçéœæ§çïŒTPRïŒã¯ããã¹ãŠã®ã¯ã©ã¹ã®ãã¹ãŠã®TPã®åèšãåãããã¹ãŠã®ã¯ã©ã¹ã®ãã¹ãŠã®TPãšFNã®åèšã§å²ãããšã«ãã£ãŠèšç®ãããŸããã€ãŸãã3ã¯ã©ã¹ã®åé¡ã®å Žåã§ãã
TPR =ïŒTP1 + TP2 + TP3ïŒ/ïŒTP1 + TP2 + TP3 + FN1 + FN2 + FN3ïŒ
æ··åè¡åã®äŸïŒ
[[1,2,3]ã
[4,5,6]ã
[7,8,9]]
TPR =ïŒ1 + 5 + 9ïŒ/ïŒ1 + 5 + 9 +ïŒ2 + 3ïŒ+ïŒ4 + 6ïŒ+ïŒ7 + 8ïŒïŒ
åœéœæ§çã«ã€ããŠãåãããšãè¡ããšãAUCãèšç®ã§ããŸãã
ãã¯ãå¹³ååã¯ãåã¯ã©ã¹ã®TPRãåå¥ã«èšç®ããããããå¹³ååããŸãïŒãã®ã¯ã©ã¹ã®äŸã®æ°ã§éã¿ä»ããããŠãããã©ããïŒã
TPR =ïŒ1/3ïŒ*ïŒTP1 /ïŒTP1 + FN1ïŒ+ TP2 /ïŒTP2 + FN2ïŒ+ TP2 /ïŒTP2 + FN2ïŒïŒ
åãäŸã§ïŒ
TPR =ïŒ1/3ïŒ*ïŒ1 /ïŒ1+ïŒ2 + 3ïŒïŒ+ 5 /ïŒ5+ïŒ4 + 6ïŒïŒ+ 9 /ïŒ9+ïŒ7 + 8ïŒïŒïŒ
ãã¶ãããã¯åœ¹ã«ç«ã¡ãŸãïŒããã¯ç²ŸåºŠã䜿çšããŸãããèãæ¹ã¯åãã§ãïŒïŒ
http://stats.stackexchange.com/questions/156923/should-i-make-decisions-based-on-micro-averaged-or-macro-averaged-evaluation-mea
å人çã«ã¯ãéã¿ä»ããããŠããªããã¯ãå¹³åã䜿çšããããšã¯ãããŸãããããããç 究ããè«æãèŠã€ããããšãã§ãããã©ããã確èªããŸãã