§
    ¨éUgó¨ ã                   óZ  — d dl Z d dlZd dlmZ d dlmZmZmZ d dlZ	d dl
Z
d dlmZ d dlmZ d dlmZ d dlmZmZ d dlmZ d d	lmZ d d
lmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z. d dl/m0Z0m1Z1 d dl2m3Z3 d dl4m5Z5m6Z6 d dl7m8Z8 d dl9m:Z: d dl;m<Z<m=Z=m>Z>m?Z?m@Z@mAZA d dlBmCZC d dlDmEZEmFZF d dlGmHZH dÈd„ZId„ ZJd„ ZKe
jL         M                    ddd de	jN        g¦  «        d„ ¦   «         ZOe
jL         M                    dd gdfd dgdfg d¢dfg¦  «        d„ ¦   «         ZPd „ ZQd!„ ZReAd"„ ¦   «         ZSeAd#„ ¦   «         ZTeAd$„ ¦   «         ZUd%„ ZVe
jL         M                    d&g d'¢ e	jW        g d(¢g d)¢g d*¢g d+¢g¦  «        fg d,¢g d-¢fg¦  «        d.„ ¦   «         ZXe
jL         M                    d&g d/¢ e	jW        g d+¢g d+¢g d0¢g d0¢g d1¢g¦  «        fg d2¢g d3¢fg¦  «        d4„ ¦   «         ZYd5„ ZZd6„ Z[d7„ Z\d8„ Z]e
jL         M                    d9eE¦  «        e
jL         M                    d:eF¦  «        d;„ ¦   «         ¦   «         Z^d<„ Z_e
jL         M                    d=g d>¢¦  «        d?„ ¦   «         Z`d@„ ZadA„ Zbe
jL         M                    dB e	jW        g dC¢¦  «         e	jW        g dC¢¦  «        dDœdEf e	jW        g dF¢¦  «         e	jW        g dF¢¦  «        dDœdGf e	jW        g dF¢¦  «         e	jW        g dC¢¦  «        dDœdHf e	jW        g dF¢¦  «         e	jW        g dI¢¦  «        dDœdJf e	jW        g dC¢¦  «         e	jW        g dF¢¦  «        dDœdKfg¦  «        dL„ ¦   «         Zce
jL         M                    dM e	jW        g dN¢¦  «         e	jW        g dO¢¦  «        dDœdPfg¦  «        dQ„ ¦   «         ZddR„ ZedS„ ZfdT„ Zge
jL         M                    dd de	jN        g¦  «        e
jL         M                    dUd gd gfg g fg¦  «        e
jL         M                    dVe" ee#d¬W¦  «        e,e-g¦  «        dX„ ¦   «         ¦   «         ¦   «         Zhe
jL         M                    dUd gd gfg g fg¦  «        e
jL         M                    dVe" ee#d¬W¦  «        e,e-g¦  «        dY„ ¦   «         ¦   «         ZidZ„ Zjd[„ Zkd\„ Zld]„ Zme
jL         M                    d^d_d`g¦  «        da„ ¦   «         Zndb„ Zoe
jL         M                    dcg dd¢¦  «        de„ ¦   «         Zpdf„ Zqdg„ Zrdh„ Zse
jL         M                    dig djfdkdlgdmfgdndog¬p¦  «        dq„ ¦   «         Zte
jL         M                    drdd dgg d¢fg ds¢¬p¦  «        dt„ ¦   «         Zudu„ Zve
jL         M                    dvg dw¢¦  «        dx„ ¦   «         Zwdy„ Zxdz„ Zyd{„ Zzd|„ Z{d}„ Z|d~„ Z}d„ Z~d€„ Zd�„ Z€eAd‚„ ¦   «         Z�dƒ„ Z‚d„„ Zƒd…„ Z„d†„ Z…d‡„ Z†dˆ„ Z‡d‰„ Zˆe
jL         M                    dŠd‹dŒg¦  «        d�„ ¦   «         Z‰eAdŽ„ ¦   «         ZŠeAd�„ ¦   «         Z‹eAe
jL         M                    d�d‘d‹d’e	jN        e	jN        fg¦  «        d“„ ¦   «         ¦   «         ZŒe
jL         M                    d”dg¦  «        e
jL         M                    dcg d•¢¦  «        e
jL         M                    dd de	jN        g¦  «        d–„ ¦   «         ¦   «         ¦   «         Z�e
jL         M                    dcg d•¢¦  «        d—„ ¦   «         ZŽe
jL         M                    dd de	jN        g¦  «        d˜„ ¦   «         Z�d™„ Z�dš„ Z‘e
jL         M                    dd de	jN        g¦  «        d›„ ¦   «         Z’e
jL         M                    ddd de	jN        g¦  «        dœ„ ¦   «         Z“e
jL         M                    ddd de	jN        g¦  «        d�„ ¦   «         Z”e
jL         M                    ddd de	jN        g¦  «        dž„ ¦   «         Z•dŸ„ Z–d „ Z—d¡„ Z˜d¢„ Z™d£„ Zšd¤„ Z›d¥„ Zœd¦„ Z�d§„ Zžd¨„ ZŸd©„ Z e
jL         M                    dve	j¡        e	j¢        e	j£        g¦  «        dª„ ¦   «         Z¤e
jL         M                    dve	j¡        e	j¢        e	j£        g¦  «        d«„ ¦   «         Z¥e
jL         M                    dUg d¬¢g d¬¢fg d¬¢dd gd dgdd ggfg d¢g d­¢g d¬¢g d®¢gfg¦  «        d¯„ ¦   «         Z¦d°„ Z§d±„ Z¨d²„ Z©e
jL         M                    d³g d´¢g dµ¢fg d¶¢g dµ¢fg dµ¢g d¶¢fg¦  «        d·„ ¦   «         Zªe
jL         M                    dVe&e" ee#d¸¬W¦  «        e+e,e-eg¦  «        e
jL         M                    d¹g dº¢¦  «        d»„ ¦   «         ¦   «         Z«e
jL         M                    d¼ e	jW        d dg¦  «         e	jW        dd g¦  «        d½f e	jW        d dg¦  «         e	jW        d dg¦  «        d¾f e	jW        d dg¦  «         e	jW        d d g¦  «        d½f e	jW        d d g¦  «         e	jW        d d g¦  «        d¾fg¦  «        d¿„ ¦   «         Z¬e
jL         M                    dÀ e(e"e	jN        ¬Á¦  «         e(e#dÂe	jN        ¬Ã¦  «         e(e,e	jN        ¬Á¦  «         e(e-e	jN        ¬Á¦  «        g¦  «        dÄ„ ¦   «         Z­dÅ„ Z®dÆ„ Z¯dÇ„ Z°dS )Éé    N)Úpartial)ÚchainÚpermutationsÚproduct)Úlinalg)Úhamming)Ú	bernoulli)ÚdatasetsÚsvm)Úmake_multilabel_classification)ÚUndefinedMetricWarning)Úaccuracy_scoreÚaverage_precision_scoreÚbalanced_accuracy_scoreÚbrier_score_lossÚclass_likelihood_ratiosÚclassification_reportÚcohen_kappa_scoreÚconfusion_matrixÚf1_scoreÚfbeta_scoreÚhamming_lossÚ
hinge_lossÚjaccard_scoreÚlog_lossÚmake_scorerÚmatthews_corrcoefÚmultilabel_confusion_matrixÚprecision_recall_fscore_supportÚprecision_scoreÚrecall_scoreÚzero_one_loss)Ú_check_targetsÚd2_log_loss_score)Úcross_val_score)ÚLabelBinarizerÚlabel_binarize)ÚDecisionTreeClassifier)ÚMockDataFrame)Úassert_allcloseÚassert_almost_equalÚassert_array_almost_equalÚassert_array_equalÚassert_no_warningsÚignore_warnings)Ú_nanaverage)ÚCSC_CONTAINERSÚCSR_CONTAINERS)Úcheck_random_stateFc                 óü  — | €t          j        ¦   «         } | j        }| j        }|r||dk              ||dk              }}|j        \  }}t          j        |¦  «        }t          d¦  «        }|                     |¦  «         ||         ||         }}t          |dz  ¦  «        }t
          j
                             d¦  «        }t
          j        ||                     |d|z  ¦  «        f         }t          j        ddd¬¦  «        }	|	                     |d|…         |d|…         ¦  «                             ||d…         ¦  «        }
|r|
dd…d	f         }
|	                     ||d…         ¦  «        }||d…         }|||
fS )
z¼Make some classification predictions on a toy dataset using a SVC

    If binary is True restrict to a binary classification problem instead of a
    multiclass classification problem
    Né   é%   r   éÈ   ÚlinearT)ÚkernelÚprobabilityÚrandom_stateé   )r
   Ú	load_irisÚdataÚtargetÚshapeÚnpÚaranger3   ÚshuffleÚintÚrandomÚRandomStateÚc_Úrandnr   ÚSVCÚfitÚpredict_probaÚpredict)ÚdatasetÚbinaryÚXÚyÚ	n_samplesÚ
n_featuresÚpÚrngÚhalfÚclfÚy_pred_probaÚy_predÚy_trues                úh/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/sklearn/metrics/tests/test_classification.pyÚmake_predictionr[   ;   sz  € ð €åÔ$Ñ&Ô&ˆàŒ€AØŒ€Aàð "à��Q’Œx˜˜1˜qš5œˆ1ˆàœGÑ€IˆzÝ
Œ	�)ÑÔ€Aå
˜RÑ
 Ô
 €CØ‡K‚K��N„N€NØˆQŒ4��1”€q€AÝˆy˜1‰}ÑÔ€Dõ Œ)×
Ò
 Ñ
"Ô
"€CÝ
Œˆa�—’˜9 c¨JÑ&6Ñ7Ô7Ð7Ô8€Aõ Œ'˜¨tÀ!Ð
DÑ
DÔ
D€CØ—7’7˜1˜U˜d˜Uœ8 Q u¨ u¤XÑ.Ô.×<Ò<¸Q¸t¸u¸u¼XÑFÔF€Làð *ð $ A A A q DÔ)ˆà�[Š[˜˜4˜5˜5œÑ"Ô"€FØˆtˆuˆuŒX€FØ�6˜<Ð'Ð'ó    c            
      óÔ  — t          j        ¦   «         } t          | d¬¦  «        \  }}}dddddœdd	d
ddœdddddœdddddœddddddœdœ}t          ||t	          j        t          | j        ¦  «        ¦  «        | j        d¬¦  «        }|                     ¦   «         |                     ¦   «         k    sJ ‚|D ]¥}|dk    r2t          ||         t          ¦  «        sJ ‚||         ||         k    sJ ‚Œ:||                              ¦   «         ||                              ¦   «         k    sJ ‚||         D ]*}t          ||         |         ||         |         ¦  «         Œ+Œ¦t          |d         d         t          ¦  «        sJ ‚t          |d         d         t          ¦  «        sJ ‚t          |d         d         t          ¦  «        sJ ‚t          |d         d         t          ¦  «        sJ ‚d S ) NF©rM   rN   g§7½éMoê?gUUUUUUé?gh£¾³Qßé?é   )Ú	precisionÚrecallúf1-scoreÚsupportçUUUUUUÕ?gÆcŒ1Æ¸?g433333Ã?é   g³¦¬)kÊÚ?çÍÌÌÌÌÌì?ç“$I’$Iâ?é   gCÜFÁQà?g�¼cÕà?g¿��Æ¢ã?éK   ©rb   r`   ra   rc   gá?gDÖ~WGÞ?g]žè3«pà?)ÚsetosaÚ
versicolorÚ	virginicaú	macro avgÚaccuracyúweighted avgT)ÚlabelsÚtarget_namesÚoutput_dictro   rk   r`   rn   rc   )r
   r=   r[   r   rA   rB   Úlenrr   ÚkeysÚ
isinstanceÚfloatr+   rD   )ÚirisrY   rX   Ú_Úexpected_reportÚreportÚkeyÚmetrics           rZ   Ú,test_classification_report_dictionary_outputr~   k   sd  € åÔÑÔ€DÝ'°¸UÐCÑCÔCÑ€FˆF�Að
 -Ø)Ø*Øð	
ð 
ð -Ø*Ø+Øð	
ð 
ð -Ø)Ø+Øð	
ð 
ð +Ø+Ø'Øð	
ð 
ð 'à+Ø+Ø(Øð	
ð 
ð5 ð  €OõD #ØØÝŒy�˜TÔ.Ñ/Ô/Ñ0Ô0ØÔ&Øðñ ô €Fð �;Š;‰=Œ=˜O×0Ò0Ñ2Ô2Ò2Ð2Ð2Ð2Øð Wð WˆØ�*ÒÐÝ˜f Sœk­5Ñ1Ô1Ð1Ð1Ð1Ø˜#”; /°#Ô"6Ò6Ð6Ð6Ð6Ð6à˜#”;×#Ò#Ñ%Ô%¨¸Ô)=×)BÒ)BÑ)DÔ)DÒDÐDÐDÐDØ)¨#Ô.ð Wð W�Ý# O°CÔ$8¸Ô$@À&ÈÄ+ÈfÔBUÑVÔVÐVÐVðWõ �o hÔ/°Ô<½eÑDÔDÐDÐDÐDÝ�o kÔ2°;Ô?ÅÑGÔGÐGÐGÐGÝ�o hÔ/°	Ô:½CÑ@Ô@Ð@Ð@Ð@Ý�o kÔ2°9Ô=½sÑCÔCÐCÐCÐCÐCÐCr\   c                  ó˜  — t          g g d¬¦  «        } dt          j        t          j        t          j        ddœt          j        t          j        t          j        ddœdœ}t          | t          ¦  «        sJ ‚|                      ¦   «         |                     ¦   «         k    sJ ‚|D ]¥}|dk    r2t          | |         t          ¦  «        sJ ‚| |         ||         k    sJ ‚Œ:| |                              ¦   «         ||                              ¦   «         k    sJ ‚||         D ]*}t          ||         |         | |         |         ¦  «         Œ+Œ¦d S )NT)rY   rX   rs   ç        r   rj   )ro   rn   rp   ro   )r   rA   Únanrv   Údictru   rw   r+   )r{   rz   r|   r}   s       rZ   Ú2test_classification_report_output_dict_empty_inputrƒ   ¬   so  € Ý"¨"°RÀTÐJÑJÔJ€FàåœÝœÝ”fØð	
ð 
õ œÝœÝ”fØð	
ð 
ðð €Oõ �f�dÑ#Ô#Ð#Ð#Ð#à�;Š;‰=Œ=˜O×0Ò0Ñ2Ô2Ò2Ð2Ð2Ð2Øð Wð WˆØ�*ÒÐÝ˜f Sœk­5Ñ1Ô1Ð1Ð1Ð1Ø˜#”; /°#Ô"6Ò6Ð6Ð6Ð6Ð6à˜#”;×#Ò#Ñ%Ô%¨¸Ô)=×)BÒ)BÑ)DÔ)DÒDÐDÐDÐDØ)¨#Ô.ð Wð W�Ý# O°CÔ$8¸Ô$@À&ÈÄ+ÈfÔBUÑVÔVÐVÐVðWðWð Wr\   Úzero_divisionÚwarnr<   c                 ó  — g d¢g d¢}}t          j        d¬¦  «        5 }t          ||| d¬¦  «         | dk    r5t          |¦  «        dk    sJ ‚|D ]}d}|t	          |j        ¦  «        v sJ ‚Œn|rJ ‚d d d ¦  «         d S # 1 swxY w Y   d S )	N©ÚaÚbÚc)rˆ   r‰   ÚdT©Úrecord)r„   rs   r…   r<   z7Use `zero_division` parameter to control this behavior.)ÚwarningsÚcatch_warningsr   rt   ÚstrÚmessage)r„   rY   rX   r�   ÚitemÚmsgs         rZ   Ú0test_classification_report_zero_division_warningr”   Ê   s  € à$�_�_ o o oˆF€FÝ	Ô	 ¨Ð	-Ñ	-Ô	-ð 
°ÝØ�F¨-ÀTð	
ñ 	
ô 	
ð 	
ð ˜FÒ"Ð"Ý�v‘;”; ’?�?�?�?Øð 0ð 0�ØO�Ø�c $¤,Ñ/Ô/Ð/Ð/Ð/Ð/Ð/ð0ð ÐÐÐð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   žAA>Á>BÂBzlabels, show_micro_avgT©r   r<   r5   c                 ót   — ddgddg}}t          ||| d¬¦  «        }|rd|v sJ ‚d|vsJ ‚dS d|v sJ ‚d|vsJ ‚dS )a3  Check the behaviour of passing `labels` as a superset or subset of the labels.
    WHen a superset, we expect to show the "accuracy" in the report while it should be
    the micro-averaging if this is a subset.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/27927
    r   r<   T)rq   rs   z	micro avgro   N©r   )rq   Úshow_micro_avgrY   rX   r{   s        rZ   Ú1test_classification_report_labels_subset_supersetr™   Ú   sƒ   € ð ˜�V˜a ˜VˆF€Få" 6¨6¸&ÈdÐSÑSÔS€FØð )Ø˜fÐ$Ð$Ð$Ð$Ø Ð'Ð'Ð'Ð'Ð'Ð'à˜VÐ#Ð#Ð#Ð#Ø &Ð(Ð(Ð(Ð(Ð(Ð(r\   c                  óF  — t          j        g d¢g d¢g¦  «        } t          j        g d¢g d¢g¦  «        }t          | |¦  «        dk    sJ ‚t          | | ¦  «        dk    sJ ‚t          ||¦  «        dk    sJ ‚t          |t          j        |¦  «        ¦  «        dk    sJ ‚t          | t          j        | ¦  «        ¦  «        dk    sJ ‚t          | t          j        | j        ¦  «        ¦  «        dk    sJ ‚t          |t          j        | j        ¦  «        ¦  «        dk    sJ ‚d S )N©r   r<   r<   ©r<   r   r<   ©r   r   r<   ç      à?r<   r   )rA   Úarrayr   Úlogical_notÚzerosr@   ©Úy1Úy2s     rZ   Ú.test_multilabel_accuracy_score_subset_accuracyr¥   ñ   s)  € å	Œ�9�9�9˜i˜i˜iÐ(Ñ	)Ô	)€BÝ	Œ�9�9�9˜i˜i˜iÐ(Ñ	)Ô	)€Bå˜"˜bÑ!Ô! SÒ(Ð(Ð(Ð(Ý˜"˜bÑ!Ô! QÒ&Ð&Ð&Ð&Ý˜"˜bÑ!Ô! QÒ&Ð&Ð&Ð&Ý˜"�bœn¨RÑ0Ô0Ñ1Ô1°QÒ6Ð6Ð6Ð6Ý˜"�bœn¨RÑ0Ô0Ñ1Ô1°QÒ6Ð6Ð6Ð6Ý˜"�bœh r¤xÑ0Ô0Ñ1Ô1°QÒ6Ð6Ð6Ð6Ý˜"�bœh r¤xÑ0Ô0Ñ1Ô1°QÒ6Ð6Ð6Ð6Ð6Ð6r\   c                  óL  — t          d¬¦  «        \  } }}t          | |d ¬¦  «        \  }}}}t          |ddgd¦  «         t          |ddgd¦  «         t          |d	d
gd¦  «         t          |ddg¦  «         i t          fddit          ffD ]˜\  }} |t
          | |fi |¤Ž}	t          |	dd¦  «          |t          | |fi |¤Ž}
t          |
dd¦  «          |t          | |fi |¤Ž}t          |d
d¦  «         t           |t          | |fddi|¤Žd|	z  |
z  d|	z  |
z   z  d¦  «         Œ™d S )NT©rN   ©Úaverageg\�Âõ(\ç?g333333ë?r5   g)\�Âõ(ì?gÃõ(\�Âå?çš™™™™™é?gR¸…ëQè?é   r©   rN   Úbetaé   é   )
r[   r   r,   r-   r.   r    r!   r   r+   r   )rY   rX   ry   rS   ÚrÚfÚsÚkwargsÚ	my_assertÚpsÚrsÚfss               rZ   Ú%test_precision_recall_f1_score_binaryr·   ÿ   s   € å'¨tÐ4Ñ4Ô4Ñ€FˆF�Aõ 1°¸ÈÐNÑNÔN�J€A€qˆ!ˆQÝ˜a $¨ ¨qÑ1Ô1Ð1Ý˜a $¨ ¨qÑ1Ô1Ð1Ý˜a $¨ ¨qÑ1Ô1Ð1Ý�q˜2˜r˜(Ñ#Ô#Ð#ð 
ÕÐ Ø
�XÐ	Õ 2Ð3ðð 
ð 
Ñˆ�	ð ˆY•¨°ÐAÐA¸&ÐAÐAˆÝ! " d¨AÑ.Ô.Ð.àˆY•| V¨VÐ>Ð>°vÐ>Ð>ˆÝ! " d¨AÑ.Ô.Ð.àˆY•x ¨Ð:Ð:°6Ð:Ð:ˆÝ! " d¨AÑ.Ô.Ð.åØˆI•k 6¨6ÐDÐD¸ÐD¸VÐDÐDØ˜‰O˜bÑ  D¨2¡I°¡NÑ3Øñ	
ô 	
ð 	
ð 	
ð
ð 
r\   c                  óf  — dt          ddgddg¦  «        k    sJ ‚dt          ddgddg¦  «        k    sJ ‚dt          ddgddg¦  «        k    sJ ‚dt          ddgddgd¬¦  «        k    sJ ‚dt          ddgddg¦  «        k    sJ ‚dt          ddgddg¦  «        k    sJ ‚dt          ddgddg¦  «        k    sJ ‚dt          ddgddgt	          d¦  «        ¬¦  «        k    sJ ‚t          ddgddgt	          d¦  «        ¬¦  «        t          j        t          ddgddgd¬¦  «        ¦  «        k    sJ ‚d S )	Nç      ð?r<   r   ©r¬   r€   éÿÿÿÿÚinfg     jø@)r    r!   r   r   rw   ÚpytestÚapprox© r\   rZ   Ú+test_precision_recall_f_binary_single_classrÀ   !  s”  € ð
 •/ 1 a &¨1¨a¨&Ñ1Ô1Ò1Ð1Ð1Ð1Ø•,  1˜v¨¨1 vÑ.Ô.Ò.Ð.Ð.Ð.Ø•(˜A˜q˜6 A q 6Ñ*Ô*Ò*Ð*Ð*Ð*Ø•+˜q !˜f q¨! f°1Ð5Ñ5Ô5Ò5Ð5Ð5Ð5à•/ 2 r (¨R°¨HÑ5Ô5Ò5Ð5Ð5Ð5Ø•,  B˜x¨"¨b¨Ñ2Ô2Ò2Ð2Ð2Ð2Ø•(˜B ˜8 b¨" XÑ.Ô.Ò.Ð.Ð.Ð.Ø•+˜r 2˜h¨¨R¨µu¸U±|´|ÐDÑDÔDÒDÐDÐDÐDÝ˜˜B�x " b µ°e±´Ð=Ñ=Ô=ÅÄÝ�R˜�H˜r 2˜h¨SÐ1Ñ1Ô1ñBô Bò ð ð ð ð ð r\   c                  ó   — g d¢} g d¢}t          | t          j        d¦  «        ¬¦  «        }t          |t          j        d¦  «        ¬¦  «        }| |f||fg}t          |¦  «        D ]®\  }\  } }t	          | |g d¢d ¬¦  «        }t          g d¢|¦  «         t	          | |g d¢d¬¦  «        }t          t          j        g d¢¦  «        |¦  «         d	D ]C}|d
k    r|dk    rŒt          t	          | |g d¢|¬¦  «        t	          | |d |¬¦  «        ¦  «         ŒDŒ¯dD ]¯}t          j	        t          ¦  «        5  t	          ||t          j        d¦  «        |¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j	        t          ¦  «        5  t	          ||t          j        dd¦  «        |¬¦  «         d d d ¦  «         n# 1 swxY w Y   Œ°t          j        g d¢g d¢g¦  «        } t          j        g d¢g d¢g¦  «        }t          | |d
ddg¬¦  «        \  }}	}
}t          t          j        ||	|
g¦  «        t          j        g d¢¦  «        ¦  «         d S )N)r<   é   rÂ   r5   )r<   r<   rÂ   r5   r­   ©Úclasses)r   r<   r5   rÂ   r®   ©rq   r©   )r€   r¹   r¹   rž   r€   Úmacro)ÚmicroÚweightedÚsamplesrÉ   r   )NrÆ   rÇ   rÉ   é   r»   r®   r›   ©r<   r   r   ©r<   r<   r<   rœ   r<   ©r©   rq   )ç      è?r<   ç«ªªªªªê?)r'   rA   rB   Ú	enumerater!   r,   Úmeanr+   r½   ÚraisesÚ
ValueErrorrŸ   r   )rY   rX   Ú
y_true_binÚ
y_pred_binr>   ÚiÚactualr©   rS   r¯   r°   ry   s               rZ   Ú$test_precision_recall_f_extra_labelsrØ   4  s.  € ð ˆ\ˆ\€FØˆ\ˆ\€FÝ µ´	¸!±´Ð=Ñ=Ô=€JÝ µ´	¸!±´Ð=Ñ=Ô=€JØ�VÐ˜z¨:Ð6Ð7€Då(¨™œð ð ÑˆÑˆF�Få˜f f°_°_°_ÈdÐSÑSÔSˆÝ!Ð";Ð";Ð";¸VÑDÔDÐDõ ˜f f°_°_°_ÈgÐVÑVÔVˆÝ!¥"¤'Ð*CÐ*CÐ*CÑ"DÔ"DÀfÑMÔMÐMð 8ð 	ð 	ˆGØ˜)Ò#Ð#¨¨Qª¨ØÝÝ˜V V°O°O°OÈWÐUÑUÔUÝ˜V V°DÀ'ÐJÑJÔJñô ð ð ð	ð 7ð ð ˆÝŒ]�:Ñ&Ô&ð 	Wð 	WÝ˜ Z½¼	À!¹¼ÈgÐVÑVÔVÐVð	Wð 	Wð 	Wñ 	Wô 	Wð 	Wð 	Wð 	Wð 	Wð 	Wð 	Wøøøð 	Wð 	Wð 	Wð 	WåŒ]�:Ñ&Ô&ð 	ð 	ÝØ˜J­r¬y¸¸QÑ/?Ô/?Èðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	øõ ŒX�y�y�y ) ) )Ð,Ñ-Ô-€FÝŒX�y�y�y ) ) )Ð,Ñ-Ô-€FÝ0Ø� 	°1°a°&ðñ ô �J€A€qˆ!ˆQõ �œ ! Q¨ Ñ+Ô+­R¬XÐ6GÐ6GÐ6GÑ-HÔ-HÑIÔIÐIÐIÐIs$   Ä2&E$Å$E(	Å+E(	Æ'F;Æ;F?	ÇF?	c                  ó\  — g d¢} g d¢}t          | t          j        d¦  «        ¬¦  «        }t          |t          j        d¦  «        ¬¦  «        }| |f||fg}t          |¦  «        D ]Å\  }\  } }t	          t
          | |ddg¬¦  «        }t	          t
          | |d ¬¦  «        }t          dd	g |d ¬
¦  «        ¦  «         t          d |d¬
¦  «        ¦  «         t          d |d¬
¦  «        ¦  «         t          d |d¬
¦  «        ¦  «         dD ]} ||¬
¦  «         ||¬
¦  «        k    sJ ‚ŒŒÆd S )N)r<   r<   r5   rÂ   )r<   rÂ   rÂ   rÂ   r­   rÃ   r<   rÂ   ©rq   rž   r¹   r¨   rÎ   rÆ   çUUUUUUå?rÈ   rÇ   )rÆ   rÈ   rÇ   )r'   rA   rB   rÐ   r   r!   r,   r+   )	rY   rX   rÔ   rÕ   r>   rÖ   Ú	recall_13Ú
recall_allr©   s	            rZ   Ú&test_precision_recall_f_ignored_labelsrÞ   b  s{  € ð ˆ\ˆ\€FØˆ\ˆ\€FÝ µ´	¸!±´Ð=Ñ=Ô=€JÝ µ´	¸!±´Ð=Ñ=Ô=€JØ�VÐ˜z¨:Ð6Ð7€Då(¨™œð Mð MÑˆÑˆF�FÝ�L¨&°&À!ÀQÀÐHÑHÔHˆ	Ý�\¨6°6À$ÐGÑGÔGˆ
å! 3¨ *¨i¨iÀÐ.EÑ.EÔ.EÑFÔFÐFÝ˜O¨Y¨Y¸wÐ-GÑ-GÔ-GÑHÔHÐHÝÐ3°Y°YÀzÐ5RÑ5RÔ5RÑSÔSÐSÝ˜G Y Y°wÐ%?Ñ%?Ô%?Ñ@Ô@Ð@ð 6ð 	Mð 	MˆGØ�9 WÐ-Ñ-Ô-°°ÀGÐ1LÑ1LÔ1LÒLÐLÐLÐLÐLð	MðMð Mr\   c            	      ó.  — t          j        g d¢g d¢g d¢g d¢g d¢g d¢g¦  «        } t          j        g d¢g d¢g d¢g d	¢g d
¢g d¢g¦  «        }d}t          j        t          |¬¦  «        5  t          | |d¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z:Test multiclass-multiouptut for `average_precision_score`.)r5   r5   r<   ©r<   r5   r   r•   ©r<   r5   r<   )r5   r   r<   ©çffffffæ?çš™™™™™É?çš™™™™™¹?©çš™™™™™Ù?ç333333Ó?rè   ©rå   rª   rå   ©rä   rè   rž   )rç   rç   rä   )rå   rä   rã   z.multiclass-multioutput format is not supported©Úmatchr5   ©Ú	pos_labelN)rA   rŸ   r½   rÒ   rÓ   r   )rY   Úy_scoreÚerr_msgs      rZ   Ú-test_average_precision_score_non_binary_classrñ   y  s  € åŒXàˆIˆIØˆIˆIØˆIˆIØˆIˆIØˆIˆIØˆIˆIð	
ñ	ô 	€Fõ ŒhàˆOˆOØˆOˆOØˆOˆOØˆOˆOØˆOˆOØˆOˆOð	
ñ	ô 	€Gð ?€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð >ð >Ý ¨¸1Ð=Ñ=Ô=Ð=ð>ð >ð >ñ >ô >ð >ð >ð >ð >ð >ð >ð >øøøð >ð >ð >ð >ð >ð >s   Á*B
Â
BÂBzy_true, y_score©r   r   r<   r5   râ   ræ   ré   rê   )r   r   r   r   r<   r<   r<   r<   r<   r<   r<   )r   rå   rå   rç   rž   ç333333ã?ró   rf   rf   r<   r<   c                 ó2   — t          | |¦  «        dk    sJ ‚dS )a(  
    Duplicate values with precision-recall require a different
    processing than when computing the AUC of a ROC, because the
    precision-recall curve is a decreasing curve
    The following situation corresponds to a perfect
    test statistic, the average_precision_score should be 1.
    r<   N©r   ©rY   rï   s     rZ   Ú-test_average_precision_score_duplicate_valuesr÷   ”  s%   € õ8 # 6¨7Ñ3Ô3°qÒ8Ð8Ð8Ð8Ð8Ð8r\   )r5   r5   r<   r<   r   )rç   rž   rè   )rª   rž   rè   r›   )rž   rž   ró   c                 ó2   — t          | |¦  «        dk    sJ ‚d S )Nr¹   rõ   rö   s     rZ   Ú(test_average_precision_score_tied_valuesrù   ³  s%   € õ: # 6¨7Ñ3Ô3°sÒ:Ð:Ð:Ð:Ð:Ð:r\   c                  ó    — d} t          j        t          | ¬¦  «        5  t          g d¢g d¢dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzšNote that pos_label \(set to 2\) is ignored when average != 'binary' \(got 'macro'\). You may use labels=\[pos_label\] to specify a single positive class.rë   rá   ©r<   r5   r5   r5   rÆ   ©rî   r©   )r½   ÚwarnsÚUserWarningr   ©r“   s    rZ   Ú(test_precision_recall_f_unused_pos_labelr   Ó  s¯   € ð
	ð õ 
Œ•k¨Ð	-Ñ	-Ô	-ð 
ð 
Ý'ØˆIˆI�y�y�y¨A°wð	
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   žAÁAÁ
Ac                  óŒ   — t          d¬¦  «        \  } }}d„ } || |¦  «          |d„ | D ¦   «         d„ |D ¦   «         ¦  «         d S )NTr§   c                 ón  — t          | |¦  «        }t          |ddgddgg¦  «         |                     ¦   «         \  }}}}||z  ||z  z
  }t          j        ||z   ||z   z  ||z   z  ||z   z  ¦  «        }|dk    rdn||z  }	t          | |¦  «        }
t          |
|	d¬¦  «         t          |
dd¬¦  «         d S )	Né   rÂ   é   é   r   r5   ©Údecimalç=
×£p=â?)r   r-   ÚflattenrA   Úsqrtr   r,   )rY   rX   ÚcmÚtpÚfpÚfnÚtnÚnumÚdenÚtrue_mccÚmccs              rZ   Útestz*test_confusion_matrix_binary.<locals>.testç  s×   € Ý˜f fÑ-Ô-ˆÝ˜2  Q ¨!¨R¨Ð1Ñ2Ô2Ð2àŸš™œ‰ˆˆB��BØ�2‰g˜˜R™ÑˆÝŒg�r˜B‘w 2¨¡7Ñ+¨r°B©wÑ7¸2À¹7ÑCÑDÔDˆà˜qš˜�1�1 c¨C¡iˆÝ ¨Ñ/Ô/ˆÝ! # x¸Ð;Ñ;Ô;Ð;Ý! # t°QÐ7Ñ7Ô7Ð7Ð7Ð7r\   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r¿   ©r�   ©Ú.0rP   s     rZ   ú
<listcomp>z0test_confusion_matrix_binary.<locals>.<listcomp>õ  ó   € Ð	!Ð	!Ð	!�Q�#ˆa‰&Œ&Ð	!Ð	!Ð	!r\   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r¿   r  r  s     rZ   r  z0test_confusion_matrix_binary.<locals>.<listcomp>õ  ó   € Ð#;Ð#;Ð#;¨q¥C¨¡F¤FÐ#;Ð#;Ð#;r\   ©r[   ©rY   rX   ry   r  s       rZ   Útest_confusion_matrix_binaryr  ã  sr   € å'¨tÐ4Ñ4Ô4Ñ€FˆF�Að8ð 8ð 8ð 	€Dˆ�ÑÔÐØ€DÐ	!Ð	!˜&Ð	!Ñ	!Ô	!Ð#;Ð#;°FÐ#;Ñ#;Ô#;Ñ<Ô<Ð<Ð<Ð<r\   c                  óŒ   — t          d¬¦  «        \  } }}d„ } || |¦  «          |d„ | D ¦   «         d„ |D ¦   «         ¦  «         d S )NTr§   c                 ób   — t          | |¦  «        }t          |ddgddggddgddggg¦  «         d S )Nr  r  rÂ   r  ©r   r-   )rY   rX   r  s      rZ   r  z5test_multilabel_confusion_matrix_binary.<locals>.testü  sF   € Ý(¨°Ñ8Ô8ˆÝ˜2 " a ¨1¨b¨'Ð 2°b¸!°W¸qÀ"¸gÐ4FÐGÑHÔHÐHÐHÐHr\   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r¿   r  r  s     rZ   r  z;test_multilabel_confusion_matrix_binary.<locals>.<listcomp>  r  r\   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r¿   r  r  s     rZ   r  z;test_multilabel_confusion_matrix_binary.<locals>.<listcomp>  r  r\   r  r  s       rZ   Ú'test_multilabel_confusion_matrix_binaryr%  ø  su   € å'¨tÐ4Ñ4Ô4Ñ€FˆF�AðIð Ið Ið 	€Dˆ�ÑÔÐØ€DÐ	!Ð	!˜&Ð	!Ñ	!Ô	!Ð#;Ð#;°FÐ#;Ñ#;Ô#;Ñ<Ô<Ð<Ð<Ð<r\   c                  ó’   — t          d¬¦  «        \  } }}dd„} || |¦  «          |d„ | D ¦   «         d„ |D ¦   «         d¬¦  «         d S )	NFr§   c           	      ó‚  — t          | |¦  «        }t          |ddgddggddgddggd	d
gddggg¦  «         |rg d¢ng d¢}t          | ||¬¦  «        }t          |ddgddggd	d
gddggddgddggg¦  «         |rg d¢ng d¢}t          | ||¬¦  «        }t          |ddgddggd	d
gddggddgddggddgddggg¦  «         d S )Né/   r®   r­   é   é&   rÊ   é   rÂ   é   r«   r5   é   )Ú0Ú2Ú1©r   r5   r<   rÚ   )r.  r/  r0  Ú3)r   r5   r<   rÂ   ri   r   r"  )rY   rX   Ústring_typer  rq   s        rZ   r  z9test_multilabel_confusion_matrix_multiclass.<locals>.test  s[  € å(¨°Ñ8Ô8ˆÝØ�2�q�'˜A˜r˜7Ð# r¨1 g°°A¨wÐ%7¸2¸r¸(ÀQÈÀGÐ9LÐMñ	
ô 	
ð 	
ð
 %0Ð>����°Y°Y°YˆÝ(¨°ÀÐGÑGÔGˆÝØ�2�q�'˜A˜r˜7Ð# r¨2 h°°B°Ð%8¸BÀ¸7ÀRÈÀGÐ:LÐMñ	
ô 	
ð 	
ð
 *5ÐFÐ%Ð%Ð%Ð%¸,¸,¸,ˆÝ(¨°ÀÐGÑGÔGˆÝØà�a�˜1˜b˜'Ð"Ø�b�˜A˜r˜7Ð#Ø�a�˜2˜q˜'Ð"Ø�a�˜1˜a˜&Ð!ð	ñ	
ô 	
ð 	
ð 	
ð 	
r\   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r¿   r  r  s     rZ   r  z?test_multilabel_confusion_matrix_multiclass.<locals>.<listcomp>$  r  r\   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r¿   r  r  s     rZ   r  z?test_multilabel_confusion_matrix_multiclass.<locals>.<listcomp>$  r  r\   T)r3  )Fr  r  s       rZ   Ú+test_multilabel_confusion_matrix_multiclassr6    s|   € å'¨uÐ5Ñ5Ô5Ñ€FˆF�Að
ð 
ð 
ð 
ð6 	€Dˆ�ÑÔÐØ€DÐ	!Ð	!˜&Ð	!Ñ	!Ô	!Ð#;Ð#;°FÐ#;Ñ#;Ô#;ÈÐNÑNÔNÐNÐNÐNr\   Úcsc_containerÚcsr_containerc                 óJ  — t          j        g d¢g d¢g d¢g¦  «        }t          j        g d¢g d¢g d¢g¦  «        } ||¦  «        } ||¦  «        } | |¦  «        } | |¦  «        }t          j        g d¢¦  «        }dd	gddggdd	gddggd	d
gdd	ggg}	|||g}
|||g}|
D ]'}|D ]"}t          ||¦  «        }t          ||	¦  «         Œ#Œ(t          ||d¬¦  «        }t          |dd	gddggddgd	dggd	dgd
d	ggg¦  «         t          ||d
d	g¬¦  «        }t          |d	d
gdd	ggdd	gddggg¦  «         t          ||d
d	gd¬¦  «        }t          |d	d	gddggddgd	d	ggd	dgdd	ggg¦  «         t          |||d¬¦  «        }t          |d
d	gd
d
ggddgd	dggd	dgdd	ggg¦  «         d S )Nrœ   ©r   r<   r   ©r<   r<   r   rË   r›   r�   )r5   r<   rÂ   r<   r   r5   T©Ú
samplewiserÚ   )rq   r=  )Úsample_weightr=  rÂ   rÊ   )rA   rŸ   r   r-   )r7  r8  rY   rX   Ú
y_true_csrÚ
y_pred_csrÚ
y_true_cscÚ
y_pred_cscr>  Úreal_cmÚtruesÚpredsÚ
y_true_tmpÚ
y_pred_tmpr  s                  rZ   Ú+test_multilabel_confusion_matrix_multilabelrH  '  s…  € õ
 ŒX�y�y�y ) ) )¨Y¨Y¨YÐ7Ñ8Ô8€FÝŒX�y�y�y ) ) )¨Y¨Y¨YÐ7Ñ8Ô8€FØ�˜vÑ&Ô&€JØ�˜vÑ&Ô&€JØ�˜vÑ&Ô&€JØ�˜vÑ&Ô&€Jõ ”H˜Y˜Y˜YÑ'Ô'€MØ�A�˜˜A˜Ð 1 a &¨1¨a¨&Ð!1°Q¸°F¸QÀ¸FÐ3CÐD€GØ�Z Ð,€EØ�Z Ð,€Eàð ,ð ,ˆ
Øð 	,ð 	,ˆJÝ,¨Z¸ÑDÔDˆBÝ˜r 7Ñ+Ô+Ð+Ð+ð	,õ
 
% V¨VÀÐ	EÑ	EÔ	E€BÝ�r˜a ˜V a¨ VÐ,°°1¨v¸¸1°vÐ.>À!ÀQÀÈ!ÈQÈÐ@PÐQÑRÔRÐRõ 
% V¨V¸QÀ¸FÐ	CÑ	CÔ	C€BÝ�r˜a ˜V a¨ VÐ,°°1¨v¸¸1°vÐ.>Ð?Ñ@Ô@Ð@õ 
% V¨V¸QÀ¸FÈtÐ	TÑ	TÔ	T€BÝ�r˜a ˜V a¨ VÐ,°°1¨v¸¸1°vÐ.>À!ÀQÀÈ!ÈQÈÐ@PÐQÑRÔRÐRõ 
%Ø� mÀð
ñ 
ô 
€Bõ �r˜a ˜V a¨ VÐ,°°1¨v¸¸1°vÐ.>À!ÀQÀÈ!ÈQÈÐ@PÐQÑRÔRÐRÐRÐRr\   c            	      óú  — t          j        g d¢g d¢g d¢g¦  «        } t          j        g d¢g d¢g d¢g¦  «        }t          j        t          d¬¦  «        5  t          | |d	d
g¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          | |g d¢g d¢g d¢g¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          | |dg¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          | |dg¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          g d¢g d¢d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          g d¢g d¢gg d¢g d¢g¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrœ   r:  r;  rË   r›   r�   úinconsistent numbers of samplesrë   r<   r5   ©r>  zshould be a 1d array©r<   r5   rÂ   )r5   rÂ   r®   )rÂ   r®   r­   z%All labels must be in \[0, n labels\)r»   rÚ   rÂ   zSamplewise metricsr•   rà   Tr<  z'multiclass-multioutput is not supported)r5   r<   r   ©r<   r   r5   )rA   rŸ   r½   rÒ   rÓ   r   )rY   rX   rð   s      rZ   Ú'test_multilabel_confusion_matrix_errorsrN  Q  s  € ÝŒX�y�y�y ) ) )¨Y¨Y¨YÐ7Ñ8Ô8€FÝŒX�y�y�y ) ) )¨Y¨Y¨YÐ7Ñ8Ô8€Fõ 
Œ•zÐ)JÐ	KÑ	KÔ	Kð Jð JÝ# F¨FÀ1ÀaÀ&ÐIÑIÔIÐIðJð Jð Jñ Jô Jð Jð Jð Jð Jð Jð Jøøøð Jð Jð Jð Jå	Œ•zÐ)?Ð	@Ñ	@Ô	@ð 
ð 
Ý#Ø�F¨9¨9¨9°i°i°iÀÀÀÐ*Kð	
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 7€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð Að AÝ# F¨F¸B¸4Ð@Ñ@Ô@Ð@ðAð Að Añ Aô Að Að Að Að Að Að Aøøøð Að Að Að Aà6€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð @ð @Ý# F¨F¸A¸3Ð?Ñ?Ô?Ð?ð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @õ 
Œ•zÐ)=Ð	>Ñ	>Ô	>ð Kð KÝ# I I I¨y¨y¨yÀTÐJÑJÔJÐJðKð Kð Kñ Kô Kð Kð Kð Kð Kð Kð Køøøð Kð Kð Kð Kð 8€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð Tð TÝ# Y Y Y°	°	°	Ð$:¸Y¸Y¸YÈ	È	È	Ð<RÑSÔSÐSðTð Tð Tñ Tô Tð Tð Tð Tð Tð Tð Tð Tøøøð Tð Tð Tð Tð Tð Tsl   ÁA7Á7A;Á>A;ÂCÃC	ÃC	Ã-DÄDÄDÄ5EÅEÅEÅ;FÆF"Æ%F"ÇG0Ç0G4Ç7G4z%normalize, cm_dtype, expected_results))Útruer°   çµùTUUÕ?)Úpredr°   rP  )Úallr°   g��eÇq¼?)NrÖ   r5   c                 óÆ   — g d¢dz  }t          t          t          g d¢¦  «        Ž ¦  «        }t          ||| ¬¦  «        }t	          ||¦  «         |j        j        |k    sJ ‚d S )Nr•   rÊ   ©Ú	normalize)Úlistr   r   r   r*   ÚdtypeÚkind)rU  Úcm_dtypeÚexpected_resultsÚy_testrX   r  s         rZ   Útest_confusion_matrix_normalizer\  o  so   € ð ˆYˆY˜‰]€FÝ•%� i i iÑ0Ô0Ð1Ñ2Ô2€FÝ	˜& &°IÐ	>Ñ	>Ô	>€BÝ�BÐ(Ñ)Ô)Ð)ØŒ8Œ=˜HÒ$Ð$Ð$Ð$Ð$Ð$r\   c                  óH  — g d¢} g d¢}t          | |d¬¦  «        }|                     ¦   «         t          j        d¦  «        k    sJ ‚t	          j        ¦   «         5  t	          j        dt          ¦  «         t          | |d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         t          j        d¦  «        k    sJ ‚t	          j        ¦   «         5  t	          j        dt          ¦  «         t          || d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	N)r   r   r   r   r<   r<   r<   r<   )r   r   r   r   r   r   r   r   rO  rT  ç       @ÚerrorrQ  r¹   )r   Úsumr½   r¾   rŽ   r�   ÚsimplefilterÚRuntimeWarning)r[  rX   Úcm_trueÚcm_preds       rZ   Ú,test_confusion_matrix_normalize_single_classre  €  s­  € Ø%Ð%Ð%€FØ%Ð%Ð%€Få˜v v¸Ð@Ñ@Ô@€GØ�;Š;‰=Œ=�FœM¨#Ñ.Ô.Ò.Ð.Ð.Ð.õ 
Ô	 Ñ	"Ô	"ð Eð EÝÔ˜g¥~Ñ6Ô6Ð6Ý" 6¨6¸VÐDÑDÔDˆðEð Eð Eñ Eô Eð Eð Eð Eð Eð Eð Eøøøð Eð Eð Eð Eð �;Š;‰=Œ=�FœM¨#Ñ.Ô.Ò.Ð.Ð.Ð.å	Ô	 Ñ	"Ô	"ð ;ð ;ÝÔ˜g¥~Ñ6Ô6Ð6Ý˜ °6Ð:Ñ:Ô:Ð:ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;ð ;ð ;s$   Á-BÂBÂBÃ-DÄDÄDc                  óž   — g d¢} g d¢}t          j        t          d¬¦  «        5  t          || ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z8Test `confusion_matrix` warns when only one label found.©r   r   r   r   zA single label was found inrë   N)r½   rý   rþ   r   )r[  rX   s     rZ   Ú"test_confusion_matrix_single_labelrh  “  sž   € àˆ\ˆ\€FØˆ\ˆ\€Få	Œ•kÐ)FÐ	GÑ	GÔ	Gð )ð )Ý˜ Ñ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð )ð )s   ¤AÁAÁ	Azparams, warn_msg)r   r   r   r   r   r   ©rY   rX   z2samples of only one class were seen during testing)r<   r<   r<   r   r   r   z:positive_likelihood_ratio ill-defined and being set to nanz+no samples predicted for the positive class©r   r   r   r<   r<   r<   z:negative_likelihood_ratio ill-defined and being set to nanz@no samples of the positive class were present in the testing setc                 ó†   — t          j        t          |¬¦  «        5  t          di | ¤Ž d d d ¦  «         d S # 1 swxY w Y   d S ©Nrë   r¿   )r½   rý   rþ   r   )ÚparamsÚwarn_msgs     rZ   Útest_likelihood_ratios_warningsro  œ  s’   € õb 
Œ•k¨Ð	2Ñ	2Ô	2ð *ð *ÝÐ)Ð) &Ð)Ð)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð *ð *ó   œ6¶:½:zparams, err_msg)r   r<   r   r<   r   ©r<   r<   r   r   r5   zeclass_likelihood_ratios only supports binary classification problems, got targets of type: multiclassc                 ó†   — t          j        t          |¬¦  «        5  t          di | ¤Ž d d d ¦  «         d S # 1 swxY w Y   d S rl  )r½   rÒ   rÓ   r   )rm  rð   s     rZ   Útest_likelihood_ratios_errorsrs  Ñ  s‘   € õ$ 
Œ•z¨Ð	1Ñ	1Ô	1ð *ð *ÝÐ)Ð) &Ð)Ð)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð *ð *rp  c                  óF  — t          j        dgdz  dgdz  z   ¦  «        } t          j        dgdz  dgdz  z   dgdz  z   ¦  «        }t          | |¦  «        \  }}t          |d¦  «         t          |d	¦  «         t          | | ¦  «        \  }}t	          |t           j        dz  ¦  «         t          |t          j        d¦  «        d
¬¦  «         t          j        dgdz  dgdz  z   ¦  «        }t          | ||¬¦  «        \  }}t          |d¦  «         t          |d¦  «         d S )Nr<   rÂ   r   r  r5   é
   r  g«ªªªªªö?g_B{	í%ä?gê-�™—q=)Úrtolr¹   é   r€   r­   rK  gUUUUUU@gÇqÇqÜ?)rA   rŸ   r   r*   r-   r�   r¡   )rY   rX   ÚposÚnegr>  s        rZ   Útest_likelihood_ratiosrz  ç  s*  € õ ŒX�q�c˜A‘g   b¡Ñ(Ñ)Ô)€FÝŒX�q�c˜A‘g   b¡Ñ(¨A¨3°©7Ñ2Ñ3Ô3€Få& v¨vÑ6Ô6�H€CˆÝ�C˜Ñ!Ô!Ð!Ý�C˜Ñ!Ô!Ð!õ ' v¨vÑ6Ô6�H€CˆÝ�s�BœF Q™JÑ'Ô'Ð'Ý�C�œ !™œ¨5Ð1Ñ1Ô1Ð1õ
 ”H˜c˜U R™Z¨3¨%°!©)Ñ3Ñ4Ô4€MÝ& v¨vÀ]ÐSÑSÔS�H€CˆÝ�C˜Ñ Ô Ð Ý�C˜Ñ!Ô!Ð!Ð!Ð!r\   c                  ó  — t          j        dgdz  dgdz  z   ¦  «        } t          j        dgdz  dgdz  z   dgdz  z   dgdz  z   ¦  «        }t          | |¦  «        }t          |dd	¬
¦  «         |t          || ¦  «        k    sJ ‚t          j        | dgdz  ¦  «        } t          j        |dgdz  ¦  «        }t          | |ddg¬¦  «        |k    sJ ‚t          t          | | ¦  «        d¦  «         t          j        dgdz  dgdz  z   dgdz  z   ¦  «        } t          j        dgdz  dgdz  z   dgdz  z   ¦  «        }t          t          | |¦  «        dd¬
¦  «         t          j        dgdz  dgdz  z   dgdz  z   ¦  «        } t          j        dgdz  dgdz  z   dgdz  z   ¦  «        }t          t          | |¦  «        dd¬
¦  «         t          t          | |d¬¦  «        dd¬
¦  «         t          t          | |d¬¦  «        dd¬
¦  «         d S )Nr   é(   r<   é<   rh   ru  é2   gƒÀÊ¡EÖ?rÂ   r  r5   r®   rÚ   r¹   é.   é,   é4   é    é   gÉå?¤é?g+‡ÙÎí?r8   ©Úweightsg®Ø_vOî?Ú	quadraticgœ¢#¹ü‡î?)rA   rŸ   r   r+   Úappend)r£   r¤   Úkappas      rZ   Útest_cohen_kappar‰     sV  € õ 
Œ�1�#˜‘(˜a˜S 2™XÑ%Ñ	&Ô	&€BÝ	Œ�1�#˜‘(˜a˜S 2™XÑ%¨¨¨b©Ñ0°A°3¸±8Ñ;Ñ	<Ô	<€BÝ˜b "Ñ%Ô%€EÝ˜˜u¨aÐ0Ñ0Ô0Ð0ØÕ% b¨"Ñ-Ô-Ò-Ð-Ð-Ð-õ 
Œ�2˜�s˜Q‘wÑ	Ô	€BÝ	Œ�2˜�s˜Q‘wÑ	Ô	€BÝ˜R ¨Q°¨FÐ3Ñ3Ô3°uÒ<Ð<Ð<Ð<åÕ)¨"¨bÑ1Ô1°3Ñ7Ô7Ð7õ 
Œ�1�#˜‘(˜a˜S 2™XÑ%¨¨¨b©Ñ0Ñ	1Ô	1€BÝ	Œ�1�#˜‘(˜a˜S 2™XÑ%¨¨¨b©Ñ0Ñ	1Ô	1€BÝÕ)¨"¨bÑ1Ô1°6À1ÐEÑEÔEÐEõ 
Œ�1�#˜‘(˜a˜S 2™XÑ%¨¨¨b©Ñ0Ñ	1Ô	1€BÝ	Œ�1�#˜‘(˜a˜S 2™XÑ%¨¨¨b©Ñ0Ñ	1Ô	1€BÝÕ)¨"¨bÑ1Ô1°6À1ÐEÑEÔEÐEÝÕ)¨"¨b¸(ÐCÑCÔCÀVÐUVÐWÑWÔWÐWÝÝ˜"˜b¨+Ð6Ñ6Ô6¸Èðñ ô ð ð ð r\   c                  ój   — t          dgdg¦  «        dk    sJ ‚t          ddgddg¦  «        dk    sJ ‚d S )Nr   r<   r€   )r   r¿   r\   rZ   Útest_matthews_corrcoef_nanr‹    sJ   € Ý˜a˜S 1 #Ñ&Ô&¨#Ò-Ð-Ð-Ð-Ý˜a ˜V a¨ VÑ,Ô,°Ò3Ð3Ð3Ð3Ð3Ð3r\   zy_true, y_predr}   rº   c                 ó  — t          j        ¦   «         5  t          j        d¦  «          | |||¬¦  «        }ddd¦  «         n# 1 swxY w Y   t          j        |¦  «        rt          j        |¦  «        sJ ‚dS ||k    sJ ‚dS )zmCheck the behaviour of `zero_division` when setting to 0, 1 or np.nan.
    No warnings should be raised.
    r_  ©r„   N)rŽ   r�   ra  rA   Úisnan)r}   rY   rX   r„   Úresults        rZ   Ú!test_zero_division_nan_no_warningr�  $  sç   € õ 
Ô	 Ñ	"Ô	"ð Eð EÝÔ˜gÑ&Ô&Ð&Ø�˜ °mÐDÑDÔDˆðEð Eð Eñ Eô Eð Eð Eð Eð Eð Eð Eøøøð Eð Eð Eð Eõ 
„x�ÑÔð 'ÝŒx˜ÑÔÐÐÐÐÐà˜Ò&Ð&Ð&Ð&Ð&Ð&s   ”#AÁAÁ
Ac                 ó”   — t          j        t          ¦  «        5   | ||d¬¦  «        }ddd¦  «         n# 1 swxY w Y   |dk    sJ ‚dS )ztCheck the behaviour of `zero_division` when setting to "warn".
    A `UndefinedMetricWarning` should be raised.
    r…   r�  Nr€   )r½   rý   r   )r}   rY   rX   r�  s       rZ   Útest_zero_division_nan_warningr’  =  s‘   € õ 
ŒÕ,Ñ	-Ô	-ð >ð >Ø�˜ °fÐ=Ñ=Ô=ˆð>ð >ð >ñ >ô >ð >ð >ð >ð >ð >ð >øøøð >ð >ð >ð >à�SŠ=ˆ=ˆ=ˆ=ˆ=ˆ=s   š5µ9¼9c                  ó  — t           j                             d¦  «        } |                      ddd¬¦  «        }|                      ddd¬¦  «        }t	          t          ||¦  «        t          j        ||¦  «        d         d¦  «         d S )Nr   r5   rh   ©Úsize©r   r<   ru  )rA   rE   rF   Úrandintr+   r   Úcorrcoef)rT   rY   rX   s      rZ   Ú-test_matthews_corrcoef_against_numpy_corrcoefr™  P  sƒ   € Ý
Œ)×
Ò
 Ñ
"Ô
"€CØ�[Š[˜˜A Bˆ[Ñ'Ô'€FØ�[Š[˜˜A Bˆ[Ñ'Ô'€FåÝ˜& &Ñ)Ô)­2¬;°v¸vÑ+FÔ+FÀtÔ+LÈbñô ð ð ð r\   c                  óŽ  ‡	‡
— t           j                             d¦  «        } |                      ddd¬¦  «        }|                      ddd¬¦  «        }|                      d¦  «        }t          |||¬¦  «        Š	t          ‰	¦  «        Š
t          ˆ	ˆ
fd„t          ‰
¦  «        D ¦   «         ¦  «        }t          ˆ	ˆ
fd„t          ‰
¦  «        D ¦   «         ¦  «        }t          j        ˆ	ˆ
fd„t          ‰
¦  «        D ¦   «         ¦  «        }|t          j	        ||z  ¦  «        z  }t          |||¬¦  «        }t          ||d	¦  «         d S )
Nr   r5   rh   r”  rK  c           	      ó®   •— g | ]Q}t          ‰¦  «        D ]?}t          ‰¦  «        D ]-}‰||f         ‰||f         z  ‰||f         ‰||f         z  z
  ‘Œ.Œ@ŒRS r¿   ©Úrange)r  ÚkÚmÚlÚCÚNs       €€rZ   r  z9test_matthews_corrcoef_against_jurman.<locals>.<listcomp>f  s’   ø€ ð 	
ð 	
ð 	
àÝ˜1‘X”Xð	
ð 	
ð Ý˜1‘X”Xð		
ð 	
ð ð ˆa�ˆdŒG�a˜˜1˜”gÑ  ! Q $¤¨!¨A¨q¨D¬'Ñ 1Ñ1ð	
ð 	
ð 	
ð 	
ð 	
r\   c           	      ó®   •‡— g | ]PŠ‰d d …‰f                               ¦   «         t          j         ˆˆˆfd„t          ‰¦  «        D ¦   «         ¦  «        z  ‘ŒQS )Nc                 óT   •— g | ]$}t          ‰¦  «        D ]}|‰k    ¯‰||f         ‘ŒŒ%S r¿   rœ  ©r  r°   Úgr¡  r¢  rž  s      €€€rZ   r  zDtest_matthews_corrcoef_against_jurman.<locals>.<listcomp>.<listcomp>p  ó8   ø€ ÐLÐLÐL !½¸q¹¼ÐLÐL°AÀQÈ!ÂVÀV�a˜˜1˜”gÀVÀVÀVÀVr\   ©r`  rA   r�  ©r  rž  r¡  r¢  s    @€€rZ   r  z9test_matthews_corrcoef_against_jurman.<locals>.<listcomp>n  st   øø€ ð 	
ð 	
ð 	
ð ð ˆaˆaˆa�ˆdŒG�KŠK‰MŒMÝŒfÐLÐLÐLÐLÐLÐL¥u¨Q¡x¤xÐLÑLÔLÑMÔMñNð	
ð 	
ð 	
r\   c           	      ó®   •‡— g | ]PŠ‰‰d d …f                               ¦   «         t          j         ˆˆˆfd„t          ‰¦  «        D ¦   «         ¦  «        z  ‘ŒQS )Nc                 óT   •— g | ]$}t          ‰¦  «        D ]}|‰k    ¯‰||f         ‘ŒŒ%S r¿   rœ  r¥  s      €€€rZ   r  zDtest_matthews_corrcoef_against_jurman.<locals>.<listcomp>.<listcomp>w  r§  r\   r¨  r©  s    @€€rZ   r  z9test_matthews_corrcoef_against_jurman.<locals>.<listcomp>u  st   øø€ ð 	
ð 	
ð 	
ð ð ˆa���ˆdŒG�KŠK‰MŒMÝŒfÐLÐLÐLÐLÐLÐL¥u¨Q¡x¤xÐLÑLÔLÑMÔMñNð	
ð 	
ð 	
r\   ru  )rA   rE   rF   r—  Úrandr   rt   r`  r�  r
  r   r+   )rT   rY   rX   r>  Úcov_ytypÚcov_ytytÚcov_ypypÚ
mcc_jurmanÚmcc_oursr¡  r¢  s            @@rZ   Ú%test_matthews_corrcoef_against_jurmanr²  Z  sˆ  øø€ õ Œ)×
Ò
 Ñ
"Ô
"€CØ�[Š[˜˜A Bˆ[Ñ'Ô'€FØ�[Š[˜˜A Bˆ[Ñ'Ô'€FØ—H’H˜R‘L”L€Må˜ °}ÐEÑEÔE€AÝˆA‰Œ€AÝð	
ð 	
ð 	
ð 	
ð 	
å˜1‘X”Xð	
ñ 	
ô 	
ñô €Hõ ð	
ð 	
ð 	
ð 	
ð 	
õ ˜1‘X”Xð	
ñ 	
ô 	
ñô €Hõ Œvð	
ð 	
ð 	
ð 	
ð 	
õ ˜1‘X”Xð	
ñ 	
ô 	
ñô €Hð �BœG H¨xÑ$7Ñ8Ô8Ñ8€JÝ  ¨¸}ÐMÑMÔM€Hå˜ *¨bÑ1Ô1Ð1Ð1Ð1r\   c            	      óR  — t           j                             d¦  «        } d„ |                      ddd¬¦  «        D ¦   «         }t	          t          ||¦  «        d¦  «         d„ |D ¦   «         }t	          t          ||¦  «        d¦  «         t          |d	d
g¬¦  «        }t          j        |d	d
¦  «        }t	          t          ||¦  «        d¦  «         t	          t          g d¢g d¢¦  «        d¦  «         t	          t          |d	gt          |¦  «        z  ¦  «        d¦  «         g d¢}g d¢}t	          t          ||¦  «        d¦  «         dgdz  dgdz  z   }t          j
        t          ¦  «        5  t	          t          |||¬¦  «        d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   c                 ó"   — g | ]}|d k    rdnd‘ŒS )r   rˆ   r‰   r¿   ©r  rÖ   s     rZ   r  z*test_matthews_corrcoef.<locals>.<listcomp>ƒ  s$   € ÐIÐIÐI¨�Q˜!’V�Vˆcˆc ÐIÐIÐIr\   r5   rh   r”  r¹   c                 ó"   — g | ]}|d k    rdnd ‘ŒS )rˆ   r‰   r¿   rµ  s     rZ   r  z*test_matthews_corrcoef.<locals>.<listcomp>‰  s$   € Ð;Ð;Ð;¨q˜˜cš˜�#�# sÐ;Ð;Ð;r\   r»   rˆ   r‰   rÃ   rg  r€   )r<   r   r<   r<   r   r<   r<   r<   r   r<   r<   r<   r<   r<   r<   r<   r   r<   r<   r<   )r<   r<   r<   r   r   r<   r<   r<   r<   r   r<   r<   r<   r   r<   r<   r<   r   r<   r<   r<   ru  rK  )rA   rE   rF   r—  r+   r   r'   Úwherert   r½   rÒ   ÚAssertionError)rT   rY   Ú
y_true_invÚy_true_inv2Úy_1Úy_2Úmasks          rZ   Útest_matthews_corrcoefr¾  �  s  € Ý
Œ)×
Ò
 Ñ
"Ô
"€CØIÐI¨c¯kªk¸!¸QÀR¨kÑ.HÔ.HÐIÑIÔI€Fõ Õ)¨&°&Ñ9Ô9¸3Ñ?Ô?Ð?ð <Ð;°FÐ;Ñ;Ô;€JÝÕ)¨&°*Ñ=Ô=¸rÑBÔBÐBå  °#°s°Ð<Ñ<Ô<€KÝ”(˜;¨¨SÑ1Ô1€KÝÕ)¨&°+Ñ>Ô>ÀÑCÔCÐCõ Õ)¨,¨,¨,¸¸¸ÑEÔEÀsÑKÔKÐKõ Õ)¨&°3°%½#¸f¹+¼+Ñ2EÑFÔFÈÑLÔLÐLð GÐ
FÐ
F€CØ
FÐ
FÐ
F€CÝÕ)¨#¨sÑ3Ô3°SÑ9Ô9Ð9ð ˆ3�‰8�q�c˜B‘hÑ€Dõ 
Œ•~Ñ	&Ô	&ð Rð RÝÕ-¨c°3ÀdÐKÑKÔKÈSÑQÔQÐQðRð Rð Rñ Rô Rð Rð Rð Rð Rð Rð Rð Røøøð Rð Rð Rð Rð Rð Rs   Å.!FÆF Æ#F c                  óB  ‡	— t           j                             d¦  «        } t          d¦  «        Š	d}ˆ	fd„|                      d|d¬¦  «        D ¦   «         }t          t          ||¦  «        d¦  «         g d¢}g d	¢}t          t          ||¦  «        d
¦  «         g d¢}g d¢}t          t          ||¦  «        dt          j        d¦  «        z  ¦  «         g d¢}g d¢}t          t          ||¦  «        d¦  «         g d¢}g d¢}t          t          ||¦  «        d¦  «         g d¢}g d¢}t          t          ||¦  «        d¦  «         g d¢}g d¢}g d¢}t          t          |||¬¦  «        d¦  «         g d¢}g d¢}g d¢}t          t          |||¬¦  «        d¦  «         d S )Nr   rˆ   r®   c                 ó4   •— g | ]}t          ‰|z   ¦  «        ‘ŒS r¿   )Úchr)r  rÖ   Úord_as     €rZ   r  z5test_matthews_corrcoef_multiclass.<locals>.<listcomp>¨  s#   ø€ ÐIÐIÐI �c�%˜!‘)‰nŒnÐIÐIÐIr\   rh   r”  r¹   )r   r   r<   r<   r5   r5   )r5   r5   r   r   r<   r<   g      à¿)r<   r<   r   r   r   r   iôÿÿÿi€  r•   )rÂ   rÂ   rÂ   r€   ©	r   r<   r5   r   r<   r5   r   r<   r5   )	r<   r<   r<   r5   r5   r5   r   r   r   )r   r   r<   r<   r5   rq  ©r<   r<   r<   r<   r   rK  r»   rò   ©r<   r<   r   r   )rA   rE   rF   Úordr—  r+   r   r
  )
rT   Ú	n_classesrY   Ú
y_pred_badÚ
y_pred_minrX   r»  r¼  r>  rÂ  s
            @rZ   Ú!test_matthews_corrcoef_multiclassrÊ  ¤  s  ø€ Ý
Œ)×
Ò
 Ñ
"Ô
"€CÝ�‰HŒH€EØ€IØIÐIÐIÐI c§k¢k°!°YÀR kÑ&HÔ&HÐIÑIÔI€Fõ Õ)¨&°&Ñ9Ô9¸3Ñ?Ô?Ð?ð  ÐÐ€FØ#Ð#Ð#€JÝÕ)¨&°*Ñ=Ô=¸tÑDÔDÐDð  ÐÐ€FØ#Ð#Ð#€JÝÕ)¨&°*Ñ=Ô=¸sÅRÄWÈWÑEUÔEUÑ?UÑVÔVÐVð ˆYˆY€FØˆYˆY€FÝÕ)¨&°&Ñ9Ô9¸3Ñ?Ô?Ð?ð ˆYˆY€FØˆYˆY€FÝÕ)¨&°&Ñ9Ô9¸3Ñ?Ô?Ð?ð &Ð
%Ð
%€CØ
%Ð
%Ð
%€CÝÕ)¨#¨sÑ3Ô3°SÑ9Ô9Ð9ð ˆ_ˆ_€FØˆ_ˆ_€FØ#�O�O€MÝÝ˜& &¸ÐFÑFÔFÈñô ð ð ˆ\ˆ\€FØˆ\ˆ\€FØ �L�L€MÝÝ˜& &¸ÐFÑFÔFÈñô ð ð ð r\   Ún_pointséd   i'  c                 óÒ  ‡— t           j                             d¦  «        Šd„ }ˆfd„}t          j        ddg| ¦  «        }t	          t          ||¦  «        d¦  «         t          j        g d¢| ¦  «        }t	          t          ||¦  «        d¦  «          || ¦  «        \  }}t	          t          ||¦  «        d¦  «         t	          t          ||¦  «         |||¦  «        ¦  «         d S )NišÈ3c                 óö   — t          | |¦  «        }|d         }|d         }|d         }t          | ¦  «        }||z   |z  }||z   |z  }||z  ||z  z
  }	||z  d|z
  z  d|z
  z  }
|	t          j        |
¦  «        z  S )N©r<   r<   )r<   r   r–  r<   )r   rt   rA   r
  )rY   rX   Úconf_matrixÚtrue_posÚ	false_posÚ	false_negrË  Úpos_rateÚactivityÚmcc_numeratorÚmcc_denominators              rZ   Úmcc_safez1test_matthews_corrcoef_overflow.<locals>.mcc_safeá  s�   € Ý& v¨vÑ6Ô6ˆØ˜tÔ$ˆØ Ô%ˆ	Ø Ô%ˆ	Ý�v‘;”;ˆØ˜yÑ(¨HÑ4ˆØ˜yÑ(¨HÑ4ˆØ  8Ñ+¨h¸Ñ.AÑAˆØ" XÑ-°°X±Ñ>À!ÀhÁ,ÑOˆØ�rœw Ñ7Ô7Ñ7Ð7r\   c                 óŠ   •— ‰                      | ¦  «        }|d‰                      | ¦  «        dz
  z  z   }|dk    }|dk    }||fS )Nrä   rž   )Úrandom_sample)rË  Úx_trueÚx_predrY   rX   rT   s        €rZ   Ú	random_ysz2test_matthews_corrcoef_overflow.<locals>.random_ysí  sT   ø€ Ø×"Ò" 8Ñ,Ô,ˆØ˜# ×!2Ò!2°8Ñ!<Ô!<¸sÑ!BÑCÑCˆØ˜#’ˆØ˜#’ˆØ�vˆ~Ðr\   r€   r¹   )r€   r¹   r^  )rA   rE   rF   Úrepeatr+   r   )rË  rØ  rÝ  ÚarrrY   rX   rT   s         @rZ   Útest_matthews_corrcoef_overflowrà  Ü  sÿ   ø€ õ Œ)×
Ò
 Ñ
)Ô
)€Cð
8ð 
8ð 
8ðð ð ð ð õ Œ)�S˜#�J Ñ
)Ô
)€CÝÕ)¨#¨sÑ3Ô3°SÑ9Ô9Ð9Ý
Œ)�O�O�O XÑ
.Ô
.€CÝÕ)¨#¨sÑ3Ô3°SÑ9Ô9Ð9à�Y˜xÑ(Ô(�N€FˆFÝÕ)¨&°&Ñ9Ô9¸3Ñ?Ô?Ð?ÝÕ)¨&°&Ñ9Ô9¸8¸8ÀFÈFÑ;SÔ;SÑTÔTÐTÐTÐTr\   c                  óN  — t          d¬¦  «        \  } }}t          | |d ¬¦  «        \  }}}}t          |g d¢d¦  «         t          |g d¢d¦  «         t          |g d¢d¦  «         t          |g d¢¦  «         t	          | |d	d
¬¦  «        }t          |dd¦  «         t          | |d
¬¦  «        }t          |dd¦  «         t          | |d
¬¦  «        }	t          |	dd¦  «         t	          | |d¬¦  «        }t          |dd¦  «         t          | |d¬¦  «        }t          |dd¦  «         t          | |d¬¦  «        }	t          |	dd¦  «         t	          | |d¬¦  «        }t          |dd¦  «         t          | |d¬¦  «        }t          |dd¦  «         t          | |d¬¦  «        }	t          |	dd¦  «         t          j        t          ¦  «        5  t	          | |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          | |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          | |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          | |dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          | |g d¢d ¬¦  «        \  }}}}t          |g d¢d¦  «         t          |g d¢d¦  «         t          |g d¢d¦  «         t          |g d¢¦  «         d S )NFr§   r¨   )ç�Âõ(\�ê?ç…ëQ¸Õ?gáz®GáÚ?r5   )çHáz®Gé?g
×£p=
·?rf   )çìQ¸…ëé?ç333333Ã?r  )r_   re   rh   r<   rÇ   rü   gö(\�Âõà?rÆ   ró   gR¸…ëQà?rÈ   g®GázÞ?rÉ   rž   ©r©   r¬   r1  rÅ   )râ  g=
×£p=Ú?rã  )rä  rf   rå   )rå  r  ræ  )r_   rh   re   )r[   r   r,   r-   r    r!   r   r½   rÒ   rÓ   r   )
rY   rX   ry   rS   r¯   r°   r±   r´   rµ   r¶   s
             rZ   Ú)test_precision_recall_f1_score_multiclassrè  þ  s}  € å'¨uÐ5Ñ5Ô5Ñ€FˆF�Aõ 1°¸ÈÐNÑNÔN�J€A€qˆ!ˆQÝ˜aÐ!3Ð!3Ð!3°QÑ7Ô7Ð7Ý˜aÐ!3Ð!3Ð!3°QÑ7Ô7Ð7Ý˜aÐ!3Ð!3Ð!3°QÑ7Ô7Ð7Ý�q˜,˜,˜,Ñ'Ô'Ð'õ 
˜ °1¸gÐ	FÑ	FÔ	F€BÝ˜b $¨Ñ*Ô*Ð*å	�f˜f¨gÐ	6Ñ	6Ô	6€BÝ˜b $¨Ñ*Ô*Ð*å	�&˜&¨'Ð	2Ñ	2Ô	2€BÝ˜b $¨Ñ*Ô*Ð*å	˜ °Ð	9Ñ	9Ô	9€BÝ˜b $¨Ñ*Ô*Ð*å	�f˜f¨gÐ	6Ñ	6Ô	6€BÝ˜b $¨Ñ*Ô*Ð*å	�&˜&¨'Ð	2Ñ	2Ô	2€BÝ˜b $¨Ñ*Ô*Ð*å	˜ °Ð	<Ñ	<Ô	<€BÝ˜b $¨Ñ*Ô*Ð*å	�f˜f¨jÐ	9Ñ	9Ô	9€BÝ˜b $¨Ñ*Ô*Ð*å	�&˜&¨*Ð	5Ñ	5Ô	5€BÝ˜b $¨Ñ*Ô*Ð*å	Œ•zÑ	"Ô	"ð ;ð ;Ý˜ °	Ð:Ñ:Ô:Ð:ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;å	Œ•zÑ	"Ô	"ð 8ð 8Ý�V˜V¨YÐ7Ñ7Ô7Ð7ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8å	Œ•zÑ	"Ô	"ð 4ð 4Ý�˜¨Ð3Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4å	Œ•zÑ	"Ô	"ð Að AÝ�F˜F¨I¸CÐ@Ñ@Ô@Ð@ðAð Að Añ Aô Að Að Að Að Að Að Aøøøð Að Að Að Aõ 1Ø�˜y˜y˜y°$ðñ ô �J€A€qˆ!ˆQõ ˜aÐ!3Ð!3Ð!3°QÑ7Ô7Ð7Ý˜aÐ!3Ð!3Ð!3°QÑ7Ô7Ð7Ý˜aÐ!3Ð!3Ð!3°QÑ7Ô7Ð7Ý�q˜,˜,˜,Ñ'Ô'Ð'Ð'Ð'sH   ÇG+Ç+G/Ç2G/ÈH.È.H2È5H2ÉI1É1I5É8I5ÊJ5Ê5J9Ê<J9r©   )rÉ   rÇ   rÆ   rÈ   Nc                 ó$  — t          j        g d¢g¦  «        }t          j        g d¢g¦  «        }t          ||g d¢g | ¬¦  «        \  }}}}t          |d¦  «         t          |d¦  «         t          |d¦  «         | €t          |g d¢¦  «         d S d S )NrÅ  ©r   r   r<   r<   )rÂ   r   r<   r5   )rq   Úwarn_forr©   r   ©r   r<   r<   r   )rA   rŸ   r   r-   )r©   rY   rX   rS   r¯   r°   r±   s          rZ   Ú;test_precision_refcall_f1_score_multilabel_unordered_labelsrí  8  s±   € õ ŒX�|�|�|�nÑ%Ô%€FÝŒX�|�|�|�nÑ%Ô%€FÝ0Ø�˜|˜|˜|°bÀ'ðñ ô �J€A€qˆ!ˆQõ �q˜!ÑÔÐÝ�q˜!ÑÔÐÝ�q˜!ÑÔÐØ€Ý˜1˜l˜l˜lÑ+Ô+Ð+Ð+Ð+ð €r\   c                  óT  — t          j        g d¢¦  «        } t          j        g d¢¦  «        }t          | |d ¬¦  «        \  }}}}t          | |d¬¦  «        \  }}}}|t          j        |¦  «        k    sJ ‚|t          j        |¦  «        k    sJ ‚|t          j        |¦  «        k    sJ ‚t          | |d¬¦  «        \  }}}}t          j        | ¦  «        }	|t          j        ||	¬¦  «        k    sJ ‚|t          j        ||	¬¦  «        k    sJ ‚|t          j        ||	¬¦  «        k    sJ ‚d S )N)r   r<   r   r   r<   r<   r   r<   r   r   r<   r   r<   r   r<   )r<   r<   r   r<   r   r<   r<   r<   r<   r   r<   r   r<   r   r<   r¨   rÆ   rÈ   r„  )rA   rŸ   r   rÑ   Úbincountr©   )
rY   rX   r´   rµ   r¶   ry   rS   r¯   r°   rc   s
             rZ   Ú.test_precision_recall_f1_score_binary_averagedrð  G  sD  € ÝŒXÐCÐCÐCÑDÔD€FÝŒXÐCÐCÐCÑDÔD€Fõ 4°F¸FÈDÐQÑQÔQ�M€BˆˆB�Ý0°¸ÈÐQÑQÔQ�J€A€qˆ!ˆQØ•”˜‘”ÒÐÐÐØ•”˜‘”ÒÐÐÐØ•”˜‘”ÒÐÐÐÝ0°¸ÈÐTÑTÔT�J€A€qˆ!ˆQÝŒk˜&Ñ!Ô!€GØ•”
˜2 wÐ/Ñ/Ô/Ò/Ð/Ð/Ð/Ø•”
˜2 wÐ/Ñ/Ô/Ò/Ð/Ð/Ð/Ø•”
˜2 wÐ/Ñ/Ô/Ò/Ð/Ð/Ð/Ð/Ð/r\   c                  óž  — t          j        d¬¦  «        } 	 t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          t	          ||d¬¦  «        dd¦  «         t          t          ||d¬¦  «        dd¦  «         t          t          ||d¬¦  «        dd¦  «         t          j        d	i | ¤Ž d S # t          j        d	i | ¤Ž w xY w)
NÚraise)rR  )r   r<   r5   r   r<   r5   )r5   r   r<   r<   r5   r   rÆ   r¨   r€   r5   r¿   )rA   ÚseterrrŸ   r+   r    r!   r   )Úold_error_settingsrY   rX   s      rZ   Útest_zero_precision_recallrõ  X  sé   € õ œ wÐ/Ñ/Ô/Ðð	(Ý”Ð,Ð,Ð,Ñ-Ô-ˆÝ”Ð,Ð,Ð,Ñ-Ô-ˆå�O¨F°FÀGÐLÑLÔLÈcÐSTÑUÔUÐUÝ�L¨°ÀÐIÑIÔIÈ3ÐPQÑRÔRÐRÝ�H V¨V¸WÐEÑEÔEÀsÈAÑNÔNÐNõ 	Œ	Ð'Ð'Ð&Ð'Ð'Ð'Ð'Ð'ø�Œ	Ð'Ð'Ð&Ð'Ð'Ð'Ð'øøøs   —BB9 Â9Cc                  óX  — t          d¬¦  «        \  } }}t          | |ddg¬¦  «        }t          |ddgddgg¦  «         t          | |d	dg¬¦  «        }t          |d
d	gddgg¦  «         t          j        | ¦  «        dz   }t          | |d	|g¬¦  «        }t          |d
dgddgg¦  «         d S )NFr§   r   r<   rÚ   r)  r®   rÂ   r5   r-  r_   )r[   r   r-   rA   Úmax)rY   rX   ry   r  Úextra_labels        rZ   Ú.test_confusion_matrix_multiclass_subset_labelsrù  i  s×   € å'¨uÐ5Ñ5Ô5Ñ€FˆF�Aõ 
˜& &°!°Q°Ð	8Ñ	8Ô	8€BÝ�r˜R ˜G a¨ VÐ,Ñ-Ô-Ð-õ 
˜& &°!°Q°Ð	8Ñ	8Ô	8€BÝ�r˜R ˜G b¨! WÐ-Ñ.Ô.Ð.õ ”&˜‘.”. 1Ñ$€KÝ	˜& &°!°[Ð1AÐ	BÑ	BÔ	B€BÝ�r˜R ˜G a¨ VÐ,Ñ-Ô-Ð-Ð-Ð-r\   zlabels, err_msgz,'labels' should contains at least one label.rÂ   r®   z.At least one label specified must be in y_truez
empty listzunknown labels)Úidsc                 óº   — t          d¬¦  «        \  }}}t          j        t          |¬¦  «        5  t	          ||| ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NFr§   rë   rÚ   )r[   r½   rÒ   rÓ   r   )rq   rð   rY   rX   ry   s        rZ   Útest_confusion_matrix_errorrü  |  s©   € õ (¨uÐ5Ñ5Ô5Ñ€FˆF�AÝ	Œ•z¨Ð	1Ñ	1Ô	1ð 8ð 8Ý˜ °Ð7Ñ7Ô7Ð7ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8ð 8ð 8s   °AÁAÁArq   )ÚNonerN   Ú
multiclassc                 óª   — | rt          | ¦  «        nd}t          j        ||ft          ¬¦  «        }t	          g g | ¬¦  «        }t          ||¦  «         d S )Nr   ©rW  rÚ   )rt   rA   r¡   rD   r   r-   )rq   Úexpected_n_classesÚexpectedr  s       rZ   Ú*test_confusion_matrix_on_zero_length_inputr  Š  s^   € ð )/Ð5�˜V™œ˜°AÐÝŒxÐ+Ð-?Ð@ÍÐLÑLÔL€HÝ	˜"˜b¨Ð	0Ñ	0Ô	0€BÝ�r˜8Ñ$Ô$Ð$Ð$Ð$r\   c            	      ó–  — g d¢} t          j        t          | ¦  «        ¦  «        }t          | | ¦  «        }|j        t           j        k    sJ ‚t           j        t           j        t           j        fD ]@}t          | | | 	                    |d¬¦  «        ¬¦  «        }|j        t           j        k    sJ ‚ŒAt           j
        t           j        d t          fD ]@}t          | | | 	                    |d¬¦  «        ¬¦  «        }|j        t           j        k    sJ ‚ŒAt          j        t          | ¦  «        dt           j        ¬¦  «        }t          | | |¬¦  «        }|d         dk    sJ ‚|d         d	k    sJ ‚t          j        t          | ¦  «        d
t           j        ¬¦  «        }t          | | |¬¦  «        }|d         d
k    sJ ‚|d         dk    sJ ‚d S )Nr›   F)ÚcopyrK  l   ÿÿ r   ©r   r   rÏ  l   þÿ l   ÿÿÿÿ éþÿÿÿ)rA   Úonesrt   r   rW  Úint64Úbool_Úint32Úuint64ÚastypeÚfloat32Úfloat64ÚobjectÚfullÚuint32)rP   Úweightr  rW  s       rZ   Útest_confusion_matrix_dtyper  ”  s°  € Øˆ	ˆ	€AÝŒW•S˜‘V”V‰_Œ_€Få	˜!˜QÑ	Ô	€BØŒ8•r”xÒÐÐÐå”(�BœH¥b¤iÐ0ð $ð $ˆÝ˜a °&·-²-ÀÈE°-Ñ2RÔ2RÐSÑSÔSˆØŒx�2œ8Ò#Ð#Ð#Ð#Ð#Ý”*�bœj¨$µÐ7ð &ð &ˆÝ˜a °&·-²-ÀÈE°-Ñ2RÔ2RÐSÑSÔSˆØŒx�2œ:Ò%Ð%Ð%Ð%Ð%õ ŒW•S˜‘V”V˜Z­r¬yÐ9Ñ9Ô9€FÝ	˜!˜Q¨fÐ	5Ñ	5Ô	5€BØˆdŒ8�zÒ!Ð!Ð!Ð!ØˆdŒ8�zÒ!Ð!Ð!Ð!õ ŒW•S˜‘V”VÐ0½¼ÐAÑAÔA€FÝ	˜!˜Q¨fÐ	5Ñ	5Ô	5€BØˆdŒ8Ð*Ò*Ð*Ð*Ð*ØˆdŒ8�rŠ>ˆ>ˆ>ˆ>ˆ>ˆ>r\   rW  )ÚInt64ÚFloat64Úbooleanc                 ó  — t          j        d¦  «        }t          j        g d¢¦  «        }|                     || ¬¦  «        }|                     g d¢d¬¦  «        }t          ||¦  «        }t          ||¦  «        }t          ||¦  «         dS )zkChecks that confusion_matrix works with pandas nullable dtypes.

    Non-regression test for gh-25635.
    Úpandas)	r<   r   r   r<   r   r<   r<   r   r<   r   )	r   r   r<   r<   r   r<   r<   r<   r<   r	  N)r½   ÚimportorskiprA   rŸ   ÚSeriesr   r-   )rW  ÚpdÚ	y_ndarrayrY   Úy_predictedÚoutputÚexpected_outputs          rZ   Ú%test_confusion_matrix_pandas_nullabler!  ¯  s�   € õ 
Ô	˜XÑ	&Ô	&€Bå”Ð4Ð4Ð4Ñ5Ô5€IØ�YŠY�y¨ˆYÑ.Ô.€FØ—)’)Ð7Ð7Ð7¸w�)ÑGÔG€Kå˜f kÑ2Ô2€FÝ& y°+Ñ>Ô>€Oå�v˜Ñ/Ô/Ð/Ð/Ð/r\   c            	      óâ   — t          j        ¦   «         } t          | d¬¦  «        \  }}}d}t          ||t	          j        t          | j        ¦  «        ¦  «        | j        ¬¦  «        }||k    sJ ‚d S )NFr^   a|                precision    recall  f1-score   support

      setosa       0.83      0.79      0.81        24
  versicolor       0.33      0.10      0.15        31
   virginica       0.42      0.90      0.57        20

    accuracy                           0.53        75
   macro avg       0.53      0.60      0.51        75
weighted avg       0.51      0.53      0.47        75
©rq   rr   ©r
   r=   r[   r   rA   rB   rt   rr   ©rx   rY   rX   ry   rz   r{   s         rZ   Ú%test_classification_report_multiclassr&  Á  sƒ   € åÔÑÔ€DÝ'°¸UÐCÑCÔCÑ€FˆF�Að
€Oõ #ØØÝŒy�˜TÔ.Ñ/Ô/Ñ0Ô0ØÔ&ð	ñ ô €Fð �_Ò$Ð$Ð$Ð$Ð$Ð$r\   c                  óJ   — g d¢g d¢}} d}t          | |¦  «        }||k    sJ ‚d S )N)	r   r   r   r<   r<   r<   r5   r5   r5   rÃ  a|                precision    recall  f1-score   support

           0       0.33      0.33      0.33         3
           1       0.33      0.33      0.33         3
           2       0.33      0.33      0.33         3

    accuracy                           0.33         9
   macro avg       0.33      0.33      0.33         9
weighted avg       0.33      0.33      0.33         9
r—   )rY   rX   rz   r{   s       rZ   Ú.test_classification_report_multiclass_balancedr(  Û  sG   € Ø0Ð0Ð0Ð2MÐ2MÐ2MˆF€Fð
€Oõ # 6¨6Ñ2Ô2€FØ�_Ò$Ð$Ð$Ð$Ð$Ð$r\   c                  óŠ   — t          j        ¦   «         } t          | d¬¦  «        \  }}}d}t          ||¦  «        }||k    sJ ‚d S )NFr^   a|                precision    recall  f1-score   support

           0       0.83      0.79      0.81        24
           1       0.33      0.10      0.15        31
           2       0.42      0.90      0.57        20

    accuracy                           0.53        75
   macro avg       0.53      0.60      0.51        75
weighted avg       0.51      0.53      0.47        75
)r
   r=   r[   r   r%  s         rZ   Ú:test_classification_report_multiclass_with_label_detectionr*  í  sX   € ÝÔÑÔ€DÝ'°¸UÐCÑCÔCÑ€FˆF�Að
€Oõ # 6¨6Ñ2Ô2€FØ�_Ò$Ð$Ð$Ð$Ð$Ð$r\   c            	      óä   — t          j        ¦   «         } t          | d¬¦  «        \  }}}d}t          ||t	          j        t          | j        ¦  «        ¦  «        | j        d¬¦  «        }||k    sJ ‚d S )NFr^   a|                precision    recall  f1-score   support

      setosa    0.82609   0.79167   0.80851        24
  versicolor    0.33333   0.09677   0.15000        31
   virginica    0.41860   0.90000   0.57143        20

    accuracy                        0.53333        75
   macro avg    0.52601   0.59615   0.50998        75
weighted avg    0.51375   0.53333   0.47310        75
r­   )rq   rr   Údigitsr$  r%  s         rZ   Ú1test_classification_report_multiclass_with_digitsr-    s†   € åÔÑÔ€DÝ'°¸UÐCÑCÔCÑ€FˆF�Að
€Oõ #ØØÝŒy�˜TÔ.Ñ/Ô/Ñ0Ô0ØÔ&Øðñ ô €Fð �_Ò$Ð$Ð$Ð$Ð$Ð$r\   c                  ó  — t          d¬¦  «        \  } }}t          j        g d¢¦  «        |          } t          j        g d¢¦  «        |         }d}t          | |¦  «        }||k    sJ ‚d}t          | |g d¢¬¦  «        }||k    sJ ‚d S )NFr§   )ÚblueÚgreenÚreda|                precision    recall  f1-score   support

        blue       0.83      0.79      0.81        24
       green       0.33      0.10      0.15        31
         red       0.42      0.90      0.57        20

    accuracy                           0.53        75
   macro avg       0.53      0.60      0.51        75
weighted avg       0.51      0.53      0.47        75
a|                precision    recall  f1-score   support

           a       0.83      0.79      0.81        24
           b       0.33      0.10      0.15        31
           c       0.42      0.90      0.57        20

    accuracy                           0.53        75
   macro avg       0.53      0.60      0.51        75
weighted avg       0.51      0.53      0.47        75
r‡   ©rr   ©r[   rA   rŸ   r   )rY   rX   ry   rz   r{   s        rZ   Ú7test_classification_report_multiclass_with_string_labelr4    s°   € Ý'¨uÐ5Ñ5Ô5Ñ€FˆF�AåŒXÐ.Ð.Ð.Ñ/Ô/°Ô7€FÝŒXÐ.Ð.Ð.Ñ/Ô/°Ô7€Fð
€Oõ # 6¨6Ñ2Ô2€FØ�_Ò$Ð$Ð$Ð$ð
€Oõ # 6¨6ÀÀÀÐPÑPÔP€FØ�_Ò$Ð$Ð$Ð$Ð$Ð$r\   c                  ó®   — t          d¬¦  «        \  } }}t          j        g d¢¦  «        }||          } ||         }d}t          | |¦  «        }||k    sJ ‚d S )NFr§   )u   blueÂ¢u   greenÂ¢u   redÂ¢u                precision    recall  f1-score   support

       blueÂ¢       0.83      0.79      0.81        24
      greenÂ¢       0.33      0.10      0.15        31
        redÂ¢       0.42      0.90      0.57        20

    accuracy                           0.53        75
   macro avg       0.53      0.60      0.51        75
weighted avg       0.51      0.53      0.47        75
r3  ©rY   rX   ry   rq   rz   r{   s         rZ   Ú8test_classification_report_multiclass_with_unicode_labelr7  ?  sp   € Ý'¨uÐ5Ñ5Ô5Ñ€FˆF�AåŒXÐ:Ð:Ð:Ñ;Ô;€FØ�FŒ^€FØ�FŒ^€Fð
€Oõ # 6¨6Ñ2Ô2€FØ�_Ò$Ð$Ð$Ð$Ð$Ð$r\   c                  ó®   — t          d¬¦  «        \  } }}t          j        g d¢¦  «        }||          } ||         }d}t          | |¦  «        }||k    sJ ‚d S )NFr§   )r/  Úgreengreengreengreengreenr1  a×                             precision    recall  f1-score   support

                     blue       0.83      0.79      0.81        24
greengreengreengreengreen       0.33      0.10      0.15        31
                      red       0.42      0.90      0.57        20

                 accuracy                           0.53        75
                macro avg       0.53      0.60      0.51        75
             weighted avg       0.51      0.53      0.47        75
r3  r6  s         rZ   Ú<test_classification_report_multiclass_with_long_string_labelr:  U  sp   € Ý'¨uÐ5Ñ5Ô5Ñ€FˆF�AåŒXÐ2Ð2Ð2Ñ3Ô3€FØ�FŒ^€FØ�FŒ^€Fð
€Oõ # 6¨6Ñ2Ô2€FØ�_Ò$Ð$Ð$Ð$Ð$Ð$r\   c                  ó´   — g d¢} g d¢}g d¢}d}t          j        t          |¬¦  «        5  t          | |ddg|¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	N©r   r   r5   r   r   ©r   r5   r5   r   r   ©zclass 0zclass 1zclass 2z6labels size, 2, does not match size of target_names, 3rë   r   r5   r#  )r½   rý   rþ   r   )rY   rX   rr   r“   s       rZ   Ú=test_classification_report_labels_target_names_unequal_lengthr?  l  sÌ   € Øˆ_ˆ_€FØˆ_ˆ_€FØ4Ð4Ð4€Là
B€CÝ	Œ•k¨Ð	-Ñ	-Ô	-ð Xð XÝ˜f f°a¸°VÈ,ÐWÑWÔWÐWðXð Xð Xñ Xô Xð Xð Xð Xð Xð Xð Xð Xøøøð Xð Xð Xð Xð Xð Xs   ªAÁAÁAc                  ó®   — g d¢} g d¢}g d¢}d}t          j        t          |¬¦  «        5  t          | ||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr<  r=  r>  zaNumber of classes, 2, does not match size of target_names, 3. Try specifying the labels parameterrë   r2  )r½   rÒ   rÓ   r   )rY   rX   rr   rð   s       rZ   Ú@test_classification_report_no_labels_target_names_unequal_lengthrA  v  sÍ   € Øˆ_ˆ_€FØˆ_ˆ_€FØ4Ð4Ð4€Lð	.ð õ
 
Œ•z¨Ð	1Ñ	1Ô	1ð Ið IÝ˜f f¸<ÐHÑHÔHÐHðIð Ið Iñ Iô Ið Ið Ið Ið Ið Ið Ið Iøøøð Ið Ið Ið Ið Ið Is   ªA
Á
AÁAc                  óš   — d} d}t          d|| d¬¦  «        \  }}t          d|| d¬¦  «        \  }}d}t          ||¦  «        }||k    sJ ‚d S )Nr®   r~  r<   r   )rR   rQ   rÇ  r;   aè                precision    recall  f1-score   support

           0       0.50      0.67      0.57        24
           1       0.51      0.74      0.61        27
           2       0.29      0.08      0.12        26
           3       0.52      0.56      0.54        27

   micro avg       0.50      0.51      0.50       104
   macro avg       0.45      0.51      0.46       104
weighted avg       0.45      0.51      0.46       104
 samples avg       0.46      0.42      0.40       104
)r   r   )rÇ  rQ   ry   rY   rX   rz   r{   s          rZ   Ú%test_multilabel_classification_reportrC  „  s   € à€IØ€Iå.Ø 	°YÈQðñ ô �I€A€võ /Ø 	°YÈQðñ ô �I€A€vð€Oõ # 6¨6Ñ2Ô2€FØ�_Ò$Ð$Ð$Ð$Ð$Ð$r\   c                  óF  — t          j        g d¢g d¢g¦  «        } t          j        g d¢g d¢g¦  «        }t          | |¦  «        dk    sJ ‚t          | | ¦  «        dk    sJ ‚t          ||¦  «        dk    sJ ‚t          |t          j        |¦  «        ¦  «        dk    sJ ‚t          | t          j        | ¦  «        ¦  «        dk    sJ ‚t          | t          j        | j        ¦  «        ¦  «        dk    sJ ‚t          |t          j        | j        ¦  «        ¦  «        dk    sJ ‚d S )Nr›   rœ   r�   rž   r   r<   )rA   rŸ   r"   r    r¡   r@   r¢   s     rZ   Ú$test_multilabel_zero_one_loss_subsetrE  £  s)  € å	Œ�9�9�9˜i˜i˜iÐ(Ñ	)Ô	)€BÝ	Œ�9�9�9˜i˜i˜iÐ(Ñ	)Ô	)€Bå˜˜RÑ Ô  CÒ'Ð'Ð'Ð'Ý˜˜RÑ Ô  AÒ%Ð%Ð%Ð%Ý˜˜RÑ Ô  AÒ%Ð%Ð%Ð%Ý˜�Rœ^¨BÑ/Ô/Ñ0Ô0°AÒ5Ð5Ð5Ð5Ý˜�Rœ^¨BÑ/Ô/Ñ0Ô0°AÒ5Ð5Ð5Ð5Ý˜�RœX b¤hÑ/Ô/Ñ0Ô0°AÒ5Ð5Ð5Ð5Ý˜�RœX b¤hÑ/Ô/Ñ0Ô0°AÒ5Ð5Ð5Ð5Ð5Ð5r\   c                  óh  — t          j        g d¢g d¢g¦  «        } t          j        g d¢g d¢g¦  «        }t          j        ddg¦  «        }t          | |¦  «        dk    sJ ‚t          | | ¦  «        dk    sJ ‚t          ||¦  «        dk    sJ ‚t          |d|z
  ¦  «        dk    sJ ‚t          | d| z
  ¦  «        dk    sJ ‚t          | t          j        | j        ¦  «        ¦  «        dk    sJ ‚t          |t          j        | j        ¦  «        ¦  «        d	k    sJ ‚t          | ||¬
¦  «        dk    sJ ‚t          | d|z
  |¬
¦  «        dk    sJ ‚t          | t          j        | ¦  «        |¬
¦  «        dk    sJ ‚t          | d         |d         ¦  «        t          | d         |d         ¦  «        k    sJ ‚d S )Nr›   rœ   r�   r<   rÂ   çUUUUUUÅ?r   rÛ   rž   rK  gUUUUUUµ?gUUUUUUí?)rA   rŸ   r   r¡   r@   Ú
zeros_likeÚ
sp_hamming)r£   r¤   Úws      rZ   Útest_multilabel_hamming_lossrK  ±  sÓ  € å	Œ�9�9�9˜i˜i˜iÐ(Ñ	)Ô	)€BÝ	Œ�9�9�9˜i˜i˜iÐ(Ñ	)Ô	)€BÝ
Œ�!�Q�ÑÔ€Aå˜˜BÑÔ 5Ò(Ð(Ð(Ð(Ý˜˜BÑÔ 1Ò$Ð$Ð$Ð$Ý˜˜BÑÔ 1Ò$Ð$Ð$Ð$Ý˜˜A ™FÑ#Ô# qÒ(Ð(Ð(Ð(Ý˜˜A ™FÑ#Ô# qÒ(Ð(Ð(Ð(Ý˜�BœH R¤XÑ.Ô.Ñ/Ô/°5Ò8Ð8Ð8Ð8Ý˜�BœH R¤XÑ.Ô.Ñ/Ô/°3Ò6Ð6Ð6Ð6Ý˜˜B¨aÐ0Ñ0Ô0°HÒ<Ð<Ð<Ð<Ý˜˜A ™F°!Ð4Ñ4Ô4¸	ÒAÐAÐAÐAÝ˜�BœM¨"Ñ-Ô-¸QÐ?Ñ?Ô?À7ÒJÐJÐJÐJå˜˜1œ˜r !œuÑ%Ô%­°B°q´E¸2¸a¼5Ñ)AÔ)AÒAÐAÐAÐAÐAÐAr\   c                  óì  — t          j        g d¢¦  «        } t          j        g d¢¦  «        }d}t          j        t          |¬¦  «        5  t          | |dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        g d¢g d¢g¦  «        } t          j        g d	¢g d
¢g¦  «        }d}t          j        t          |¬¦  «        5  t          | |dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        g d¢¦  «        } t          j        g d¢¦  «        }d}t          j        t          |¬¦  «        5  t          | |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          | |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          | |dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)r   r<   r   r<   r<   z>pos_label=2 is not a valid label. It should be one of \[0, 1\]rë   rN   r5   ©r©   rî   r›   rË   rÌ   rœ   ú•Target is multilabel-indicator but average='binary'. Please choose another average setting, one of \[None, 'micro', 'macro', 'weighted', 'samples'\].r»   )r   r<   r<   r   r5   rÄ  ú€Target is multiclass but average='binary'. Please choose another average setting, one of \[None, 'micro', 'macro', 'weighted'\].r¨   zJSamplewise metrics are not available outside of multilabel classification.rÉ   zšNote that pos_label \(set to 3\) is ignored when average != 'binary' \(got 'micro'\). You may use labels=\[pos_label\] to specify a single positive class.rÇ   rÂ   )rA   rŸ   r½   rÒ   rÓ   r   rý   rþ   )rY   rX   rð   Úmsg1Úmsg2Úmsg3r“   s          rZ   Útest_jaccard_score_validationrS  Å  s~  € ÝŒX�o�o�oÑ&Ô&€FÝŒX�o�o�oÑ&Ô&€FØO€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð Eð EÝ�f˜f¨hÀ!ÐDÑDÔDÐDðEð Eð Eñ Eô Eð Eð Eð Eð Eð Eð Eøøøð Eð Eð Eð Eõ ŒX�y�y�y ) ) )Ð,Ñ-Ô-€FÝŒX�y�y�y ) ) )Ð,Ñ-Ô-€Fð	6ð 	õ
 
Œ•z¨Ð	.Ñ	.Ô	.ð Fð FÝ�f˜f¨hÀ"ÐEÑEÔEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fõ ŒX�o�o�oÑ&Ô&€FÝŒX�o�o�oÑ&Ô&€Fð	ð 	õ
 
Œ•z¨Ð	.Ñ	.Ô	.ð 8ð 8Ý�f˜f¨hÐ7Ñ7Ô7Ð7ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8àW€DÝ	Œ•z¨Ð	.Ñ	.Ô	.ð 9ð 9Ý�f˜f¨iÐ8Ñ8Ô8Ð8ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9ð	ð õ 
Œ•k¨Ð	-Ñ	-Ô	-ð Dð DÝ�f˜f¨gÀÐCÑCÔCÐCðDð Dð Dñ Dô Dð Dð Dð Dð Dð Dð Dð Døøøð Dð Dð Dð Dð Dð DsZ   Á
A*Á*A.Á1A.ÃC&Ã&C*Ã-C*Ä:EÅEÅ EÆF Æ F$Æ'F$ÇG)Ç)G-Ç0G-c           	      ó˜  — t          j        g d¢g d¢g¦  «        }t          j        g d¢g d¢g¦  «        }t          ||d¬¦  «        dk    sJ ‚t          ||d¬¦  «        dk    sJ ‚t          ||d¬¦  «        dk    sJ ‚t          |t          j        |¦  «        d¬¦  «        dk    sJ ‚t          |t          j        |¦  «        d¬¦  «        dk    sJ ‚t          |t          j        |j        ¦  «        d¬¦  «        dk    sJ ‚t          |t          j        |j        ¦  «        d¬¦  «        dk    sJ ‚t          j        g d¢g d	¢g¦  «        }t          j        g d
¢g d¢g¦  «        }t          t          ||d¬¦  «        d¦  «         t          t          ||d¬¦  «        d¦  «         t          t          ||d¬¦  «        d¦  «         t          t          ||dddg¬¦  «        d¦  «         t          t          ||dddg¬¦  «        d¦  «         t          t          ||d ¬¦  «        t          j        g d¢¦  «        ¦  «         t          j        g d¢g d¢g¦  «        }t          j        g d
¢g d¢g¦  «        }t          t          ||d¬¦  «        d¦  «         t          t          ||d¬¦  «        d¦  «         d}t          j	        t          |¬¦  «        5  t          ||dgd¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j	        t          |¬¦  «        5  t          ||dgd¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          t          j        ddgg¦  «        t          j        ddgg¦  «        d¬¦  «        dk    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          t          j        ddgddgg¦  «        t          j        ddgddgg¦  «        d¬¦  «        dk    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t          | ¦  «        rJ ‚d S )Nr›   rœ   r�   rÉ   r¨   rÎ   r<   r   rË   rÌ   rÆ   rÛ   rÇ   ró   g«ªªªªªâ?r5   rÍ   rž   )rž   r¹   rž   rÏ   rÈ   g      ì?z	Got 4 > 2rë   r®   rÅ   z
Got -1 < 0r»   zXJaccard is ill-defined and being set to 0.0 in labels with no true or predicted samples.zXJaccard is ill-defined and being set to 0.0 in samples with no true or predicted labels.)rA   rŸ   r   r    r¡   r@   r+   r-   r½   rÒ   rÓ   rý   r   rV  )Úrecwarnr£   r¤   rY   rX   rQ  rR  r“   s           rZ   Útest_multilabel_jaccard_scorerV  í  s×  € å	Œ�9�9�9˜i˜i˜iÐ(Ñ	)Ô	)€BÝ	Œ�9�9�9˜i˜i˜iÐ(Ñ	)Ô	)€Bõ
 ˜˜R¨Ð3Ñ3Ô3°tÒ;Ð;Ð;Ð;Ý˜˜R¨Ð3Ñ3Ô3°qÒ8Ð8Ð8Ð8Ý˜˜R¨Ð3Ñ3Ô3°qÒ8Ð8Ð8Ð8Ý˜�Rœ^¨BÑ/Ô/¸ÐCÑCÔCÀqÒHÐHÐHÐHÝ˜�Rœ^¨BÑ/Ô/¸ÐCÑCÔCÀqÒHÐHÐHÐHÝ˜�RœX b¤hÑ/Ô/¸ÐCÑCÔCÀqÒHÐHÐHÐHÝ˜�RœX b¤hÑ/Ô/¸ÐCÑCÔCÀqÒHÐHÐHÐHåŒX�y�y�y ) ) )Ð,Ñ-Ô-€FÝŒX�y�y�y ) ) )Ð,Ñ-Ô-€Få� f¨f¸gÐFÑFÔFÈÑPÔPÐPå� f¨f¸gÐFÑFÔFÈÑPÔPÐPå� f¨f¸iÐHÑHÔHÈ(ÑSÔSÐSÝÝ�f˜f¨iÀÀAÀÐGÑGÔGÈñô ð õ Ý�f˜f¨iÀÀAÀÐGÑGÔGÈñô ð õ Ý�f˜f¨dÐ3Ñ3Ô3µR´XÐ>UÐ>UÐ>UÑ5VÔ5Vñô ð õ ŒX�y�y�y ) ) )Ð,Ñ-Ô-€FÝŒX�y�y�y ) ) )Ð,Ñ-Ô-€FÝ� f¨f¸gÐFÑFÔFÈÑPÔPÐPå� f¨f¸jÐIÑIÔIÈ7ÑSÔSÐSà€DÝ	Œ•z¨Ð	.Ñ	.Ô	.ð Cð CÝ�f˜f¨a¨S¸'ÐBÑBÔBÐBðCð Cð Cñ Cô Cð Cð Cð Cð Cð Cð Cøøøð Cð Cð Cð Cà€DÝ	Œ•z¨Ð	.Ñ	.Ô	.ð Dð DÝ�f˜f¨b¨T¸7ÐCÑCÔCÐCðDð Dð Dñ Dô Dð Dð Dð Dð Dð Dð Døøøð Dð Dð Dð Dð	-ð õ
 
ŒÕ,°CÐ	8Ñ	8Ô	8ð 
ð 
å�"œ( Q¨ F 8Ñ,Ô,­b¬h¸¸A¸°xÑ.@Ô.@È'ÐRÑRÔRØòð ð ð ð ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð	,ð õ
 
ŒÕ,°CÐ	8Ñ	8Ô	8ð 
ð 
åÝ”˜1˜a˜& 1 a &Ð)Ñ*Ô*Ý”˜1˜a˜& 1 a &Ð)Ñ*Ô*Ø!ðñ ô ð
 òð ð ð ð ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
õ �G‰}Œ}ÐÐÐÐÐsJ   ËK/Ë/K3Ë6K3ÌL8Ì8L<Ì?L<Í AN0Î0N4Î7N4ÏA	P.Ð.P2Ð5P2c           	      óî  — g d¢}g d¢}g d¢}t          ¦   «         }|                     |¦  «         |                     |¦  «        }|                     |¦  «        }t          t          ||¦  «        }t          t          ||¦  «        }ddgddgddgdgdgdgd g}	ddgdd	gd	dgdgdgd	gd g}
d
D ]>}t          |	|
¦  «        D ]+\  }}t           |||¬¦  «         |||¬¦  «        ¦  «         Œ,Œ?t          j        ddgddgddgg¦  «        }t          j        ddgddgddgg¦  «        }t          ¦   «         5  t	          ||d¬¦  «        dk    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t          | ¦  «        rJ ‚d S )N)ÚantrX  ÚcatrY  rX  rY  ÚbirdrZ  )rY  rX  rY  rY  rX  rZ  rZ  rY  )rX  rZ  rY  rX  rZ  rY  r   r<   r5   )rÆ   rÈ   rÇ   NrÍ   rÈ   r¨   )r&   rJ   Ú	transformr   r   Úzipr+   rA   rŸ   r/   rV  )rU  rY   rX   rq   ÚlbrÔ   rÕ   Úmulti_jaccard_scoreÚbin_jaccard_scoreÚmulti_labels_listÚbin_labels_listr©   Úm_labelÚb_labels                 rZ   Útest_multiclass_jaccard_scorerd  :  sA  € ØGÐGÐG€FØGÐGÐG€FØ#Ð#Ð#€FÝ	Ñ	Ô	€BØ‡F‚Fˆ6�N„N€NØ—’˜fÑ%Ô%€JØ—’˜fÑ%Ô%€JÝ!¥-°¸Ñ@Ô@ÐÝ¥¨z¸:ÑFÔFÐà	�ˆØ	�ˆØ	�ˆØ	ˆØ	ˆØ	ˆØðÐð ˜1�v  1˜v¨¨1 v°¨s°Q°C¸!¸¸dÐC€Oð 8ð ð ˆÝ #Ð$5°Ñ GÔ Gð 	ð 	ÑˆG�WÝØ#Ð#¨G¸GÐDÑDÔDØ!Ð!¨'¸'ÐBÑBÔBñô ð ð ð	õ ŒX˜˜1�v  1˜v¨¨1 vÐ.Ñ/Ô/€FÝŒX˜˜1�v  1˜v¨¨1 vÐ.Ñ/Ô/€FÝ	Ñ	Ô	ð Fð FÝ˜V V°ZÐ@Ñ@Ô@ÀAÒEÐEÐEÐEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fõ �G‰}Œ}ÐÐÐÐÐs   Ä3EÅEÅ Ec                 ó  — t          dgdgd¬¦  «        dk    sJ ‚d}t          j        t          |¬¦  «        5  t          ddgddgd¬¦  «        dk    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t          dgdgdd¬¦  «        d	k    sJ ‚t	          j        g d
¢¦  «        }t	          j        g d¢¦  «        }t          t          ||d¬¦  «        d¦  «         t          t          ||dd¬¦  «        d¦  «         t          | ¦  «        rJ ‚d S )Nr<   r   rN   r¨   r€   zOJaccard is ill-defined and being set to 0.0 due to no true or predicted samplesrë   rü   r¹   )r<   r   r<   r<   r   )r<   r   r<   r<   r<   rÎ   rM  rž   )r   r½   rý   r   rA   rŸ   r+   rV  )rU  r“   rY   rX   s       rZ   Ú!test_average_binary_jaccard_scorerf  _  sˆ  € å˜!˜˜q˜c¨8Ð4Ñ4Ô4¸Ò;Ð;Ð;Ð;ð	'ð õ 
ŒÕ,°CÐ	8Ñ	8Ô	8ð Fð FÝ˜a ˜V a¨ V°XÐ>Ñ>Ô>À#ÒEÐEÐEÐEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fõ ˜!˜˜q˜c¨Q¸ÐAÑAÔAÀSÒHÐHÐHÐHÝŒX�o�o�oÑ&Ô&€FÝŒX�o�o�oÑ&Ô&€FÝ� f¨f¸hÐGÑGÔGÈÑQÔQÐQÝÝ�f˜f¨hÀ!ÐDÑDÔDÀgñô ð õ �G‰}Œ}ÐÐÐÐÐs   ¸A"Á"A&Á)A&c                  ó6  — t          j        g d¢g d¢g¦  «        } t          j        g d¢g d¢g¦  «        }d}t          j        t          |¬¦  «        5  t          | |dd¬¦  «        }|t          j        d¦  «        k    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )	Nrœ   ©r   r   r   z�Jaccard is ill-defined and being set to 0.0 in samples with no true or predicted labels. Use `zero_division` parameter to control this behavior.rë   rÉ   r…   ©r©   r„   r€   )rA   rŸ   r½   rý   r   r   r¾   )rY   rX   r“   Úscores       rZ   Ú(test_jaccard_score_zero_division_warningrk  v  s÷   € õ ŒX�y�y�y ) ) )Ð,Ñ-Ô-€FÝŒX�y�y�y ) ) )Ð,Ñ-Ô-€Fð	Cð õ
 
ŒÕ,°CÐ	8Ñ	8Ô	8ð +ð +Ý˜f f°iÈvÐVÑVÔVˆØ�œ cÑ*Ô*Ò*Ð*Ð*Ð*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð +ð +s   Á.BÂBÂBzzero_division, expected_scorer  )r<   rž   c                 óR  — t          j        g d¢g d¢g¦  «        }t          j        g d¢g d¢g¦  «        }t          j        ¦   «         5  t          j        dt
          ¦  «         t          ||d| ¬¦  «        }d d d ¦  «         n# 1 swxY w Y   |t          j        |¦  «        k    sJ ‚d S )Nrœ   rh  r_  rÉ   ri  )	rA   rŸ   rŽ   r�   ra  r   r   r½   r¾   )r„   Úexpected_scorerY   rX   rj  s        rZ   Ú*test_jaccard_score_zero_division_set_valuern  …  sô   € õ ŒX�y�y�y ) ) )Ð,Ñ-Ô-€FÝŒX�y�y�y ) ) )Ð,Ñ-Ô-€FÝ	Ô	 Ñ	"Ô	"ð 
ð 
ÝÔ˜gÕ'=Ñ>Ô>Ð>ÝØ�F I¸]ð
ñ 
ô 
ˆð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð
 •F”M .Ñ1Ô1Ò1Ð1Ð1Ð1Ð1Ð1s   Á.BÂBÂ	Bc                  óZ  — t          j        g d¢g d¢g d¢g¦  «        } t          j        g d¢g d¢g d¢g¦  «        }t          | |d ¬¦  «        \  }}}}t          |g d¢d¦  «         t          |g d¢d¦  «         t          |g d	¢d¦  «         t          |g d
¢d¦  «         t	          | |dd ¬¦  «        }|}t          |g d¢d¦  «         t          | |d¬¦  «        \  }}}}t          |d¦  «         t          |d¦  «         t          |d¦  «         |�J ‚t          t	          | |dd¬¦  «        t          j        |¦  «        ¦  «         t          | |d¬¦  «        \  }}}}t          |d¦  «         t          |d¦  «         t          |d¦  «         |�J ‚t          t	          | |dd¬¦  «        d|z  |z  d|z  |z   z  ¦  «         t          | |d¬¦  «        \  }}}}t          |d¦  «         t          |d¦  «         t          |d¦  «         |�J ‚t          t	          | |dd¬¦  «        t          j        ||¬¦  «        ¦  «         t          | |d¬¦  «        \  }}}}t          |d¦  «         t          |d¦  «         t          |d¦  «         |�J ‚t          t	          | |dd¬¦  «        d¦  «         d S )N©r<   r   r   r   ©r   r<   r   r   rê  )r<   r   r<   r   r¨   )r€   rž   r¹   r€   r5   )r€   r¹   r¹   r€   )r€   rÛ   r<   r€   )r<   r<   r<   r<   ©r¬   r©   )r   râ  r<   r   rÆ   g      Ø?rž   g«ªªªªªÚ?rÇ   r­   r®   rÈ   r„  rÉ   ©rA   rŸ   r   r,   r   r+   rÑ   r©   ©rY   rX   rS   r¯   r°   r±   Úf2rc   s           rZ   Ú+test_precision_recall_f1_score_multilabel_1rv  ’  s$  € õ
 ŒX�|�|�| \ \ \°<°<°<Ð@ÑAÔA€FÝŒX�|�|�| \ \ \°<°<°<Ð@ÑAÔA€Få0°¸ÈÐNÑNÔN�J€A€qˆ!ˆQõ ˜aÐ!5Ð!5Ð!5°qÑ9Ô9Ð9Ý˜aÐ!5Ð!5Ð!5°qÑ9Ô9Ð9Ý˜aÐ!7Ð!7Ð!7¸Ñ;Ô;Ð;Ý˜a   ¨qÑ1Ô1Ð1å	�V˜V¨!°TÐ	:Ñ	:Ô	:€BØ€GÝ˜b / / /°1Ñ5Ô5Ð5õ 1°¸ÈÐQÑQÔQ�J€A€qˆ!ˆQÝ˜˜7Ñ#Ô#Ð#Ý˜˜3ÑÔÐÝ˜Ð+Ñ,Ô,Ð,Øˆ9ˆ9ˆ9ÝÝ�F˜F¨°GÐ<Ñ<Ô<½b¼gÀb¹k¼kñô ð õ
 1°¸ÈÐQÑQÔQ�J€A€qˆ!ˆQÝ˜˜3ÑÔÐÝ˜˜3ÑÔÐÝ˜˜3ÑÔÐØˆ9ˆ9ˆ9ÝÝ�F˜F¨°GÐ<Ñ<Ô<Ø	�!‰�a‰˜1˜q™5 1™9Ñ%ñô ð õ 1°¸ÈÐTÑTÔT�J€A€qˆ!ˆQÝ˜˜7Ñ#Ô#Ð#Ý˜˜3ÑÔÐÝ˜Ð+Ñ,Ô,Ð,Øˆ9ˆ9ˆ9ÝÝ�F˜F¨°JÐ?Ñ?Ô?Ý
Œ
�2˜wÐ'Ñ'Ô'ñô ð õ 1°¸ÈÐSÑSÔS�J€A€qˆ!ˆQÝ˜˜3ÑÔÐÝ˜˜3ÑÔÐÝ˜˜3ÑÔÐØˆ9ˆ9ˆ9Ý� F¨F¸ÀIÐNÑNÔNÐPSÑTÔTÐTÐTÐTr\   c                  ó\  — t          j        g d¢g d¢g d¢g¦  «        } t          j        g d¢g d¢g d¢g¦  «        }t          | |d ¬¦  «        \  }}}}t          |g d¢d¦  «         t          |g d	¢d¦  «         t          |g d
¢d¦  «         t          |g d¢d¦  «         t	          | |dd ¬¦  «        }|}t          |g d¢d¦  «         t          | |d¬¦  «        \  }}}}t          |d¦  «         t          |d¦  «         t          |d¦  «         |�J ‚t          t	          | |dd¬¦  «        d|z  |z  d|z  |z   z  ¦  «         t          | |d¬¦  «        \  }}}}t          |d¦  «         t          |d¦  «         t          |d¦  «         |�J ‚t          t	          | |dd¬¦  «        t          j        |¦  «        ¦  «         t          | |d¬¦  «        \  }}}}t          |d¦  «         t          |d¦  «         t          |d¦  «         |�J ‚t          t	          | |dd¬¦  «        t          j        ||¬¦  «        ¦  «         t          | |d¬¦  «        \  }}}}t          |d¦  «         t          |d¦  «         t          |d¦  «         |�J ‚t          t	          | |dd¬¦  «        dd¦  «         d S )Nrp  rq  rì  ©r   r   r   r<   rÅ  r¨   )r€   r¹   r€   r€   r5   )r€   rž   r€   r€   )r€   g…ëQ¸å?r€   r€   ©r<   r5   r<   r   rr  )r   çš™™™™™á?r   r   rÇ   ç      Ð?r­   r®   rÆ   g      À?rG  rÈ   rž   rd   r„  rÉ   g¥½Á&SÅ?rs  rt  s           rZ   Ú+test_precision_recall_f1_score_multilabel_2r|  Õ  s/  € õ ŒX�|�|�| \ \ \°<°<°<Ð@ÑAÔA€FÝŒX�|�|�| \ \ \°<°<°<Ð@ÑAÔA€Fõ 1°¸ÈÐNÑNÔN�J€A€qˆ!ˆQÝ˜aÐ!5Ð!5Ð!5°qÑ9Ô9Ð9Ý˜aÐ!5Ð!5Ð!5°qÑ9Ô9Ð9Ý˜aÐ!6Ð!6Ð!6¸Ñ:Ô:Ð:Ý˜a   ¨qÑ1Ô1Ð1å	�V˜V¨!°TÐ	:Ñ	:Ô	:€BØ€GÝ˜b / / /°1Ñ5Ô5Ð5å0°¸ÈÐQÑQÔQ�J€A€qˆ!ˆQÝ˜˜4Ñ Ô Ð Ý˜˜4Ñ Ô Ð Ý˜Ð0Ñ1Ô1Ð1Øˆ9ˆ9ˆ9ÝÝ�F˜F¨°GÐ<Ñ<Ô<Ø	�!‰�a‰˜1˜q™5 1™9Ñ%ñô ð õ
 1°¸ÈÐQÑQÔQ�J€A€qˆ!ˆQÝ˜˜4Ñ Ô Ð Ý˜˜5Ñ!Ô!Ð!Ý˜˜6Ñ"Ô"Ð"Øˆ9ˆ9ˆ9ÝÝ�F˜F¨°GÐ<Ñ<Ô<½b¼gÀb¹k¼kñô ð õ 1°¸ÈÐTÑTÔT�J€A€qˆ!ˆQÝ˜˜5Ñ!Ô!Ð!Ý˜˜5Ñ!Ô!Ð!Ý˜˜=Ñ)Ô)Ð)Øˆ9ˆ9ˆ9ÝÝ�F˜F¨°JÐ?Ñ?Ô?Ý
Œ
�2˜wÐ'Ñ'Ô'ñô ð õ
 1°¸ÈÐSÑSÔS�J€A€qˆ!ˆQõ ˜˜5Ñ!Ô!Ð!Ý˜˜5Ñ!Ô!Ð!Ý˜˜=Ñ)Ô)Ð)Øˆ9ˆ9ˆ9ÝÝ�F˜F¨°IÐ>Ñ>Ô>ÀÈñô ð ð ð r\   z%zero_division, zero_division_expected)r…   r   rÏ  c           	      ó  — t          j        g d¢g d¢g d¢g¦  «        }t          j        g d¢g d¢g d¢g¦  «        }t          ||d | ¬¦  «        \  }}}}t          ||dddgd	¦  «         t          |dd
d|gd	¦  «         d}t          ||dd|gd	¦  «         t          |g d¢d	¦  «         t	          ||d	d | ¬¦  «        }	|}
t          |	|dd|gd	¦  «         t          ||d| ¬¦  «        \  }}}}t          j        |¦  «        rdn|}dt          j        |¦  «         z   }t          |d	|z   |z  ¦  «         t          |d|z   |z  ¦  «         d}t          ||¦  «         |�J ‚t          t	          ||d	d| ¬¦  «        t          |	d ¬¦  «        ¦  «         t          ||d| ¬¦  «        \  }}}}t          |d¦  «         t          |d
¦  «         t          |d¦  «         |�J ‚t          t	          ||d	d| ¬¦  «        d|z  |z  d|z  |z   z  ¦  «         t          ||d| ¬¦  «        \  }}}}t          ||dk    rdnd¦  «         t          |d
¦  «         d}t          |d|z  ¦  «         |�J ‚t          t	          ||d	d| ¬¦  «        t          |	|
¬¦  «        ¦  «         t          ||d¬¦  «        \  }}}}t          |d¦  «         t          |d¦  «         t          |d¦  «         |�J ‚d }t          t	          ||d	d| ¬¦  «        |d	¦  «         d S )!Nrq  rp  rì  rg  rx  ri  r¹   r€   r5   rž   r   rÛ   r<   ry  ©r¬   r©   r„   rz  rÆ   rÂ   ç      ø?gªªªªªªÚ?r„  rÇ   rg   r­   r®   rÈ   rÎ   gªªªªªª@rÉ   r¨   rd   gZd;ßOÕ?)rA   rŸ   r   r,   r   rŽ  r+   r0   )r„   Úzero_division_expectedrY   rX   rS   r¯   r°   r±   Ú
expected_fru  rc   Úvalue_to_sumÚvalues_to_averageÚexpected_results                 rZ   Ú7test_precision_recall_f1_score_with_an_empty_predictionr…    s  € õ ŒX�|�|�| \ \ \°<°<°<Ð@ÑAÔA€FÝŒX�|�|�| \ \ \°<°<°<Ð@ÑAÔA€Fõ 1Ø� °Mðñ ô �J€A€qˆ!ˆQõ ˜aÐ"8¸#¸sÀCÐ!HÈ!ÑLÔLÐLÝ˜a # s¨CÐ1GÐ!HÈ!ÑLÔLÐLØ€JÝ˜a *¨g°q¸*Ð!EÀqÑIÔIÐIÝ˜a   ¨qÑ1Ô1Ð1å	�V˜V¨!°TÈÐ	WÑ	WÔ	W€BØ€GÝ˜b :¨t°Q¸
Ð"CÀQÑGÔGÐGå0Ø� °}ðñ ô �J€A€qˆ!ˆQõ œÐ!7Ñ8Ô8ÐT�1�1Ð>T€LØ¥¤Ð*@Ñ!AÔ!AÐAÑBÐå˜˜A Ñ,Ð0AÑAÑBÔBÐBÝ˜˜C ,Ñ.Ð2CÑCÑDÔDÐDØ €JÝ˜˜:Ñ&Ô&Ð&Øˆ9ˆ9ˆ9ÝÝØØØØØ'ð	
ñ 	
ô 	
õ 	�B Ð%Ñ%Ô%ñ	ô 	ð 	õ 1Ø� °}ðñ ô �J€A€qˆ!ˆQõ ˜˜5Ñ!Ô!Ð!Ý˜˜3ÑÔÐÝ˜Ð0Ñ1Ô1Ð1Øˆ9ˆ9ˆ9ÝÝØ�F ¨GÀ=ð	
ñ 	
ô 	
ð 
�!‰�a‰˜1˜q™5 1™9Ñ%ñ	ô ð õ 1Ø� 
¸-ðñ ô �J€A€qˆ!ˆQõ ˜Ð$:¸aÒ$?Ð$?˜5˜5ÀSÑIÔIÐIÝ˜˜3ÑÔÐØÐÝ˜˜MÐ->Ñ>Ñ?Ô?Ð?Øˆ9ˆ9ˆ9ÝÝØ�F ¨JÀmð	
ñ 	
ô 	
õ 	�B Ð(Ñ(Ô(ñ	ô ð õ 1°¸ÈÐSÑSÔS�J€A€qˆ!ˆQõ ˜˜5Ñ!Ô!Ð!Ý˜˜5Ñ!Ô!Ð!Ý˜˜5Ñ!Ô!Ð!Øˆ9ˆ9ˆ9Ø€OÝÝØ�F ¨IÀ]ð	
ñ 	
ô 	
ð 	Ø	ñô ð ð ð r\   r¬   )rÆ   rÇ   rÈ   rÉ   c                 óò  — t          j        d¦  «        }t          j        |¦  «        }t          t          |||| |¬¦  «        \  }}}}t          t
          ||| ||¬¦  «        }	|�J ‚t          j        |¦  «        r!||||	fD ]}
t          j        |
¦  «        sJ ‚Œd S t          |¦  «        }t          ||¦  «         t          ||¦  «         t          ||¦  «         t          |	t          |¦  «        ¦  «         d S )N©rh   rÂ   ©r©   r¬   r„   r~  )	rA   r¡   rH  r.   r   r   rŽ  rw   r+   )r¬   r©   r„   rY   rX   rS   r¯   r°   r±   Úfbetar}   s              rZ   Ú"test_precision_recall_f1_no_labelsrŠ  y  s(  € õ ŒX�gÑÔ€FÝŒ]˜6Ñ"Ô"€Få#Ý'ØØØØØ#ðñ ô �J€A€qˆ!ˆQõ ÝØØØØØ#ðñ ô €Eð ˆ9ˆ9ˆ9õ 
„x�ÑÔð Ø˜!˜Q Ð&ð 	$ð 	$ˆFÝ”8˜FÑ#Ô#Ð#Ð#Ð#Ð#Øˆå˜-Ñ(Ô(€MÝ˜˜=Ñ)Ô)Ð)Ý˜˜=Ñ)Ô)Ð)Ý˜˜=Ñ)Ô)Ð)å˜�u ]Ñ3Ô3Ñ4Ô4Ð4Ð4Ð4r\   c                 óþ  — t          j        d¦  «        }t          j        |¦  «        }t          }t	          j        t          ¦  «        5   |||| d¬¦  «        \  }}}}d d d ¦  «         n# 1 swxY w Y   t          |d¦  «         t          |d¦  «         t          |d¦  «         |�J ‚t	          j        t          ¦  «        5  t          ||| d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |d¦  «         d S )Nr‡  r¹   rç  r   )	rA   r¡   rH  r   r½   rý   r   r+   r   )	r©   rY   rX   ÚfuncrS   r¯   r°   r±   r‰  s	            rZ   Ú1test_precision_recall_f1_no_labels_check_warningsr�     sœ  € åŒX�gÑÔ€FÝŒ]˜6Ñ"Ô"€Få*€DÝ	ŒÕ,Ñ	-Ô	-ð Eð EØ�T˜& &°'ÀÐDÑDÔD‰
ˆˆ1ˆa�ðEð Eð Eñ Eô Eð Eð Eð Eð Eð Eð Eøøøð Eð Eð Eð Eõ ˜˜1ÑÔÐÝ˜˜1ÑÔÐÝ˜˜1ÑÔÐØˆ9ˆ9ˆ9å	ŒÕ,Ñ	-Ô	-ð Gð GÝ˜F F°GÀ#ÐFÑFÔFˆðGð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gõ ˜˜qÑ!Ô!Ð!Ð!Ð!s$   Á	A*Á*A.Á1A.ÃC"Ã"C&Ã)C&c                 ó¶  — t          j        d¦  «        }t          j        |¦  «        }t          t          ||d d| ¬¦  «        \  }}}}t          t
          ||dd | ¬¦  «        }t          j        | ¦  «        } t          || | | gd¦  «         t          || | | gd¦  «         t          || | | gd¦  «         t          |g d¢d¦  «         t          || | | gd¦  «         d S )Nr‡  r¹   rˆ  r~  r5   rh  )rA   r¡   rH  r.   r   r   r  r,   )r„   rY   rX   rS   r¯   r°   r±   r‰  s           rZ   Ú/test_precision_recall_f1_no_labels_average_noner�  ´  s  € åŒX�gÑÔ€FÝŒ]˜6Ñ"Ô"€Fõ $Ý'ØØØØØ#ðñ ô �J€A€qˆ!ˆQõ Ý�V˜V¨#°tÈ=ðñ ô €Eõ ”J˜}Ñ-Ô-€MÝ˜a -°ÀÐ!NÐPQÑRÔRÐRÝ˜a -°ÀÐ!NÐPQÑRÔRÐRÝ˜a -°ÀÐ!NÐPQÑRÔRÐRÝ˜a   ¨AÑ.Ô.Ð.å˜e m°]ÀMÐ%RÐTUÑVÔVÐVÐVÐVr\   c                  ó.  — t          j        d¦  «        } t          j        | ¦  «        }t          j        t
          ¦  «        5  t          | |d d¬¦  «        \  }}}}d d d ¦  «         n# 1 swxY w Y   t          |g d¢d¦  «         t          |g d¢d¦  «         t          |g d¢d¦  «         t          |g d¢d¦  «         t          j        t
          ¦  «        5  t          | |dd ¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |g d¢d¦  «         d S )Nr‡  r<   rç  rh  r5   rr  )	rA   r¡   rH  r½   rý   r   r   r,   r   )rY   rX   rS   r¯   r°   r±   r‰  s          rZ   Ú4test_precision_recall_f1_no_labels_average_none_warnr‘  Õ  s²  € ÝŒX�gÑÔ€FÝŒ]˜6Ñ"Ô"€Fõ 
ŒÕ,Ñ	-Ô	-ð 
ð 
Ý4Ø�F D¨qð
ñ 
ô 
‰
ˆˆ1ˆa�ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
õ
 ˜a   ¨AÑ.Ô.Ð.Ý˜a   ¨AÑ.Ô.Ð.Ý˜a   ¨AÑ.Ô.Ð.Ý˜a   ¨AÑ.Ô.Ð.å	ŒÕ,Ñ	-Ô	-ð Bð BÝ˜F F°¸DÐAÑAÔAˆðBð Bð Bñ Bô Bð Bð Bð Bð Bð Bð Bøøøð Bð Bð Bð Bõ ˜e Y Y Y°Ñ2Ô2Ð2Ð2Ð2s$   ÁA'Á'A+Á.A+ÃC7Ã7C;Ã>C;c            	      ór  — t           t          }} dD ]†}d}t          j        ||¬¦  «        5   | g d¢g d¢|¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        ||¬¦  «        5   | g d¢g d¢|¬¦  «         d d d ¦  «         n# 1 swxY w Y   Œ‡d}t          j        ||¬¦  «        5   | t	          j        d	d
gd	d
gg¦  «        t	          j        d	d
gd
d
gg¦  «        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        ||¬¦  «        5   | t	          j        d	d
gd
d
gg¦  «        t	          j        d	d
gd	d
gg¦  «        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        ||¬¦  «        5   | t	          j        d	d	gd	d	gg¦  «        t	          j        d
d
gd
d
gg¦  «        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        ||¬¦  «        5   | t	          j        d
d
gd
d
gg¦  «        t	          j        d	d	gd	d	gg¦  «        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        ||¬¦  «        5   | d	d	gddgd¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        ||¬¦  «        5   | ddgd	d	gd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d¬¦  «        5 }t          j        d¦  «         t          d
d
gd
d
gd¬¦  «         d}t          | 
                    ¦   «         j        ¦  «        |k    sJ ‚d}t          | 
                    ¦   «         j        ¦  «        |k    sJ ‚d}t          | 
                    ¦   «         j        ¦  «        |k    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )N©NrÈ   rÆ   zŠPrecision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.rë   r•   ©r<   r<   r5   r¨   z‚Recall is ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.zŠPrecision is ill-defined and being set to 0.0 in samples with no predicted labels. Use `zero_division` parameter to control this behavior.r<   r   rÉ   z‚Recall is ill-defined and being set to 0.0 in samples with no true labels. Use `zero_division` parameter to control this behavior.ú‚Precision is ill-defined and being set to 0.0 due to no predicted samples. Use `zero_division` parameter to control this behavior.rÇ   úzRecall is ill-defined and being set to 0.0 due to no true samples. Use `zero_division` parameter to control this behavior.r»   rN   TrŒ   Úalwaysú‰F-score is ill-defined and being set to 0.0 due to no true nor predicted samples. Use `zero_division` parameter to control this behavior.)r   r   r½   rý   rA   rŸ   rŽ   r�   ra  r�   Úpopr‘   )r°   rJ  r©   r“   r�   s        rZ   Útest_prf_warningsrš  ñ  sØ  € å*Õ,B€q€AØ.ð 5ð 5ˆðð 	õ Œ\˜! 3Ð'Ñ'Ô'ð 	5ð 	5ØˆAˆiˆiˆi˜˜˜¨GÐ4Ñ4Ô4Ð4ð	5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5ðð 	õ Œ\˜! 3Ð'Ñ'Ô'ð 	5ð 	5ØˆAˆiˆiˆi˜˜˜¨GÐ4Ñ4Ô4Ð4ð	5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5øð
	ð õ 
Œ�a˜sÐ	#Ñ	#Ô	#ð Uð UØ	ˆ�"Œ(�Q˜�F˜Q ˜FÐ#Ñ
$Ô
$¥b¤h°°A°¸¸A¸Ð/?Ñ&@Ô&@È)ÐTÑTÔTÐTðUð Uð Uñ Uô Uð Uð Uð Uð Uð Uð Uøøøð Uð Uð Uð Uð	ð õ 
Œ�a˜sÐ	#Ñ	#Ô	#ð Uð UØ	ˆ�"Œ(�Q˜�F˜Q ˜FÐ#Ñ
$Ô
$¥b¤h°°A°¸¸A¸Ð/?Ñ&@Ô&@È)ÐTÑTÔTÐTðUð Uð Uñ Uô Uð Uð Uð Uð Uð Uð Uøøøð Uð Uð Uð Uð
	ð õ 
Œ�a˜sÐ	#Ñ	#Ô	#ð Sð SØ	ˆ�"Œ(�Q˜�F˜Q ˜FÐ#Ñ
$Ô
$¥b¤h°°A°¸¸A¸Ð/?Ñ&@Ô&@È'ÐRÑRÔRÐRðSð Sð Sñ Sô Sð Sð Sð Sð Sð Sð Søøøð Sð Sð Sð Sð	ð õ 
Œ�a˜sÐ	#Ñ	#Ô	#ð Sð SØ	ˆ�"Œ(�Q˜�F˜Q ˜FÐ#Ñ
$Ô
$¥b¤h°°A°¸¸A¸Ð/?Ñ&@Ô&@È'ÐRÑRÔRÐRðSð Sð Sñ Sô Sð Sð Sð Sð Sð Sð Søøøð Sð Sð Sð Sð
	ð õ 
Œ�a˜sÐ	#Ñ	#Ô	#ð .ð .Ø	ˆˆ1ˆaˆ&�2�r�( HÐ-Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .ð	ð õ 
Œ�a˜sÐ	#Ñ	#Ô	#ð .ð .Ø	ˆˆ2ˆrˆ(�Q˜�F HÐ-Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .õ 
Ô	 ¨Ð	-Ñ	-Ô	-ð 0°ÝÔ˜hÑ'Ô'Ð'Ý'¨¨A¨°°A°ÀÐIÑIÔIÐIðð 	õ
 �6—:’:‘<”<Ô'Ñ(Ô(¨CÒ/Ð/Ð/Ð/ðð 	õ �6—:’:‘<”<Ô'Ñ(Ô(¨CÒ/Ð/Ð/Ð/ðð 	õ �6—:’:‘<”<Ô'Ñ(Ô(¨CÒ/Ð/Ð/Ð/Ð/ð-0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð 0ð 0s¢   «A
Á
A	ÁA	Á-BÂB	ÂB	Â0?C;Ã;C?ÄC?Ä?E)Å)E-Å0E-Æ?GÇGÇGÇ:?IÉI	ÉI	É(JÊJÊJÊ*K	Ë	KËKË)B5N,Î,N0Î3N0c           	      óÜ  — t           }dD ]2}t          |g d¢g d¢|| ¬¦  «         t          |g d¢g d¢|| ¬¦  «         Œ3t          |t          j        ddgddgg¦  «        t          j        ddgddgg¦  «        d| ¬¦  «         t          |t          j        ddgddgg¦  «        t          j        ddgddgg¦  «        d| ¬¦  «         t          |t          j        ddgddgg¦  «        t          j        ddgddgg¦  «        d| ¬¦  «         t          |t          j        ddgddgg¦  «        t          j        ddgddgg¦  «        d| ¬¦  «         t          |ddgd	d	gd
| ¬¦  «         t          |d	d	gddgd
| ¬¦  «         t	          j        d¬¦  «        5 }t	          j        d¦  «         t          ddgddgd
| ¬¦  «         t          |¦  «        dk    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr“  r•   r”  ri  r<   r   rÉ   rÇ   r»   rN   TrŒ   r—  )r   r.   rA   rŸ   rŽ   r�   ra  rt   )r„   r°   r©   r�   s       rZ   Ú)test_prf_no_warnings_if_zero_division_setrœ  Y  sï  € õ 	(€AØ.ð 
ð 
ˆÝØˆyˆyˆy˜)˜)˜)¨WÀMð	
ñ 	
ô 	
ð 	
õ 	Øˆyˆyˆy˜)˜)˜)¨WÀMð	
ñ 	
ô 	
ð 	
ð 	
õ
 Ø	Ý
Œ�1�a�&˜1˜a˜&Ð!Ñ"Ô"Ý
Œ�1�a�&˜1˜a˜&Ð!Ñ"Ô"ØØ#ðñ ô ð õ Ø	Ý
Œ�1�a�&˜1˜a˜&Ð!Ñ"Ô"Ý
Œ�1�a�&˜1˜a˜&Ð!Ñ"Ô"ØØ#ðñ ô ð õ Ø	Ý
Œ�1�a�&˜1˜a˜&Ð!Ñ"Ô"Ý
Œ�1�a�&˜1˜a˜&Ð!Ñ"Ô"ØØ#ðñ ô ð õ Ø	Ý
Œ�1�a�&˜1˜a˜&Ð!Ñ"Ô"Ý
Œ�1�a�&˜1˜a˜&Ð!Ñ"Ô"ØØ#ðñ ô ð õ Ø	ˆAˆqˆ6�B˜�8 X¸]ðñ ô ð õ Ø	ˆB�ˆ8�a˜�V X¸]ðñ ô ð õ 
Ô	 ¨Ð	-Ñ	-Ô	-ð  °ÝÔ˜hÑ'Ô'Ð'Ý'Ø�ˆF�Q˜�F H¸Mð	
ñ 	
ô 	
ð 	
õ �6‰{Œ{˜aÒÐÐÐÐð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  ð  ð  s   ÆAG!Ç!G%Ç(G%c           	      ó¾  — t          t          t          j        ddgddgg¦  «        t          j        ddgddgg¦  «        d| ¬¦  «         t	          j        d¬¦  «        5 }t	          j        d¦  «         t          t          j        ddgddgg¦  «        t          j        ddgddgg¦  «        d| ¬¦  «         | dk    r-t          |                     ¦   «         j	        ¦  «        d	k    sJ ‚nt          |¦  «        dk    sJ ‚t          ddgddg¦  «         | dk    r,t          |                     ¦   «         j	        ¦  «        d	k    sJ ‚d d d ¦  «         d S # 1 swxY w Y   d S )
Nr<   r   rÇ   ri  TrŒ   r—  r…   r–  )r.   r!   rA   rŸ   rŽ   r�   ra  r�   r™  r‘   rt   ©r„   r�   s     rZ   Útest_recall_warningsrŸ  ™  sÛ  € åÝÝ
Œ�1�a�&˜1˜a˜&Ð!Ñ"Ô"Ý
Œ�1�a�&˜1˜a˜&Ð!Ñ"Ô"ØØ#ðñ ô ð õ 
Ô	 ¨Ð	-Ñ	-Ô	-ð °ÝÔ˜hÑ'Ô'Ð'ÝÝŒH�q˜!�f˜q !˜fÐ%Ñ&Ô&ÝŒH�q˜!�f˜q !˜fÐ%Ñ&Ô&ØØ'ð		
ñ 	
ô 	
ð 	
ð ˜FÒ"Ð"å�F—J’J‘L”LÔ(Ñ)Ô)ð ."ò "ð "ð "ð "ð "õ �v‘;”; !Ò#Ð#Ð#Ð#å�a˜�V˜a ˜VÑ$Ô$Ð$Ø˜FÒ"Ð"å�F—J’J‘L”LÔ(Ñ)Ô)ð ."ò "ð "ð "ð "ð+ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÁC&EÅEÅEc           	      ó¼  — t          j        d¬¦  «        5 }t          j        d¦  «         t          t	          j        ddgddgg¦  «        t	          j        ddgddgg¦  «        d| ¬¦  «         | dk    r-t          |                     ¦   «         j        ¦  «        d	k    sJ ‚nt          |¦  «        dk    sJ ‚t          ddgddg¦  «         | dk    r,t          |                     ¦   «         j        ¦  «        d	k    sJ ‚d d d ¦  «         n# 1 swxY w Y   t          t          t	          j        ddgddgg¦  «        t	          j        ddgddgg¦  «        d| ¬¦  «         d S )
NTrŒ   r—  r<   r   rÇ   ri  r…   r•  )rŽ   r�   ra  r    rA   rŸ   r�   r™  r‘   rt   r.   rž  s     rZ   Útest_precision_warningsr¡  ¾  sÖ  € å	Ô	 ¨Ð	-Ñ	-Ô	-ð °ÝÔ˜hÑ'Ô'Ð'ÝÝŒH�q˜!�f˜q !˜fÐ%Ñ&Ô&ÝŒH�q˜!�f˜q !˜fÐ%Ñ&Ô&ØØ'ð		
ñ 	
ô 	
ð 	
ð ˜FÒ"Ð"å�F—J’J‘L”LÔ(Ñ)Ô)ð ."ò "ð "ð "ð "ð "õ �v‘;”; !Ò#Ð#Ð#Ð#å˜˜A˜  A Ñ'Ô'Ð'Ø˜FÒ"Ð"å�F—J’J‘L”LÔ(Ñ)Ô)ð ."ò "ð "ð "ð "ð+ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ6 ÝÝ
Œ�1�a�&˜1˜a˜&Ð!Ñ"Ô"Ý
Œ�1�a�&˜1˜a˜&Ð!Ñ"Ô"ØØ#ðñ ô ð ð ð s   –C&DÄDÄDc           
      ó0  — t          j        d¬¦  «        5 }t          j        d¦  «         t          t	          t
          d¬¦  «        fD �]3} |t          j        ddgddgg¦  «        t          j        ddgddgg¦  «        d| ¬	¦  «         t          |¦  «        dk    sJ ‚ |t          j        ddgddgg¦  «        t          j        ddgddgg¦  «        d| ¬	¦  «         t          |¦  «        dk    sJ ‚ |t          j        ddgddgg¦  «        t          j        ddgddgg¦  «        d| ¬	¦  «         | d
k    r.t          | 
                    ¦   «         j        ¦  «        dk    sJ ‚�Œt          |¦  «        dk    sJ ‚�Œ5	 d d d ¦  «         d S # 1 swxY w Y   d S )NTrŒ   r—  r5   rº   r<   r   rÇ   ri  r…   r˜  )rŽ   r�   ra  r   r   r   rA   rŸ   rt   r�   r™  r‘   )r„   r�   rj  s      rZ   Útest_fscore_warningsr£  ä  s6  € å	Ô	 ¨Ð	-Ñ	-Ô	-ð "(°ÝÔ˜hÑ'Ô'Ð'å¥­¸!Ð <Ñ <Ô <Ð=ð 	(ñ 	(ˆEØˆEÝ”˜1˜a˜& 1 a &Ð)Ñ*Ô*Ý”˜1˜a˜& 1 a &Ð)Ñ*Ô*ØØ+ð	ñ ô ð õ �v‘;”; !Ò#Ð#Ð#Ð#àˆEÝ”˜1˜a˜& 1 a &Ð)Ñ*Ô*Ý”˜1˜a˜& 1 a &Ð)Ñ*Ô*ØØ+ð	ñ ô ð õ �v‘;”; !Ò#Ð#Ð#Ð#àˆEÝ”˜1˜a˜& 1 a &Ð)Ñ*Ô*Ý”˜1˜a˜& 1 a &Ð)Ñ*Ô*ØØ+ð	ñ ô ð ð  Ò&Ð&å˜Ÿ
š
™œÔ,Ñ-Ô-ð 2-ò -ð -ð -ð -ñ -õ ˜6‘{”{ aÒ'Ð'Ð'Ð'Ñ'ð?	(ð"(ð "(ð "(ñ "(ô "(ð "(ð "(ð "(ð "(ð "(ð "(ð "(øøøð "(ð "(ð "(ð "(ð "(ð "(s   –E'FÆFÆFc                  óŠ  — g d¢} g d¢}d}t          j        g d¢g d¢g d¢g¦  «        }t          j        g d¢g d¢g d¢g¦  «        }d}| ||f|||ffD ]q\  }}}t          t          t          t          t          d	¬
¦  «        fD ]A}	t          j        t          |¬¦  «        5   |	||¦  «         d d d ¦  «         n# 1 swxY w Y   ŒBŒrd S )N)r<   r5   rÂ   rÂ   )r<   r5   rÂ   r<   rO  r›   rË   r�   r:  rN  r5   rº   rë   )
rA   rŸ   r    r!   r   r   r   r½   rÒ   rÓ   )
Ú	y_true_mcÚ	y_pred_mcÚmsg_mcÚ
y_true_indÚ
y_pred_indÚmsg_indrY   rX   r“   r}   s
             rZ   Ú'test_prf_average_binary_data_non_binaryr«  	  sV  € à��€IØ��€Ið	1ð õ
 ”˜9˜9˜9 i i i°°°Ð;Ñ<Ô<€JÝ”˜9˜9˜9 i i i°°°Ð;Ñ<Ô<€Jð	<ð ð 
�I˜vÐ&Ø	�Z Ð)ð ð 'ð 'Ñˆ�˜õ
 ÝÝÝ•K aÐ(Ñ(Ô(ð	
ð 	'ð 	'ˆFõ ”�z°Ð5Ñ5Ô5ð 'ð 'Ø��v˜vÑ&Ô&Ð&ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'øð	'ð	'ð 's   ÂB6Â6B:Â=B:c                  ó†  — d} d}d}d}d}d}| t          j        g d¢g d¢g d	¢g¦  «        f| t          j        d
dgdd
gddgg¦  «        f|g d¢f|g d¢f|g d¢f|t          j        dgdgdgg¦  «        f|t          j        d
gdgdgg¦  «        f|t          j        dgdgdgg¦  «        f|t          j        d
dgddgddgg¦  «        f|t          j        ddgddgddgg¦  «        fg
}i | | f| “||f|“||f|“|| fd “|| fd “||f|“||fd “||fd “||fd “| |fd “||fd “||fd “||fd “||fd “| |fd “||fd “||fd “||fd | |fd ||fd ||fd i¥}t          |d¬¦  «        D �]\  \  }}	\  }
}	 |||
f         }n# t          $ r ||
|f         }Y nw xY w|�€t	          j        t          ¦  «        5  t          |	|¦  «         d d d ¦  «         n# 1 swxY w Y   ||
k    rZd                     ||
¦  «        }t	          j        t          |¬¦  «        5  t          |	|¦  «         d d d ¦  «         n# 1 swxY w Y   ŒÖ|||| fvrXd                     |¦  «        }t	          j        t          |¬¦  «        5  t          |	|¦  «         d d d ¦  «         n# 1 swxY w Y   �Œ7t          |	|¦  «        \  }}}||k    sJ ‚| 	                    d¦  «        r|j        dk    sJ ‚|j        dk    sJ ‚nDt          |t          j        |	¦  «        ¦  «         t          |t          j        |¦  «        ¦  «         t	          j        t          ¦  «        5  t          |	d d…         |¦  «         d d d ¦  «         n# 1 swxY w Y   �Œddg}	d d!g}d"}t	          j        t          |¬¦  «        5  t          |	|¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )#Nzmultilabel-indicatorrþ  rN   Ú
continuouszmulticlass-multioutputzcontinuous-multioutputr›   rË   r�   r   r<   )r5   rÂ   r<   )r€   r  r¹   r5   rÂ   r€   r  r¹   rž   r^  gš™™™™™ñ?g      @)rÞ  z@Classification metrics can't handle a mix of {0} and {1} targetsrë   z{0} is not supportedÚ
multilabelÚcsrr»   )r<   r5   )r   r5   rÂ   )r5   )r   r5   zÝYou appear to be using a legacy multi-label data representation. Sequence of sequences are no longer supported; use a binary array or sparse matrix instead - the MultiLabelBinarizer transformer can convert to this format.)rA   rŸ   r   ÚKeyErrorr½   rÒ   rÓ   r#   ÚformatÚ
startswithr-   Úsqueeze)ÚINDÚMCÚBINÚCNTÚMMCÚMCNÚEXAMPLESÚEXPECTEDÚtype1r£   Útype2r¤   r  rð   Úmerged_typeÚy1outÚy2outr“   s                     rZ   Útest__check_targetsrÁ  *	  sj  € ð !€CØ	€BØ
€CØ
€CØ
"€CØ
"€Cð 
�bŒh˜	˜	˜	 9 9 9¨i¨i¨iÐ8Ñ9Ô9Ð:à	�bŒh˜˜A˜  A ¨¨A¨Ð/Ñ0Ô0Ð1Ø	ˆYˆYˆYˆØ	ˆiˆiˆiÐØ	ˆoˆoˆoÐØ	�RŒX˜�s˜Q˜C ! �oÑ&Ô&Ð'Ø	�bŒh˜˜˜a˜S 1 #�Ñ'Ô'Ð(Ø	�bŒh˜˜ ˜u s eÐ,Ñ-Ô-Ð.Ø	�bŒh˜˜A˜  A ¨¨A¨Ð/Ñ0Ô0Ð1Ø	�bŒh˜˜c˜
 S¨# J°°c°
Ð;Ñ<Ô<Ð=ð€HðØ	ˆcˆ
�Cðà	ˆRˆ�"ðð 
ˆcˆ
�Cðð 
ˆSˆ	�4ð	ð
 
ˆcˆ
�Dðð 
ˆbˆ	�2ðð 
ˆcˆ
�Dðð 
ˆcˆ
�Dðð 
ˆcˆ
�Dðð 
ˆcˆ
�Dðð 
ˆSˆ	�4ðð 
ˆcˆ
�Dðð 
ˆcˆ
�Dðð 
ˆcˆ
�Dðð  
ˆcˆ
�Dð!ð" 
ˆSˆ	�4ð#ð$ 
ˆcˆ
�Dð%ð& 
ˆcˆ
�DØ	ˆcˆ
�DØ	ˆSˆ	�4Ø	ˆcˆ
�Dð-ð €Hõ2 %,¨H¸QÐ$?Ñ$?Ô$?ð !,ñ !,Ñ ‰ˆ�‘[�e˜Rð	.Ø  u Ô-ˆHˆHøÝð 	.ð 	.ð 	.Ø  u Ô-ˆHˆHˆHð	.øøøàÑÝ”�zÑ*Ô*ð 'ð 'Ý˜r 2Ñ&Ô&Ð&ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'ð ˜Š~ˆ~ð-ß-3ªV°E¸5Ñ-AÔ-Að õ ”]¥:°WÐ=Ñ=Ô=ð +ð +Ý" 2 rÑ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +øð   b¨# Ð.Ð.Ø4×;Ò;¸EÑBÔB�GÝœ¥z¸ÐAÑAÔAð /ð /Ý& r¨2Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ùõ )7°r¸2Ñ(>Ô(>Ñ%ˆK˜ Ø (Ò*Ð*Ð*Ð*Ø×%Ò% lÑ3Ô3ð :Ø”| uÒ,Ð,Ð,Ð,Ø”| uÒ,Ð,Ð,Ð,Ð,å" 5­"¬*°R©.¬.Ñ9Ô9Ð9Ý" 5­"¬*°R©.¬.Ñ9Ô9Ð9Ý”�zÑ*Ô*ð ,ð ,Ý˜r # 2 #œw¨Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ùð �)Ð	€BØ
�ˆ€Bð	3ð õ 
Œ•z¨Ð	-Ñ	-Ô	-ð ð Ý�r˜2ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð sl   Å.
E9Å9FÆFÆ/GÇG	ÇG	ÈH+È+H/	È2H/	É.JÊJ	ÊJ	ÍM&Í&M*	Í-M*	ÎN6Î6N:Î=N:c                  óN   — ddg} ddg}t          | |¦  «        d         dk    sJ ‚d S )Nr   r<   r»   rþ  )r#   ri  s     rZ   ÚAtest__check_targets_multiclass_with_both_y_true_and_y_pred_binaryrÃ  Œ	  s:   € à�ˆV€FØ�ˆW€FÝ˜& &Ñ)Ô)¨!Ô,°Ò<Ð<Ð<Ð<Ð<Ð<r\   c                  ó  — t          j        g d¢¦  «        } t          j        g d¢¦  «        }t          | |¦  «        dk    sJ ‚t          j        g d¢¦  «        } t          j        g d¢¦  «        }t          | |¦  «        dk    sJ ‚d S )N)r»   r<   r<   r»   )g      !Àrž   r  g333333Ó¿rè   )r   r5   r5   r   )rA   rŸ   r   ©rY   Úpred_decisions     rZ   Útest_hinge_loss_binaryrÇ  “	  s�   € ÝŒX�n�n�nÑ%Ô%€FÝ”HÐ3Ð3Ð3Ñ4Ô4€MÝ�f˜mÑ,Ô,°Ò7Ð7Ð7Ð7åŒX�l�l�lÑ#Ô#€FÝ”HÐ3Ð3Ð3Ñ4Ô4€MÝ�f˜mÑ,Ô,°Ò7Ð7Ð7Ð7Ð7Ð7r\   c            
      óž  — t          j        g d¢g d¢g d¢g d¢g d¢g d¢g¦  «        } t          j        g d¢¦  «        }t          j        d| d         d         z
  | d         d         z   d| d         d         z
  | d         d	         z   d| d	         d	         z
  | d	         d
         z   d| d
         d         z
  | d
         d	         z   d| d         d
         z
  | d         d	         z   d| d         d	         z
  | d         d
         z   g¦  «        }t          j        |dd |¬¦  «         t          j        |¦  «        }t	          || ¦  «        |k    sJ ‚d S )N©ç
×£p=
×?çÃõ(\�ÂÅ¿ç�Âõ(\�â¿g®Gáz®ï¿)çHáz®Gá¿g®Gáz®×¿ç¸…ëQ¸Þ¿rÌ  ©ç333333÷¿rÌ  çR¸…ëQØ¿rË  )rÍ  rÑ  rÎ  rÌ  ©gáz®GáÀgHáz®Gé¿gHáz®GÑ¿g¸…ëQ¸Î?)r   r<   r5   r<   rÂ   r5   r<   r   r5   rÂ   r®   r­   ©Úout©rA   rŸ   ÚcliprÑ   r   )rÆ  rY   Údummy_lossesÚdummy_hinge_losss       rZ   Útest_hinge_loss_multiclassrÙ  �	  s�  € Ý”Hà(Ð(Ð(Ø(Ð(Ð(Ø(Ð(Ð(Ø(Ð(Ð(Ø(Ð(Ð(Ø(Ð(Ð(ð	
ñ	ô 	€Mõ ŒXÐ(Ð(Ð(Ñ)Ô)€FÝ”8à�˜aÔ  Ô#Ñ# m°AÔ&6°qÔ&9Ñ9Ø�˜aÔ  Ô#Ñ# m°AÔ&6°qÔ&9Ñ9Ø�˜aÔ  Ô#Ñ# m°AÔ&6°qÔ&9Ñ9Ø�˜aÔ  Ô#Ñ# m°AÔ&6°qÔ&9Ñ9Ø�˜aÔ  Ô#Ñ# m°AÔ&6°qÔ&9Ñ9Ø�˜aÔ  Ô#Ñ# m°AÔ&6°qÔ&9Ñ9ð	
ñ	ô 	€Lõ „GˆL˜!˜T |Ð4Ñ4Ô4Ð4Ý”w˜|Ñ,Ô,ÐÝ�f˜mÑ,Ô,Ð0@Ò@Ð@Ð@Ð@Ð@Ð@r\   c                  óþ   — t          j        g d¢¦  «        } t          j        g d¢g d¢g d¢g d¢g¦  «        }d}t          j        t          |¬¦  «        5  t          | |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)r   r<   r5   r5   )gR¸…ëQô?gœÄ °rh¡?gÃõ(\�Âå¿gffffffö¿rÏ  rÒ  zDPlease include all labels in y_true or pass labels as third argumentrë   )rA   rŸ   r½   rÒ   rÓ   r   )rY   rÆ  Úerror_messages      rZ   Ú:test_hinge_loss_multiclass_missing_labels_with_labels_nonerÜ  ¸	  så   € ÝŒX�l�l�lÑ#Ô#€FÝ”Hà(Ð(Ð(Ø(Ð(Ð(Ø(Ð(Ð(Ø(Ð(Ð(ð		
ñô €Mð 	Oð õ 
Œ•z¨Ð	7Ñ	7Ô	7ð *ð *Ý�6˜=Ñ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð *ð *ó   ÁA2Á2A6Á9A6c            
      ó  — t          j        g d¢¦  «        } t          j        g d¢¦  «        }d}t          j        t          t          j        |¦  «        ¬¦  «        5  t          | |¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        ddgddgddgddgddgddgddgg¦  «        }g d	¢}d
}t          j        t          t          j        |¦  «        ¬¦  «        5  t          | ||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)r5   r<   r   r<   r   r<   r<   )r   r<   r5   r<   r   r5   r<   z”The shape of pred_decision cannot be 1d arraywith a multiclass target. pred_decision shape must be (n_samples, n_classes), that is (7, 3). Got: (7,)rë   rÅ  r   r<   r5   r•   z²The shape of pred_decision is not consistent with the number of classes. With a multiclass target, pred_decision shape must be (n_samples, n_classes), that is (7, 3). Got: (7, 2))rY   rÆ  rq   )rA   rŸ   r½   rÒ   rÓ   ÚreÚescaper   )rY   rÆ  rÛ  rq   s       rZ   Ú<test_hinge_loss_multiclass_no_consistent_pred_decision_shaperá  É	  sÁ  € õ ŒXÐ+Ð+Ð+Ñ,Ô,€FÝ”HÐ2Ð2Ð2Ñ3Ô3€Mð	ð õ 
Œ•z­¬°=Ñ)AÔ)AÐ	BÑ	BÔ	Bð ?ð ?Ý˜&°Ð>Ñ>Ô>Ð>ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?õ ”H˜q !˜f q¨! f¨q°!¨f°q¸!°f¸qÀ!¸fÀqÈ!ÀfÈqÐRSÈfÐUÑVÔV€MØˆYˆY€Fð	ð õ 
Œ•z­¬°=Ñ)AÔ)AÐ	BÑ	BÔ	Bð Nð NÝ˜&°ÀfÐMÑMÔMÐMðNð Nð Nñ Nô Nð Nð Nð Nð Nð Nð Nð Nøøøð Nð Nð Nð Nð Nð Ns$   ÁA:Á:A>ÂA>Ã!DÄDÄDc            	      óŠ  — t          j        g d¢g d¢g d¢g d¢g d¢g¦  «        } t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          j        d| d         d         z
  | d         d         z   d| d         d         z
  | d         d         z   d| d         d         z
  | d         d	         z   d| d	         d         z
  | d	         d         z   d| d
         d         z
  | d
         d	         z   g¦  «        }t          j        |dd |¬¦  «         t          j        |¦  «        }t	          || |¬¦  «        |k    sJ ‚d S )NrÉ  ©çš™™™™™á¿rÑ  rÎ  rÌ  rÏ  )r   r<   r5   r<   r5   )r   r<   r5   rÂ   r<   r   r5   rÂ   r®   rÓ  rÚ   rÕ  ©rÆ  rY   rq   r×  rØ  s        rZ   Ú.test_hinge_loss_multiclass_with_missing_labelsræ  å	  sz  € Ý”Hà(Ð(Ð(Ø(Ð(Ð(Ø(Ð(Ð(Ø(Ð(Ð(Ø(Ð(Ð(ð	
ñô €Mõ ŒX�o�o�oÑ&Ô&€FÝŒX�l�l�lÑ#Ô#€FÝ”8à�˜aÔ  Ô#Ñ# m°AÔ&6°qÔ&9Ñ9Ø�˜aÔ  Ô#Ñ# m°AÔ&6°qÔ&9Ñ9Ø�˜aÔ  Ô#Ñ# m°AÔ&6°qÔ&9Ñ9Ø�˜aÔ  Ô#Ñ# m°AÔ&6°qÔ&9Ñ9Ø�˜aÔ  Ô#Ñ# m°AÔ&6°qÔ&9Ñ9ð	
ñô €Lõ „GˆL˜!˜T |Ð4Ñ4Ô4Ð4Ý”w˜|Ñ,Ô,ÐÝ�f˜m°FÐ;Ñ;Ô;Ð?OÒOÐOÐOÐOÐOÐOr\   c            	      óš  — t          j        g d¢g d¢g d¢g d¢g d¢g¦  «        } t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          j        d| d         d         z
  | d         d         z   d| d         d	         z
  | d         d         z   d| d	         d	         z
  | d	         d         z   d| d
         d         z
  | d
         d	         z   d| d         d	         z
  | d         d         z   g¦  «        }t          j        |dd |¬¦  «         t          j        |¦  «        }t	          t          || |¬¦  «        |¦  «         d S )N)rÊ  rË  rÌ  )g333333Ã¿rÌ  rÎ  )rÐ  rÌ  rÑ  )rä  gö(\�Âõè¿gáz®GáÚ¿)r   r5   r5   r   r5   r•   r<   r   r5   rÂ   r®   rÓ  rÚ   )rA   rŸ   rÖ  rÑ   r+   r   rå  s        rZ   Ú@test_hinge_loss_multiclass_missing_labels_only_two_unq_in_y_truerè  ÿ	  s†  € õ
 ”Hà!Ð!Ð!Ø!Ð!Ð!Ø!Ð!Ð!Ø!Ð!Ð!Ø!Ð!Ð!ð	
ñô €Mõ ŒX�o�o�oÑ&Ô&€FÝŒX�i�i�iÑ Ô €FÝ”8à�˜aÔ  Ô#Ñ# m°AÔ&6°qÔ&9Ñ9Ø�˜aÔ  Ô#Ñ# m°AÔ&6°qÔ&9Ñ9Ø�˜aÔ  Ô#Ñ# m°AÔ&6°qÔ&9Ñ9Ø�˜aÔ  Ô#Ñ# m°AÔ&6°qÔ&9Ñ9Ø�˜aÔ  Ô#Ñ# m°AÔ&6°qÔ&9Ñ9ð	
ñô €Lõ „GˆL˜!˜T |Ð4Ñ4Ô4Ð4Ý”w˜|Ñ,Ô,ÐÝÝ�6˜=°Ð8Ñ8Ô8Ð:Jñô ð ð ð r\   c            
      óV  — g d¢} g d¢g d¢g d¢g d¢g d¢g d¢g}t          j        d|d         d         z
  |d         d         z   d|d         d         z
  |d         d         z   d|d         d         z
  |d         d	         z   d|d	         d         z
  |d	         d         z   d|d
         d	         z
  |d
         d         z   d|d         d         z
  |d         d	         z   g¦  «        }t          j        |dd |¬¦  «         t          j        |¦  «        }t	          | |¦  «        |k    sJ ‚d S )N)r/  r0  r1  r0  Úwhiter1  rÉ  rã  rÏ  rÒ  r<   r   r5   rÂ   r®   r­   rÓ  rÕ  )rY   rÆ  r×  rØ  s       rZ   Ú+test_hinge_loss_multiclass_invariance_listsrë  
  sw  € ð ?Ð>Ð>€Fà$Ð$Ð$Ø$Ð$Ð$Ø$Ð$Ð$Ø$Ð$Ð$Ø$Ð$Ð$Ø$Ð$Ð$ð€Mõ ”8à�˜aÔ  Ô#Ñ# m°AÔ&6°qÔ&9Ñ9Ø�˜aÔ  Ô#Ñ# m°AÔ&6°qÔ&9Ñ9Ø�˜aÔ  Ô#Ñ# m°AÔ&6°qÔ&9Ñ9Ø�˜aÔ  Ô#Ñ# m°AÔ&6°qÔ&9Ñ9Ø�˜aÔ  Ô#Ñ# m°AÔ&6°qÔ&9Ñ9Ø�˜aÔ  Ô#Ñ# m°AÔ&6°qÔ&9Ñ9ð	
ñ	ô 	€Lõ „GˆL˜!˜T |Ð4Ñ4Ô4Ð4Ý”w˜|Ñ,Ô,ÐÝ�f˜mÑ,Ô,Ð0@Ò@Ð@Ð@Ð@Ð@Ð@r\   c            	      ó”  — g d¢} t          j        ddgddgddgddgddgd	d
gg¦  «        }t          | |¦  «        }t          j        t	          j        t          j        | ¦  «        dk    |d d …df         ¦  «        ¦  «         }t          ||¦  «         g d¢} g d¢g d¢g d¢g}t          | |d¬¦  «        }t          |d¦  «         | dz  } |dz  }t          | |d¬¦  «        }t          |d¦  «         g d¢} ddgddgddgg}t          j        t          ¦  «        5  t          | |¦  «         d d d ¦  «         n# 1 swxY w Y   g d¢} ddgddgddgddgg}t          | |¦  «        }t          |d¦  «         ddg} ddgddgg}t          j        ddgddgg¦  «        }d}t          j        t          |¬ ¦  «        5  t          | |¦  «         d d d ¦  «         n# 1 swxY w Y   ddgddgddgg}d!}t          j        t          |¬ ¦  «        5  t          | |¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          j
        |d d …df         ¦  «        ¦  «         }t          | |ddg¬"¦  «        }t          ||¦  «         g d#¢} g d$¢g d¢g d%¢g}t          | |g d&¢¬"¦  «        }t          |t          j
        d¦  «         ¦  «         d S )'N©Únorî  rî  Úyesrï  rï  rž   rå   rf   ç{®Gáz„?ç®Gáz®ï?rÎ   r{  gü©ñÒMbP?g+‡ÙÎ÷ï?rï  r<   rM  ©rä   rã   rå   )ró   rä   rä   )ró   rå   rè   TrT  gèº•Ê€æ?r5   Fg.Lð—`’@rè   rã   ró   rç   ©ÚhamÚspamrõ  rô  çCTáÏðæç?rä   rª   zly_true contains only one label \(2\). Please provide the true labels explicitly through the labels argument.rë   zDFound input variables with inconsistent numbers of samples: \[3, 2\]rÚ   rû   )rã   rå   rä   ©rå   rã   rä   rL  )rA   rŸ   r   rÑ   r	   Úlogpmfr*   r½   rÒ   rÓ   Úlog)	rY   rX   ÚlossÚ	loss_truerï   Ú	error_strÚtrue_log_lossÚcalculated_log_lossÚy_score2s	            rZ   Útest_log_lossr   ;
  s  € à4Ð4Ð4€FÝŒXØ
ˆsˆ�c˜3�Z $¨ °°S¨z¸DÀ$¸<È%ÐQVÈÐXñô €Fõ �F˜FÑ#Ô#€DÝ”�Ô)­"¬(°6Ñ*:Ô*:¸eÒ*CÀVÈAÈAÈAÈqÈDÄ\ÑRÔRÑSÔSÐS€IÝ�D˜)Ñ$Ô$Ð$ð ˆYˆY€FØˆoˆo˜˜˜°°°Ð@€FÝ�F˜F¨dÐ3Ñ3Ô3€DÝ�D˜)Ñ$Ô$Ð$ð ˆa�K€FØ
ˆa�K€FÝ�F˜F¨eÐ4Ñ4Ô4€DÝ�D˜-Ñ(Ô(Ð(ð ˆYˆY€FØ�Cˆj˜3 ˜* s¨C jÐ1€FÝ	Œ•zÑ	"Ô	"ð !ð !Ý�˜Ñ Ô Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !ð ,Ð+Ð+€FØ�Cˆj˜3 ˜* s¨C j°3¸°*Ð=€FÝ�F˜FÑ#Ô#€DÝ�D˜)Ñ$Ô$Ð$ð �ˆV€FØ�Cˆj˜3 ˜*Ð%€FÝŒh˜˜c˜
 S¨# JÐ/Ñ0Ô0€Gð	Cð õ 
Œ•z¨Ð	3Ñ	3Ô	3ð !ð !Ý�˜Ñ Ô Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !ð �Cˆj˜3 ˜* s¨C jÐ1€FØW€IÝ	Œ•z¨Ð	3Ñ	3Ô	3ð !ð !Ý�˜Ñ Ô Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !õ
 ”W�RœV G¨A¨A¨A¨q¨D¤MÑ2Ô2Ñ3Ô3Ð3€MÝ" 6¨7¸A¸q¸6ÐBÑBÔBÐÝÐ'¨Ñ7Ô7Ð7ð ˆYˆY€FØ��   °/°/°/ÐB€HÝ�F˜H¨Y¨Y¨YÐ7Ñ7Ô7€DÝ�D�2œ6 #™;œ;˜,Ñ'Ô'Ð'Ð'Ð's6   ÄD5Ä5D9Ä<D9Æ5GÇGÇGÈH"È"H&È)H&c                 ó²   — t          j        ddg| ¬¦  «        }t          j        ddg| ¬¦  «        }t          ||¦  «        }t          j        |¦  «        sJ ‚dS )z¬Check the behaviour internal eps that changes depending on the input dtype.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/24315
    r   r<   r   N)rA   rŸ   r   Úisfinite)rW  rY   rX   rú  s       rZ   Útest_log_loss_epsr  |
  s_   € õ ŒX�q˜!�f EÐ*Ñ*Ô*€FÝŒX�q˜!�f EÐ*Ñ*Ô*€Få�F˜FÑ#Ô#€DÝŒ;�tÑÔÐÐÐÐÐr\   c                 óþ   — t          j        g d¢¦  «        }t          j        ddgddgddgddgg| ¬¦  «        }t          j        t          d	¬
¦  «        5  t          ||¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zGCheck that log_loss raises a warning when y_pred values don't sum to 1.rì  rä   rã   ró   rè   rç   rª   r   z$The y_pred values do not sum to one.rë   N)rA   rŸ   r½   rý   rþ   r   )rW  rY   rX   s      rZ   Ú'test_log_loss_not_probabilities_warningr  Š
  sÎ   € õ ŒX�l�l�lÑ#Ô#€FÝŒX˜˜S�z C¨ :°°S¨z¸CÀ¸:ÐFÈeÐTÑTÔT€Få	Œ•kÐ)OÐ	PÑ	PÔ	Pð !ð !Ý�˜Ñ Ô Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !ð !ð !rÝ  r:  rË   r�   c                 óV   — t          | |¦  «        t          j        d¦  «        k    sJ ‚dS )z6Check that log_loss returns 0 for perfect predictions.r   N)r   r½   r¾   ri  s     rZ   Ú!test_log_loss_perfect_predictionsr  ”
  s/   € õ �F˜FÑ#Ô#¥v¤}°QÑ'7Ô'7Ò7Ð7Ð7Ð7Ð7Ð7r\   c                  ón  — t          j        g d¢¦  «        } t          j        ddgddgddgddgg¦  «        }t          t          fg}	 ddlm}m} |                     ||f¦  «         n# t          $ r Y nw xY w|D ];\  }} || ¦  «         ||¦  «        }}t          ||¦  «        }	t          |	d¦  «         Œ<d S )	Nró  rè   rã   ró   rç   r   )Ú	DataFramer  rö  )
rA   rŸ   r)   r  r	  r  r‡  ÚImportErrorr   r*   )
Úy_trÚy_prÚtypesr	  r  ÚTrueInputTypeÚPredInputTyperY   rX   rú  s
             rZ   Útest_log_loss_pandas_inputr  ¢
  s  € åŒ8Ð2Ð2Ð2Ñ3Ô3€DÝŒ8�c˜3�Z # s ¨c°3¨Z¸#¸s¸ÐDÑEÔE€DÝ�]Ð+Ð,€EðØ,Ð,Ð,Ð,Ð,Ð,Ð,Ð,à�Š�f˜iÐ(Ñ)Ô)Ð)Ð)øÝð ð ð Øˆðøøøà(-ð )ð )Ñ$ˆ�}à&˜ tÑ,Ô,¨m¨m¸DÑ.AÔ.A�ˆÝ˜ Ñ'Ô'ˆÝ˜˜iÑ(Ô(Ð(Ð(ð	)ð )s   ÁA' Á'
A4Á3A4c                  ó€  — t          j        g d¢¦  «        } t          j        g d¢¦  «        }t          j        | |z
  ¦  «        dz  t	          | ¦  «        z  }t          t          | | ¦  «        d¦  «         t          t          | |¦  «        |¦  «         t          t          d| z   |¦  «        |¦  «         t          t          d| z  dz
  |¦  «        |¦  «         t          j        t          ¦  «        5  t          | |dd …         ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          | |dz   ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          | |dz
  ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        g d¢¦  «        } t          j        g d¢¦  «        }d	}t          j        t          |¬
¦  «        5  t          | |¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          dgdg¦  «        d¦  «         t          t          dgdg¦  «        d¦  «         t          t          dgdg¦  «        d¦  «         t          t          dgdgd¬¦  «        d¦  «         t          t          dgdgd¬¦  «        d¦  «         d S )N©r   r<   r<   r   r<   r<   ©rå   rª   rf   rè   r¹   gffffffî?r5   r€   r¹   r<   )r   r<   r5   r   )rª   ró   rç   rä   zMOnly binary classification is supported. The type of the target is multiclassrë   r»   rç   g{®GázÄ?r   rÊ  ÚfooÚbarrí   )
rA   rŸ   r   Únormrt   r+   r   r½   rÒ   rÓ   )rY   rX   Ú
true_scorerÛ  s       rZ   Útest_brier_score_lossr  ´
  s”  € åŒXÐ(Ð(Ð(Ñ)Ô)€FÝŒXÐ5Ð5Ð5Ñ6Ô6€FÝ”˜V f™_Ñ-Ô-°Ñ2µS¸±[´[Ñ@€JåÕ(¨°Ñ8Ô8¸#Ñ>Ô>Ð>ÝÕ(¨°Ñ8Ô8¸*ÑEÔEÐEÝÕ(¨¨v©°vÑ>Ô>À
ÑKÔKÐKÝÕ(¨¨V©°a©¸Ñ@Ô@À*ÑMÔMÐMÝ	Œ•zÑ	"Ô	"ð -ð -Ý˜ ¨¨¨¤Ñ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -å	Œ•zÑ	"Ô	"ð /ð /Ý˜ ¨#¡Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /å	Œ•zÑ	"Ô	"ð /ð /Ý˜ ¨#¡Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /õ ŒX�l�l�lÑ#Ô#€FÝŒXÐ*Ð*Ð*Ñ+Ô+€FàWð õ 
Œ•z¨Ð	7Ñ	7Ô	7ð )ð )Ý˜ Ñ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )õ Õ(¨"¨°¨uÑ5Ô5°tÑ<Ô<Ð<ÝÕ(¨!¨¨s¨eÑ4Ô4°dÑ;Ô;Ð;ÝÕ(¨!¨¨s¨eÑ4Ô4°dÑ;Ô;Ð;ÝÕ(¨%¨°3°%À5ÐIÑIÔIÈ4ÑPÔPÐPÝÕ(¨%¨°3°%À5ÐIÑIÔIÈ4ÑPÔPÐPÐPÐPsH   Ã1DÄDÄDÄ:EÅEÅ!EÅ>FÆF"Æ%F"Ç2HÈHÈHc                  óš   — d} t          j        t          | ¬¦  «        5  t          g d¢g d¢¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz%y_pred contains classes not in y_truerë   rh  r�   )r½   rý   rþ   r   rÿ   s    rZ   Ú#test_balanced_accuracy_score_unseenr  ×
  s˜   € Ø
1€CÝ	Œ•k¨Ð	-Ñ	-Ô	-ð 6ð 6Ý 	 	 	¨9¨9¨9Ñ5Ô5Ð5ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6ð 6ð 6s   žA Á AÁAzy_true,y_pred)rˆ   r‰   rˆ   r‰   )rˆ   rˆ   rˆ   r‰   )rˆ   r‰   rŠ   r‰   c                 óˆ  — t          | |dt          j        | ¦  «        ¬¦  «        }t          ¦   «         5  t	          | |¦  «        }d d d ¦  «         n# 1 swxY w Y   |t          j        |¦  «        k    sJ ‚t	          | |d¬¦  «        }t	          | t          j        | | d         ¦  «        ¦  «        }|||z
  d|z
  z  k    sJ ‚d S )NrÆ   rÍ   T)Úadjustedr   r<   )r!   rA   Úuniquer/   r   r½   r¾   Ú	full_like)rY   rX   Úmacro_recallÚbalancedr  Úchances         rZ   Útest_balanced_accuracy_scorer"  Ý
  s  € õ  Ø� µ´	¸&Ñ0AÔ0Aðñ ô €Lõ 
Ñ	Ô	ð ;ð ;å*¨6°6Ñ:Ô:ˆð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;ð •v”} \Ñ2Ô2Ò2Ð2Ð2Ð2Ý& v¨vÀÐEÑEÔE€HÝ$ V­R¬\¸&À&ÈÄ)Ñ-LÔ-LÑMÔM€FØ˜ 6Ñ)¨a°&©jÑ9Ò9Ð9Ð9Ð9Ð9Ð9s   ´AÁAÁArž   rÄ   ))FTr–  )r€   r¹   )ÚzeroÚonec                 ó\  — t           j                             d¦  «        }d|d         }}|                     ||d¬¦  «        }| t          u r|                     |¬¦  «        }n|                     ¦   «         } | |||¬¦  «        }t          j        t          j        |¦  «        ¦  «        rJ ‚dS )	zÀCheck that the metric works with different types of `pos_label`.

    We can expect `pos_label` to be a bool, an integer, a float, a string.
    No error should be raised for those types.
    é*   ru  r»   T)r•  Úreplacer”  rí   N)	rA   rE   rF   Úchoicer   Úuniformr  ÚanyrŽ  )r}   rÄ   rT   rQ   rî   rY   rX   r�  s           rZ   Ú*test_classification_metric_pos_label_typesr+  ò
  s§   € õ* Œ)×
Ò
 Ñ
#Ô
#€CØ˜w rœ{ˆy€IØ�ZŠZ˜ i¸ˆZÑ>Ô>€FØÕ!Ð!Ð!à—’ )�Ñ,Ô,ˆˆà—’‘”ˆØˆV�F˜F¨iÐ8Ñ8Ô8€FÝŒv•b”h˜vÑ&Ô&Ñ'Ô'Ð'Ð'Ð'Ð'Ð'r\   zy_true, y_pred, expected_scorer€   r¹   c                 óZ   — t          | |d¬¦  «        t          j        |¦  «        k    sJ ‚dS )z•Check the behaviour of `zero_division` for f1-score.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/26965
    r¹   r�  N)r   r½   r¾   )rY   rX   rm  s      rZ   Ú2test_f1_for_small_binary_inputs_with_zero_divisionr-    s4   € õ �F˜F°#Ð6Ñ6Ô6½&¼-ÈÑ:WÔ:WÒWÐWÐWÐWÐWÐWr\   Úscoringr�  r5   )r¬   r„   c                 óª   — t          j        d¬¦  «        \  }}t          dd¬¦  «                             ||¦  «        }t	          |||| dd¬¦  «         dS )	aZ  Check that we validate `np.nan` properly for classification metrics.

    With `n_jobs=2` in cross-validation, the `np.nan` used for the singleton will be
    different in the sub-process and we should not use the `is` operator but
    `math.isnan`.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/27563
    r   )r;   rÂ   )Ú	max_depthr;   r5   rò  )r.  Ún_jobsÚerror_scoreN)r
   Úmake_classificationr(   rJ   r%   )r.  rO   rP   Ú
classifiers       rZ   Ú9test_classification_metric_division_by_zero_nan_validatonr5  %  s^   € õ& Ô'°QÐ7Ñ7Ô7�D€A€qÝ'°!À!ÐDÑDÔD×HÒHÈÈAÑNÔN€JÝ�J  1¨g¸aÈWÐUÑUÔUÐUÐUÐUr\   c                  óz  — t          j        g d¢¦  «        } t          j        g d¢¦  «        }d}t          j        t          |¬¦  «        5  t          | |¬¦  «         ddd¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          | ||¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )	z)Check the message for future deprecation.r  r  z$y_prob was deprecated in version 1.5rë   )Úy_probNz/`y_prob` and `y_proba` cannot be both specified)r7  Úy_proba)rA   rŸ   r½   rý   ÚFutureWarningr   rÒ   rÓ   )rY   rX   rn  Ú	error_msgs       rZ   Ú)test_brier_score_loss_deprecation_warningr;  >  s]  € õ ŒXÐ(Ð(Ð(Ñ)Ô)€FÝŒXÐ5Ð5Ð5Ñ6Ô6€Fà5€HÝ	Œ•m¨8Ð	4Ñ	4Ô	4ð 
ð 
ÝØØð	
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð B€IÝ	Œ•z¨Ð	3Ñ	3Ô	3ð 
ð 
ÝØØØð	
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s$   Á
A(Á(A,Á/A,ÂB0Â0B4Â7B4c            	      óê  — g d¢} g d¢}t          j        ddgddgddgddgdd	gd
dgg¦  «        }t          j        ddgddgddgddgddgddgg¦  «        }t          | |¬¦  «        }t          | |d¬¦  «        }t          | |d¬¦  «        }d||z  z
  }|t	          j        |¦  «        k    sJ ‚t          j        g d¢¦  «        }|d d…                              ¦   «         |                     ¦   «         z  |d d …df<   |dd …                              ¦   «         |                     ¦   «         z  |d d …df<   t          | ||¬¦  «        }t          | ||d¬¦  «        }t          | ||d¬¦  «        }d||z  z
  }|t	          j        |¦  «        k    sJ ‚t          j        ddgddgddgddgddgddgg¦  «        }t          | |¦  «        }d|cxk     rdk     sn J ‚t          ||¦  «        }	|	t	          j        |¦  «        k    sJ ‚t          j        ddgddgddgddgddgddgg¦  «        }t          | |¦  «        }|dk     sJ ‚t          ||¦  «        }	|	t	          j        |¦  «        k    sJ ‚g d¢} t          j        ddgddgddgddgddgddgg¦  «        }t          | |¦  «        }|dk    sJ ‚t          ||¦  «        }	|	dk    sJ ‚g d¢} g d¢}t          j        ddgddgddgddgg¦  «        }t          | |¦  «        }|dk    sJ ‚t          ||¦  «        }	|	dk    sJ ‚g d¢}t          | ||¬¦  «        }
|
dk    sJ ‚g d¢} g d¢}t          j        g d ¢g d ¢g d!¢g d"¢g¦  «        }t          | |¦  «        }d|cxk     rdk     sn J ‚t          | ||¬¦  «        }d|cxk     rdk     sn J ‚t          j        g d#¢g d$¢g d"¢g d%¢g¦  «        }t          | |¦  «        }|dk     sJ ‚t          | ||¬¦  «        }|dk     sJ ‚d S )&Nrj  rí  rž   rf   rå   rç   ró   gffffffÖ?gÍÌÌÌÌÌä?rð  rñ  ri  F)rY   rX   rU  r<   )r5   r<   rÂ   r®   rÂ   r<   rÂ   r   )rY   rX   r>  )rY   rX   r>  rU  rª   rä   r¹   rÎ   r{  )r   r<   r<   r<   )rî  rï  rï  rï  )r5   r5   r5   r5   rK  )Úhighr=  ÚlowÚneutral)gffffffö?ró   rª   rä   )rª   rå   rå   ré   )rå   rå   rª   )rä   rž   rè   r÷  rò  )rA   rŸ   r$   r   r½   r¾   r`  )rY   Úy_true_stringrX   Úy_pred_nullÚd2_scoreÚlog_likelihoodÚlog_likelihood_nullÚd2_score_truer>  Úd2_score_stringÚd2_score_with_sample_weights              rZ   Útest_d2_log_loss_scorerH  T  s¯  € ØÐÐ€FØ;Ð;Ð;€MÝŒXà�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJØ�4ˆLØ�4ˆLð	
ñ	ô 	€Fõ ”(à�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJð	
ñ	ô 	€Kõ !¨°vÐ>Ñ>Ô>€HÝ V°FÀeÐLÑLÔL€NÝ"¨&¸ÐPUÐVÑVÔVÐØ˜Ð)<Ñ<Ñ<€MØ•v”} ]Ñ3Ô3Ò3Ð3Ð3Ð3õ ”HÐ/Ð/Ð/Ñ0Ô0€MØ% b q bÔ)×-Ò-Ñ/Ô/°-×2CÒ2CÑ2EÔ2EÑE€K����1�ÑØ% a b bÔ)×-Ò-Ñ/Ô/°-×2CÒ2CÑ2EÔ2EÑE€K����1�ÑÝ Ø˜f°Mðñ ô €Hõ ØØØ#Øð	ñ ô €Nõ #ØØØ#Øð	ñ ô Ðð ˜Ð)<Ñ<Ñ<€MØ•v”} ]Ñ3Ô3Ò3Ð3Ð3Ð3õ ŒXà�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJð	
ñ	ô 	€Fõ ! ¨Ñ0Ô0€HØ�ÐÐÒÐ˜CÒÐÐÐÐÐå'¨°vÑ>Ô>€OØ�fœm¨HÑ5Ô5Ò5Ð5Ð5Ð5õ ŒXà�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJØ�4ˆLØ�#ˆJð	
ñ	ô 	€Fõ ! ¨Ñ0Ô0€HØ�aŠ<ˆ<ˆ<ˆ<å'¨°vÑ>Ô>€OØ�fœm¨HÑ5Ô5Ò5Ð5Ð5Ð5ð  ÐÐ€FÝŒXà�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJð	
ñ	ô 	€Fõ ! ¨Ñ0Ô0€HØ�qŠ=ˆ=ˆ=ˆ=Ý'¨°vÑ>Ô>€OØ˜aÒÐÐÐð ˆ\ˆ\€FØ/Ð/Ð/€MÝŒX˜˜d�| d¨D \°D¸$°<À$ÈÀÐNÑOÔO€FÝ  ¨Ñ0Ô0€HØ�qŠ=ˆ=ˆ=ˆ=Ý'¨°vÑ>Ô>€OØ˜aÒÐÐÐØ �L�L€MÝ"3Ø� mð#ñ #ô #Ðð '¨!Ò+Ð+Ð+Ð+ð 0Ð/Ð/€FØ(Ð(Ð(€MåŒXàˆOˆOØˆOˆOØˆOˆOØˆOˆOð		
ñô €Fõ ! ¨Ñ0Ô0€HØ�ÐÐÒÐ˜CÒÐÐÐÐÐÝ  ¨¸}ÐMÑMÔM€HØ�ÐÐÒÐ˜CÒÐÐÐÐÐåŒXàˆOˆOØˆOˆOØˆOˆOØˆOˆOð		
ñô €Fõ ! ¨Ñ0Ô0€HØ�aŠ<ˆ<ˆ<ˆ<Ý  ¨¸}ÐMÑMÔM€HØ�aŠ<ˆ<ˆ<ˆ<ˆ<ˆ<r\   c                  óú  — g d¢} ddgddgddgg}d}t          j        t          |¬¦  «        5  t          | |¦  «         d	d	d	¦  «         n# 1 swxY w Y   g d
¢} ddgddgddgg}g d¢}d}t          j        t          |¬¦  «        5  t          | ||¬¦  «         d	d	d	¦  «         n# 1 swxY w Y   g d¢} g d¢g d¢g}d}t          j        t          |¬¦  «        5  t          | |¦  «         d	d	d	¦  «         n# 1 swxY w Y   dg} ddgg}d}t          j        t
          |¬¦  «        5  t          | |¦  «         d	d	d	¦  «         n# 1 swxY w Y   g d¢} ddgddgddgg}d}t          j        t          |¬¦  «        5  t          | |¦  «         d	d	d	¦  «         n# 1 swxY w Y   g d¢} dg}ddgddgddgg}d}t          j        t          |¬¦  «        5  t          | ||¬¦  «         d	d	d	¦  «         d	S # 1 swxY w Y   d	S )zPTest that d2_log_loss_score raises the appropriate errors on
    invalid inputs.r•   rä   rª   rž   rç   ró   z#contain different number of classesrë   Nr‡   z(number of classes in labels is differentrÚ   )rž   rž   rž   )ró   rè   rå   rJ  r<   zscore is not well-definedrÌ   r­   zy_true contains only one labelz.The labels array needs to contain at least two)r½   rÒ   rÓ   r$   rý   r   )rY   rX   Úerrrq   s       rZ   Útest_d2_log_loss_score_raisesrK  ê  sã  € ð ˆYˆY€FØ�Cˆj˜3 ˜* s¨C jÐ1€FØ
/€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð *ð *Ý˜& &Ñ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð
 ˆ_ˆ_€FØ�Cˆj˜3 ˜* s¨C jÐ1€FØˆYˆY€FØ
4€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð 9ð 9Ý˜& &°Ð8Ñ8Ô8Ð8ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9ð ˆYˆY€FØˆoˆo˜˜˜Ð/€FØ
+€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð *ð *Ý˜& &Ñ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð ˆS€FØ�Cˆjˆ\€FØ
%€CÝ	ŒÕ,°CÐ	8Ñ	8Ô	8ð *ð *Ý˜& &Ñ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð ˆYˆY€FØ�Cˆj˜3 ˜* s¨A hÐ/€FØ
*€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð *ð *Ý˜& &Ñ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð
 ˆYˆY€FØˆS€FØ�Cˆj˜3 ˜* s¨A hÐ/€FØ
:€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð 9ð 9Ý˜& &°Ð8Ñ8Ô8Ð8ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9ð 9ð 9sk   ­A
Á
AÁAÂB$Â$B(Â+B(ÃC5Ã5C9Ã<C9Ä%EÅEÅ	EÅ9FÆFÆFÇG0Ç0G4Ç7G4)NF)±rß  rŽ   Ú	functoolsr   Ú	itertoolsr   r   r   ÚnumpyrA   r½   Úscipyr   Úscipy.spatial.distancer   rI  Úscipy.statsr	   Úsklearnr
   r   Úsklearn.datasetsr   Úsklearn.exceptionsr   Úsklearn.metricsr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   Úsklearn.metrics._classificationr#   r$   Úsklearn.model_selectionr%   Úsklearn.preprocessingr&   r'   Úsklearn.treer(   Úsklearn.utils._mockingr)   Úsklearn.utils._testingr*   r+   r,   r-   r.   r/   Úsklearn.utils.extmathr0   Úsklearn.utils.fixesr1   r2   Úsklearn.utils.validationr3   r[   r~   rƒ   ÚmarkÚparametrizer�   r”   r™   r¥   r·   rÀ   rØ   rÞ   rñ   rŸ   r÷   rù   r   r  r%  r6  rH  rN  r\  re  rh  ro  rs  rz  r‰  r‹  r�  r’  r™  r²  r¾  rÊ  rà  rè  rí  rð  rõ  rù  rü  r  r  r!  r&  r(  r*  r-  r4  r7  r:  r?  rA  rC  rE  rK  rS  rV  rd  rf  rk  rn  rv  r|  r…  rŠ  r�  r�  r‘  rš  rœ  rŸ  r¡  r£  r«  rÁ  rÃ  rÇ  rÙ  rÜ  rá  ræ  rè  rë  r   r  r  Úfloat16r  r  r  r  r  r  r"  r+  r-  r5  r;  rH  rK  r¿   r\   rZ   ú<module>rb     s¾  ðØ 	€	€	€	Ø €€€Ø Ð Ð Ð Ð Ð Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2à Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø !Ð !Ð !Ð !Ð !Ð !à !Ð !Ð !Ð !Ð !Ð !Ð !Ð !Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð. NÐ MÐ MÐ MÐ MÐ MÐ MÐ MØ 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ø /Ð /Ð /Ð /Ð /Ð /Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð .Ð -Ð -Ð -Ð -Ð -Ø >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7ð)(ð )(ð )(ð )(ð`>Dð >Dð >DðBWð Wð Wð< „×Ò˜¨6°1°a¸¼Ð*@ÑAÔAðð ñ BÔAðð „×ÒØ   T˜{¨a°¨V°U¨O¸i¸i¸iÈÐ=OÐPñô ð)ð )ñô ð)ð(7ð 7ð 7ð
ð 
ð 
ðD ðð ñ „ðð$ ð*Jð *Jñ „ð*JðZ ðMð Mñ „ðMð,>ð >ð >ð6 „×ÒØð ˆLˆLØˆBŒHà#�O�OØ#�O�OØ#�O�OØ#�O�Oð	ñô ð
	
ð .Ð-Ð-Ø=Ð=Ð=ð	
ðñô ð(9ð 9ñ)ô ð(9ð „×ÒØð ˆOˆOØˆBŒHà#�O�OØ#�O�OØ#�O�OØ#�O�OØ#�O�Oðñô ð	
ð ˆIˆIØˆOˆOð	
ðñô ð*;ð ;ñ+ô ð*;ð
ð 
ð 
ð =ð =ð =ð*	=ð 	=ð 	=ð Oð  Oð  OðF „×Ò˜¨.Ñ9Ô9Ø„×Ò˜¨.Ñ9Ô9ð%Sð %Sñ :Ô9ñ :Ô9ð%SðPTð Tð Tð< „×ÒØ+ðð ð ñô ð%ð %ñô ð%ð;ð ;ð ;ð&)ð )ð )ð „×ÒØð
 #˜"œ(Ð#5Ð#5Ð#5Ñ6Ô6Ø"˜"œ(Ð#5Ð#5Ð#5Ñ6Ô6ðð ð Að	
ð #˜"œ(Ð#5Ð#5Ð#5Ñ6Ô6Ø"˜"œ(Ð#5Ð#5Ð#5Ñ6Ô6ðð ð Ið	
ð #˜"œ(Ð#5Ð#5Ð#5Ñ6Ô6Ø"˜"œ(Ð#5Ð#5Ð#5Ñ6Ô6ðð ð :ð	
ð #˜"œ(Ð#5Ð#5Ð#5Ñ6Ô6Ø"˜"œ(Ð#5Ð#5Ð#5Ñ6Ô6ðð ð Ið	
ð #˜"œ(Ð#5Ð#5Ð#5Ñ6Ô6Ø"˜"œ(Ð#5Ð#5Ð#5Ñ6Ô6ðð ð Oð	
ðE)ñ,ô ,ðZ*ð *ñ[,ô ,ðZ*ð „×ÒØð #˜"œ( ? ? ?Ñ3Ô3Ø"˜"œ( ? ? ?Ñ3Ô3ðð ð
<ð		
ðñô ð*ð *ñô ð*ð"ð "ð "ð2ð ð ð>4ð 4ð 4ð
 „×Ò˜¨1¨a°´¨.Ñ9Ô9Ø„×ÒÐ)¨a¨S°1°#¨J¸¸R¸Ð+AÑBÔBØ„×ÒØàØˆ� !Ð$Ñ$Ô$ØØð	ñô ð'ð 'ñô ñ CÔBñ :Ô9ð'ð „×ÒÐ)¨a¨S°1°#¨J¸¸R¸Ð+AÑBÔBØ„×ÒØàØˆ� !Ð$Ñ$Ô$ØØð	ñô ðð ñô ñ CÔBððð ð ð$2ð $2ð $2ðN Rð  Rð  RðF5ð 5ð 5ðp „×Ò˜ c¨5 \Ñ2Ô2ðUð Uñ 3Ô2ðUðB7(ð 7(ð 7(ðt „×Ò˜Ð$SÐ$SÐ$SÑTÔTð,ð ,ñ UÔTð,ð0ð 0ð 0ð"(ð (ð (ð".ð .ð .ð& „×ÒØà	Ð;Ð<Ø
ˆQˆÐAÐBðð 
Ð'Ð(ð ñ ô ð8ð 8ñô ð8ð „×ÒØˆt�a˜�V˜Y˜Y˜YÐ'Ð-MÐ-MÐ-Mð ñ ô ð%ð %ñô ð%ðð ð ð6 „×Ò˜Ð"AÐ"AÐ"AÑBÔBð0ð 0ñ CÔBð0ð"%ð %ð %ð4%ð %ð %ð$%ð %ð %ð(%ð %ð %ð6 %ð  %ð  %ðF%ð %ð %ð,%ð %ð %ð.Xð Xð XðIð Ið Ið ð%ð %ñ „ð%ð<6ð 6ð 6ðBð Bð Bð(%Dð %Dð %DðPJð Jð JðZ"ð "ð "ðJð ð ð.+ð +ð +ð „×ÒÐ8¸6À8Ð:LÑMÔMð	2ð 	2ñ NÔMð	2ð ð?Uð ?Uñ „ð?UðD ð=ð =ñ „ð=ð@ Ø„×ÒØ+Ø�&˜& 2¤6¨2¬6Ð"2Ð3ñô ð[ð [ñ	ô ñ „ð
[ð| „×Ò˜ ! Ñ%Ô%Ø„×Ò˜Ð$MÐ$MÐ$MÑNÔNØ„×Ò˜¨1¨a°´¨.Ñ9Ô9ð!5ð !5ñ :Ô9ñ OÔNñ &Ô%ð!5ðH „×Ò˜Ð$MÐ$MÐ$MÑNÔNð"ð "ñ OÔNð"ð& „×Ò˜¨1¨a°´¨.Ñ9Ô9ðWð Wñ :Ô9ðWð@3ð 3ð 3ð8e0ð e0ð e0ðP „×Ò˜¨1¨a°´¨.Ñ9Ô9ð< ð < ñ :Ô9ð< ð~ „×Ò˜¨6°1°a¸¼Ð*@ÑAÔAð!ð !ñ BÔAð!ðH „×Ò˜¨6°1°a¸¼Ð*@ÑAÔAð"ð "ñ BÔAð"ðJ „×Ò˜¨6°1°a¸¼Ð*@ÑAÔAð#(ð #(ñ BÔAð#(ðL'ð 'ð 'ð>_ð _ð _ðD=ð =ð =ð8ð 8ð 8ðAð Að Að6*ð *ð *ð"Nð Nð Nð8Pð Pð Pð4ð ð ð@Að Að Að8>(ð >(ð >(ðB „×Ò˜ 2¤:¨r¬z¸2¼:Ð"FÑGÔGð
ð 
ñ HÔGð
ð „×Ò˜ 2¤:¨r¬z¸2¼:Ð"FÑGÔGð!ð !ñ HÔGð!ð „×ÒØà	ˆˆ�I�I�IÐØ	ˆˆ�a˜�V˜a ˜V a¨ VÐ,Ð-Ø	ˆˆ�Y�Y�Y 	 	 	¨9¨9¨9Ð5Ð6ðñô ð8ð 8ñô ð8ð)ð )ð )ð$ Qð  Qð  QðF6ð 6ð 6ð „×ÒØà	Ð	Ð	Ð3Ð3Ð3Ð4Ø	Ð	Ð	Ð3Ð3Ð3Ð4Ø	Ð	Ð	Ð3Ð3Ð3Ð4ðñô ð
:ð 
:ñô ð
:ð „×ÒØàØØˆ� #Ð&Ñ&Ô&Ø'ØØØðñô ð „×ÒØÐCÐCÐCñô ð(ð (ñô ñô ð(ð$ „×ÒØ$à	ˆŒ�1�a�&Ñ	Ô	˜8˜2œ8 Q¨ FÑ+Ô+¨SÐ1Ø	ˆŒ�1�a�&Ñ	Ô	˜8˜2œ8 Q¨ FÑ+Ô+¨SÐ1Ø	ˆŒ�1�a�&Ñ	Ô	˜8˜2œ8 Q¨ FÑ+Ô+¨SÐ1Ø	ˆŒ�1�a�&Ñ	Ô	˜8˜2œ8 Q¨ FÑ+Ô+¨SÐ1ð	ñô ðXð Xñô ðXð „×ÒØàˆ�H¨B¬FÐ3Ñ3Ô3Øˆ�K a°r´vÐ>Ñ>Ô>Øˆ�O°2´6Ð:Ñ:Ô:Øˆ�L°´Ð7Ñ7Ô7ð	ñô ðVð Vñô ðVð 
ð 
ð 
ð,Sð Sð Sðl.9ð .9ð .9ð .9ð .9r\   