Ë
    ÷Q(h(¬ ã                   óà  — 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@ d dlAmBZB d dlCmDZDmEZE d dlFmGZG dÈd„ZHd„ ZId„ ZJe
j–                  j™                  ddd de	jš                  g«      d„ «       ZNe
j–                  j™                  dd gdfd dgdfg d¢dfg«      d„ «       ZOd „ ZPd!„ ZQe
j–                  j¥                  d"«      d#„ «       ZSe
j–                  j¥                  d"«      d$„ «       ZTe
j–                  j¥                  d"«      d%„ «       ZUd&„ ZVe
j–                  j™                  d'g d(¢ e	j®                  g d)¢g d*¢g d+¢g d,¢g«      fg d-¢g d.¢fg«      d/„ «       ZXe
j–                  j™                  d'g d0¢ e	j®                  g d,¢g d,¢g d1¢g d1¢g d2¢g«      fg d3¢g d4¢fg«      d5„ «       ZYd6„ ZZd7„ Z[d8„ Z\d9„ Z]e
j–                  j™                  d:eD«      e
j–                  j™                  d;eE«      d<„ «       «       Z^d=„ Z_e
j–                  j™                  d>g d?¢«      d@„ «       Z`dA„ ZadB„ Zbe
j–                  j™                  dC e	j®                  g dD¢«       e	j®                  g dD¢«      dEœdFf e	j®                  g dG¢«       e	j®                  g dG¢«      dEœdHf e	j®                  g dG¢«       e	j®                  g dD¢«      dEœdIf e	j®                  g dG¢«       e	j®                  g dJ¢«      dEœdKf e	j®                  g dD¢«       e	j®                  g dG¢«      dEœdLfg«      dM„ «       Zce
j–                  j™                  dN e	j®                  g dO¢«       e	j®                  g dP¢«      dEœdQfg«      dR„ «       ZddS„ ZedT„ Zfe
j–                  j™                  dd de	jš                  g«      e
j–                  j™                  dUd gd gfg«      e
j–                  j™                  dVe" ee#d¬W«      e,e-g«      dX„ «       «       «       Zge
j–                  j™                  dUd gd gfg«      e
j–                  j™                  dVe" ee#d¬W«      e,e-g«      dY„ «       «       ZhdZ„ Zid[„ Zjd\„ Zkd]„ Zle
j–                  j™                  d^d_d`g«      da„ «       Zmdb„ Zne
j–                  j™                  dcg dd¢«      de„ «       Zodf„ Zpdg„ Zqdh„ Zre
j–                  j™                  dig djfdkdlgdmfgdndog¬p«      dq„ «       Zse
j–                  j™                  drdd dgg d¢fg ds¢¬p«      dt„ «       Ztdu„ Zue
j–                  j™                  dvg dw¢«      dx„ «       Zvdy„ Zwdz„ Zxd{„ Zyd|„ Zzd}„ Z{d~„ Z|d„ Z}d€„ Z~d�„ Ze
j–                  j¥                  d"«      d‚„ «       Z€dƒ„ Z�d„„ Z‚d…„ Zƒd†„ Z„d‡„ Z…dˆ„ Z†d‰„ Z‡e
j–                  j™                  dŠd‹dŒg«      d�„ «       Zˆe
j–                  j¥                  d"«      dŽ„ «       Z‰e
j–                  j¥                  d"«      d�„ «       ZŠe
j–                  j¥                  d"«      e
j–                  j™                  d�d‘d‹d’e	jš                  e	jš                  fg«      d“„ «       «       Z‹e
j–                  j™                  d”dg«      e
j–                  j™                  dcg d•¢«      e
j–                  j™                  dd de	jš                  g«      d–„ «       «       «       ZŒe
j–                  j™                  dcg d•¢«      d—„ «       Z�e
j–                  j™                  dd de	jš                  g«      d˜„ «       ZŽd™„ Z�dš„ Z�e
j–                  j™                  dd de	jš                  g«      d›„ «       Z‘e
j–                  j™                  ddd de	jš                  g«      dœ„ «       Z’e
j–                  j™                  ddd de	jš                  g«      d�„ «       Z“e
j–                  j™                  ddd de	jš                  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
j–                  j™                  dve	�j@                  e	�jB                  e	�jD                  g«      dª„ «       Z£e
j–                  j™                  dve	�j@                  e	�jB                  e	�jD                  g«      d«„ «       Z¤e
j–                  j™                  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
j–                  j™                  d³g d´¢g dµ¢fg d¶¢g dµ¢fg dµ¢g d¶¢fg«      d·„ «       Z©e
j–                  j™                  dVe&e" ee#d¸¬W«      e+e,e-eg«      e
j–                  j™                  d¹g dº¢«      d»„ «       «       Zªe
j–                  j™                  d¼ e	j®                  d dg«       e	j®                  dd g«      d½f e	j®                  d dg«       e	j®                  d dg«      d¾f e	j®                  d dg«       e	j®                  d d g«      d½f e	j®                  d d g«       e	j®                  d d g«      d¾fg«      d¿„ «       Z«e
j–                  j™                  dÀ e(e"e	jš                  ¬Á«       e(e#dÂe	jš                  ¬Ã«       e(e,e	jš                  ¬Á«       e(e-e	jš                  ¬Á«      g«      dÄ„ «       Z¬dÅ„ Z­dÆ„ Z®dÇ„ Z¯y)Éé    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Úignore_warnings)Ú_nanaverage)ÚCSC_CONTAINERSÚCSR_CONTAINERS)Úcheck_random_stateFc                 ó–  — | €t        j                  «       } | j                  }| j                  }|r||dk     ||dk     }}|j                  \  }}t        j                  |«      }t        d«      }|j                  |«       ||   ||   }}t        |dz  «      }t
        j                  j                  d«      }t
        j                  ||j                  |d|z  «      f   }t        j                  ddd¬«      }	|	j!                  |d| |d| «      j#                  ||d «      }
|r	|
dd…d	f   }
|	j%                  ||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Úaranger2   Ú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                úg/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sklearn/metrics/tests/test_classification.pyÚmake_predictionrZ   :   sN  € ð €ä×$Ñ$Ó&ˆà�‰€AØ�‰€Aáà��Q‘‰x˜˜1˜q™5™ˆ1ˆàŸG™GÑ€IˆzÜ
�	‰	�)Ó€Aä
˜RÓ
 €CØ‡K�K�„NØˆQ‰4��1‘€q€AÜˆy˜1‰}Ó€Dô �)‰)×
Ñ
 Ó
"€CÜ
�‰ˆa�—‘˜9 c¨JÑ&6Ó7Ð7Ñ8€Aô �'‰'˜¨tÀ!Ô
D€CØ—7‘7˜1˜U˜d˜8 Q u¨ XÓ.×<Ñ<¸Q¸t¸u¸XÓF€Láð $¢A q DÑ)ˆà�[‰[˜˜4˜5˜Ó"€FØˆtˆ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¬«      }|j                  «       |j                  «       k(  sJ ‚|D ]u  }|dk(  r#t        ||   t        «      sJ ‚||   ||   k(  rŒ)J ‚||   j                  «       ||   j                  «       k(  sJ ‚||   D ]  }t        ||   |   ||   |   «       Œ Œw t        |d   d   t        «      sJ ‚t        |d   d   t        «      sJ ‚t        |d   d   t        «      sJ ‚t        |d   d   t        «      sJ ‚y ) NF©rL   rM   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   ©ra   r_   r`   rb   gá?gDÖ~WGÞ?g]žè3«pà?)ÚsetosaÚ
versicolorÚ	virginicaú	macro avgÚaccuracyúweighted avgT)ÚlabelsÚtarget_namesÚoutput_dictrn   rj   r_   rm   rb   )r
   r<   rZ   r   r@   rA   Úlenrq   ÚkeysÚ
isinstanceÚfloatr+   rC   )ÚirisrX   rW   Ú_Úexpected_reportÚreportÚkeyÚmetrics           rY   Ú,test_classification_report_dictionary_outputr}   j   së  € ä×ÑÓ€DÜ'°¸UÔCÑ€FˆF�Að
 -Ø)Ø*Øñ	
ð -Ø*Ø+Øñ	
ð -Ø)Ø+Øñ	
ð +Ø+Ø'Øñ	
ð 'à+Ø+Ø(Øñ	
ñ5 €OôD #ØØÜ�y‰yœ˜T×.Ñ.Ó/Ó0Ø×&Ñ&Øô€Fð �;‰;‹=˜O×0Ñ0Ó2Ò2Ð2Ð2Øò WˆØ�*ÒÜ˜f S™k¬5Ô1Ð1Ð1Ø˜#‘; /°#Ñ"6Ó6Ð6Ð6à˜#‘;×#Ñ#Ó%¨¸Ñ)=×)BÑ)BÓ)DÒDÐDÐDØ)¨#Ñ.ò W�Ü# O°CÑ$8¸Ñ$@À&ÈÁ+ÈfÑBUÕVñWðWô �o hÑ/°Ñ<¼eÔDÐDÐDÜ�o kÑ2°;Ñ?ÄÔGÐGÐGÜ�o hÑ/°	Ñ:¼CÔ@Ð@Ð@Ü�o kÑ2°9Ñ=¼sÔCÐCÑCr[   c                  óF  — 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 ‚| j                  «       |j                  «       k(  sJ ‚|D ]u  }|dk(  r#t        | |   t        «      sJ ‚| |   ||   k(  rŒ)J ‚| |   j                  «       ||   j                  «       k(  sJ ‚||   D ]  }t        ||   |   | |   |   «       Œ Œw y )NT)rX   rW   rr   ç        r   ri   )rn   rm   ro   rn   )r   r@   Únanru   Údictrt   rv   r+   )rz   ry   r{   r|   s       rY   Ú2test_classification_report_output_dict_empty_inputr‚   «   s%  € Ü"¨"°RÀTÔJ€FàäŸ™ÜŸ™Ü—f‘fØñ	
ô Ÿ™ÜŸ™Ü—f‘fØñ	
ñ€Oô �fœdÔ#Ð#Ð#à�;‰;‹=˜O×0Ñ0Ó2Ò2Ð2Ð2Øò WˆØ�*ÒÜ˜f S™k¬5Ô1Ð1Ð1Ø˜#‘; /°#Ñ"6Ó6Ð6Ð6à˜#‘;×#Ñ#Ó%¨¸Ñ)=×)BÑ)BÓ)DÒDÐDÐDØ)¨#Ñ.ò W�Ü# O°CÑ$8¸Ñ$@À&ÈÁ+ÈfÑBUÕVñWñWr[   Úzero_divisionÚwarnr;   c                 ó   — g d¢g d¢}}t        j                  d¬«      5 }t        ||| d¬«       | dk(  r3t        |«      dkD  sJ ‚|D ]  }d}|t	        |j
                  «      v rŒJ ‚ n|rJ ‚d d d «       y # 1 sw Y   y xY w)	N©ÚaÚbÚc)r‡   rˆ   ÚdT©Úrecord)rƒ   rr   r„   r;   z7Use `zero_division` parameter to control this behavior.)ÚwarningsÚcatch_warningsr   rs   ÚstrÚmessage)rƒ   rX   rW   rŒ   ÚitemÚmsgs         rY   Ú0test_classification_report_zero_division_warningr“   É   s�   € â$¢oˆF€FÜ	×	 Ñ	 ¨Ô	-ð 
°ÜØ�F¨-ÀTõ	
ð ˜FÒ"Ü�v“; ’?Ð"�?Øò 0�ØO�Øœc $§,¡,Ó/Ò/Ð/Ð/ñ0ñ Ð�:÷
÷ 
ñ 
ús   ŸAA4Á#A4Á4A=zlabels, show_micro_avgT©r   r;   r4   c                 óh   — ddgddg}}t        ||| d¬«      }|rd|v sJ ‚d|vsJ ‚yd|v sJ ‚d|vsJ ‚y)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)rp   rr   z	micro avgrn   N©r   )rp   Úshow_micro_avgrX   rW   rz   s        rY   Ú1test_classification_report_labels_subset_supersetr˜   Ù   s`   € ð ˜�V˜a ˜VˆF€Fä" 6¨6¸&ÈdÔS€FÙØ˜fÑ$Ð$Ð$Ø Ñ'Ð'Ñ'à˜VÑ#Ð#Ð#Ø &Ñ(Ð(Ñ(r[   c                  ó  — 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 ‚y )N©r   r;   r;   ©r;   r   r;   ©r   r   r;   ç      à?r;   r   )r@   Úarrayr   Úlogical_notÚzerosr?   ©Úy1Úy2s     rY   Ú.test_multilabel_accuracy_score_subset_accuracyr¤   ð   sç   € ä	�‰’9šiÐ(Ó	)€BÜ	�‰’9šiÐ(Ó	)€Bä˜"˜bÓ! SÒ(Ð(Ð(Ü˜"˜bÓ! QÒ&Ð&Ð&Ü˜"˜bÓ! QÒ&Ð&Ð&Ü˜"œbŸn™n¨RÓ0Ó1°QÒ6Ð6Ð6Ü˜"œbŸn™n¨RÓ0Ó1°QÒ6Ð6Ð6Ü˜"œbŸh™h r§x¡xÓ0Ó1°QÒ6Ð6Ð6Ü˜"œbŸh™h r§x¡xÓ0Ó1°QÒ6Ð6Ñ6r[   c            	      ó@  — t        d¬«      \  } }}t        | |d ¬«      \  }}}}t        |ddgd«       t        |ddgd«       t        |d	d
gd«       t        |ddg«       i ddifD ]«  }t	        j
                  «       5  t	        j                  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 d d «       Œ­ y # 1 sw Y   Œ¸xY w)NT©rM   ©Úaverageg\�Âõ(\ç?g333333ë?r4   g)\�Âõ(ì?gÃõ(\�Âå?çš™™™™™é?gR¸…ëQè?é   r¨   rM   ÚerrorÚbetaé   é   )rZ   r   r,   r-   r�   rŽ   Úsimplefilterr    r!   r   r+   r   )rX   rW   rx   rR   ÚrÚfÚsÚkwargsÚpsÚrsÚfss              rY   Ú%test_precision_recall_f1_score_binaryr·   þ   sG  € ä'¨tÔ4Ñ€FˆF�Aô 1°¸ÈÔN�J€A€qˆ!ˆQÜ˜a $¨ ¨qÔ1Ü˜a $¨ ¨qÔ1Ü˜a $¨ ¨qÔ1Ü�q˜2˜r˜(Ô#ð
 ˜	 8Ð,Ð-ò ˆÜ×$Ñ$Ó&ñ 	Ü×!Ñ! 'Ô*ä  ¨Ñ:°6Ñ:ˆBÜ% b¨$°Ô2ä˜f fÑ7°Ñ7ˆBÜ% b¨$°Ô2ä˜& &Ñ3¨FÑ3ˆBÜ% b¨$°Ô2äÜ˜F FÑ=°Ð=°fÑ=Ø˜R‘ "Ñ$¨¨r©	°B©Ñ7Øô÷	ð 	ñ÷	ð 	ús   Á<BDÄD	z1ignore::sklearn.exceptions.UndefinedMetricWarningc                  óô  — 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 ‚y )	Nç      ð?r;   r   ©r¬   r   éÿÿÿÿÚinfg     jø@)r    r!   r   r   rv   ÚpytestÚapprox© r[   rY   Ú+test_precision_recall_f_binary_single_classrÀ      s;  € ð
 ”/ 1 a &¨1¨a¨&Ó1Ò1Ð1Ð1Ø”,  1˜v¨¨1 vÓ.Ò.Ð.Ð.Ø”(˜A˜q˜6 A q 6Ó*Ò*Ð*Ð*Ø”+˜q !˜f q¨! f°1Ô5Ò5Ð5Ð5à”/ 2 r (¨R°¨HÓ5Ò5Ð5Ð5Ø”,  B˜x¨"¨b¨Ó2Ò2Ð2Ð2Ø”(˜B ˜8 b¨" XÓ.Ò.Ð.Ð.Ø”+˜r 2˜h¨¨R¨´u¸U³|ÔDÒDÐDÐDÜ˜˜B�x " b ´°e³Ô=ÄÇÁÜ�R˜�H˜r 2˜h¨SÔ1ó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 ]5  }|d
k(  r|dk(  rŒt        t	        | |g d¢|¬«      t	        | |d |¬«      «       Œ7 Œ• dD ]‹  }t        j                  t        «      5  t	        ||t        j                  d«      |¬«       d d d «       t        j                  t        «      5  t	        ||t        j                  dd«      |¬«       d d d «       Œ� 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¢«      «       y # 1 sw Y   ŒÔxY w# 1 sw Y   �Œ(xY w)N)r;   é   rÂ   r4   )r;   r;   rÂ   r4   r­   ©Úclasses)r   r;   r4   rÂ   r®   ©rp   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¨   rp   )ç      è?r;   ç«ªªªªªê?)r'   r@   rA   Ú	enumerater!   r,   Úmeanr+   r½   ÚraisesÚ
ValueErrorrž   r   )rX   rW   Ú
y_true_binÚ
y_pred_binr=   ÚiÚactualr¨   rR   r°   r±   rx   s               rY   Ú$test_precision_recall_f_extra_labelsrØ   3  sè  € ò €FÚ€FÜ ´·	±	¸!³Ô=€JÜ ´·	±	¸!³Ô=€JØ�VÐ˜z¨:Ð6Ð7€Dä(¨›ò ÑˆÑˆF�Fä˜f f²_ÈdÔSˆÜ!Ò";¸VÔDô ˜f f²_ÈgÔVˆÜ!¤"§'¡'Ò*CÓ"DÀfÔMð 8ò 	ˆGØ˜)Ò#¨¨QªØÜÜ˜V V²OÈWÔUÜ˜V V°DÀ'ÔJõñ	ðð( 7ò ˆÜ�]‰]œ:Ó&ñ 	WÜ˜ Z¼¿	¹	À!»ÈgÕV÷	Wä�]‰]œ:Ó&ñ 	ÜØ˜J¬r¯y©y¸¸QÓ/?Èõ÷	ð 	ðô �X‰X’y¢)Ð,Ó-€FÜ�X‰X’y¢)Ð,Ó-€FÜ0Ø� 	°1°a°&ô�J€A€qˆ!ˆQô œŸ™ ! Q¨ Ó+¬R¯X©XÒ6GÓ-HÕI÷	Wð 	Wú÷	ñ 	ús   Ä#HÅ$HÈH	ÈH	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 ]  } ||¬
«       ||¬
«      k7  rŒJ ‚ Œœ y )N)r;   r;   r4   rÂ   )r;   rÂ   rÂ   rÂ   r­   rÃ   r;   rÂ   ©rp   r�   r¹   r§   rÎ   rÆ   çUUUUUUå?rÈ   rÇ   )rÆ   rÈ   rÇ   )r'   r@   rA   rÐ   r   r!   r,   r+   )	rX   rW   rÔ   rÕ   r=   rÖ   Ú	recall_13Ú
recall_allr¨   s	            rY   Ú&test_precision_recall_f_ignored_labelsrÞ   a  sù   € ò €FÚ€FÜ ´·	±	¸!³Ô=€JÜ ´·	±	¸!³Ô=€JØ�VÐ˜z¨:Ð6Ð7€Dä(¨›ò MÑˆÑˆF�FÜœL¨&°&À!ÀQÀÔHˆ	Üœ\¨6°6À$ÔGˆ
ä! 3¨ *©iÀÔ.EÔFÜ˜O©Y¸wÔ-GÔHÜÐ3±YÀzÔ5RÔSÜ˜G¡Y°wÔ%?Ô@ð 6ò 	MˆGÙ WÔ-±ÀGÔ1LÓLÐLÐLñ	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«       y# 1 sw Y   yxY w)z:Test multiclass-multiouptut for `average_precision_score`.)r4   r4   r;   ©r;   r4   r   r”   ©r;   r4   r;   )r4   r   r;   ©çffffffæ?çš™™™™™É?çš™™™™™¹?©çš™™™™™Ù?ç333333Ó?rè   ©rå   r©   rå   ©rä   rè   r�   )rç   rç   rä   )rå   rä   rã   z.multiclass-multioutput format is not supported©Úmatchr4   ©Ú	pos_labelN)r@   rž   r½   rÒ   rÓ   r   )rX   Úy_scoreÚerr_msgs      rY   Ú-test_average_precision_score_non_binary_classrñ   x  s„   € ä�X‰XâÚÚÚÚÚð	
ó	€Fô �h‰hâÚÚÚÚÚð	
ó	€Gð ?€GÜ	�‰”z¨Ô	1ñ >Ü ¨¸1Õ=÷>÷ >ñ >ús   Á,BÂBzy_true, y_score©r   r   r;   r4   râ   ræ   ré   rê   )r   r   r   r   r;   r;   r;   r;   r;   r;   r;   )r   rå   rå   rç   r�   ç333333ã?ró   re   re   r;   r;   c                 ó&   — t        | |«      dk(  sJ ‚y)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   ©rX   rï   s     rY   Ú-test_average_precision_score_duplicate_valuesr÷   “  s   € ô8 # 6¨7Ó3°qÒ8Ð8Ñ8r[   )r4   r4   r;   r;   r   )rç   r�   rè   )r©   r�   rè   rš   )r�   r�   ró   c                 ó&   — t        | |«      dk7  sJ ‚y )Nr¹   rõ   rö   s     rY   Ú(test_average_precision_score_tied_valuesrù   ²  s   € ô: # 6¨7Ó3°sÒ:Ð:Ñ:r[   c                  óŽ   — d} t        j                  t        | ¬«      5  t        g d¢g d¢dd¬«       d d d «       y # 1 sw Y   y xY w)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;   r4   r4   r4   rÆ   ©rî   r¨   )r½   ÚwarnsÚUserWarningr   ©r’   s    rY   Ú(test_precision_recall_f_unused_pos_labelr   Ò  sB   € ð
	ð ô 
�‰”k¨Ô	-ñ 
Ü'Ú’y¨A°wõ	
÷
÷ 
ñ 
ús	   ž;»Ac            	      ó¾   — t        d¬«      \  } }}d„ } || |«        || D �cg c]  }t        |«      ‘Œ c}|D �cg c]  }t        |«      ‘Œ c}«       y c c}w c c}w )NTr¦   c                 ó<  — t        | |«      }t        |ddgddgg«       |j                  «       \  }}}}||z  ||z  z
  }t        j                  ||z   ||z   z  ||z   z  ||z   z  «      }|dk(  rdn||z  }	t        | |«      }
t        |
|	d¬«       t        |
dd¬«       y )	Né   rÂ   é   é   r   r4   ©Údecimalç=
×£p=â?)r   r-   Úflattenr@   Úsqrtr   r,   )rX   rW   ÚcmÚtpÚfpÚfnÚtnÚnumÚdenÚtrue_mccÚmccs              rY   Útestz*test_confusion_matrix_binary.<locals>.testæ  s¬   € Ü˜f fÓ-ˆÜ˜2  Q ¨!¨R¨Ð1Ô2àŸ™›‰ˆˆB��BØ�2‰g˜˜R™ÑˆÜ�g‰g�r˜B‘w 2¨¡7Ñ+¨r°B©wÑ7¸2À¹7ÑCÓDˆà˜qš‘1 c¨C¡iˆÜ ¨Ó/ˆÜ! # x¸Õ;Ü! # t°QÖ7r[   ©rZ   r�   ©rX   rW   rx   r  rO   s        rY   Útest_confusion_matrix_binaryr  â  sR   € ä'¨tÔ4Ñ€FˆF�Aò8ñ 	ˆ�ÔÙ˜&Ö	!�QŒ#ˆa�&Ò	!°FÖ#;¨q¤C¨¥FÒ#;Õ<ùÒ	!ùÒ#;ó
   £A»A
c            	      ó¾   — t        d¬«      \  } }}d„ } || |«        || D �cg c]  }t        |«      ‘Œ c}|D �cg c]  }t        |«      ‘Œ c}«       y c c}w c c}w )NTr¦   c                 óP   — t        | |«      }t        |ddgddggddgddggg«       y )Nr  r  rÂ   r  ©r   r-   )rX   rW   r  s      rY   r  z5test_multilabel_confusion_matrix_binary.<locals>.testû  s7   € Ü(¨°Ó8ˆÜ˜2 " a ¨1¨b¨'Ð 2°b¸!°W¸qÀ"¸gÐ4FÐGÕHr[   r  r  s        rY   Ú'test_multilabel_confusion_matrix_binaryr  ÷  sS   € ä'¨tÔ4Ñ€FˆF�AòIñ 	ˆ�ÔÙ˜&Ö	!�QŒ#ˆa�&Ò	!°FÖ#;¨q¤C¨¥FÒ#;Õ<ùÒ	!ùÒ#;r  c            	      óÄ   — t        d¬«      \  } }}dd„} || |«        || D �cg c]  }t        |«      ‘Œ c}|D �cg c]  }t        |«      ‘Œ c}d¬«       y c c}w c c}w )NFr¦   c           	      óP  — 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«       y )Né/   r®   r­   é   é&   rÊ   é   rÂ   é   rª   r4   é   )Ú0Ú2Ú1©r   r4   r;   rÚ   )r%  r&  r'  Ú3)r   r4   r;   rÂ   rh   r   r  )rX   rW   Ústring_typer  rp   s        rY   r  z9test_multilabel_confusion_matrix_multiclass.<locals>.test  s  € ä(¨°Ó8ˆÜØ�2�q�'˜A˜r˜7Ð# r¨1 g°°A¨wÐ%7¸2¸r¸(ÀQÈÀGÐ9LÐMô	
ñ
 %0“²YˆÜ(¨°ÀÔGˆÜØ�2�q�'˜A˜r˜7Ð# r¨2 h°°B°Ð%8¸BÀ¸7ÀRÈÀGÐ:LÐMô	
ñ
 *5Ó%º,ˆÜ(¨°ÀÔGˆÜØà�a�˜1˜b˜'Ð"Ø�b�˜A˜r˜7Ð#Ø�a�˜2˜q˜'Ð"Ø�a�˜1˜a˜&Ð!ð	õ	
r[   T)r*  )Fr  r  s        rY   Ú+test_multilabel_confusion_matrix_multiclassr+    sT   € ä'¨uÔ5Ñ€FˆF�Aó
ñ6 	ˆ�ÔÙ˜&Ö	!�QŒ#ˆa�&Ò	!°FÖ#;¨q¤C¨¥FÒ#;ÈÖNùÒ	!ùÒ#;s
   ¤A¼A
Úcsc_containerÚcsr_containerc                 óî  — 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«       y )Nr›   ©r   r;   r   ©r;   r;   r   rË   rš   rœ   )r4   r;   rÂ   r;   r   r4   T©Ú
samplewiserÚ   )rp   r2  )Úsample_weightr2  rÂ   rÊ   )r@   rž   r   r-   )r,  r-  rX   rW   Ú
y_true_csrÚ
y_pred_csrÚ
y_true_cscÚ
y_pred_cscr3  Úreal_cmÚtruesÚpredsÚ
y_true_tmpÚ
y_pred_tmpr  s                  rY   Ú+test_multilabel_confusion_matrix_multilabelr=  &  s  € ô
 �X‰X’y¢)ªYÐ7Ó8€FÜ�X‰X’y¢)ªYÐ7Ó8€FÙ˜vÓ&€JÙ˜vÓ&€JÙ˜vÓ&€JÙ˜vÓ&€Jô —H‘HšYÓ'€MØ�A�˜˜A˜Ð 1 a &¨1¨a¨&Ð!1°Q¸°F¸QÀ¸FÐ3CÐD€GØ�Z Ð,€EØ�Z Ð,€Eàò ,ˆ
Øò 	,ˆJÜ,¨Z¸ÓDˆBÜ˜r 7Õ+ñ	,ð,ô 
% V¨VÀÔ	E€BÜ�r˜a ˜V a¨ VÐ,°°1¨v¸¸1°vÐ.>À!ÀQÀÈ!ÈQÈÐ@PÐQÔRô 
% V¨V¸QÀ¸FÔ	C€BÜ�r˜a ˜V a¨ VÐ,°°1¨v¸¸1°vÐ.>Ð?Ô@ô 
% V¨V¸QÀ¸FÈtÔ	T€BÜ�r˜a ˜V a¨ VÐ,°°1¨v¸¸1°vÐ.>À!ÀQÀÈ!ÈQÈÐ@PÐQÔRô 
%Ø� mÀô
€Bô �r˜a ˜V a¨ VÐ,°°1¨v¸¸1°vÐ.>À!ÀQÀÈ!ÈQÈÐ@PÐQÕ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 «       t        j                  t        d¬«      5  t        | |g d¢g d¢g d¢g¬«       d d d «       d}t        j                  t        |¬«      5  t        | |dg¬«       d d d «       d}t        j                  t        |¬«      5  t        | |dg¬«       d d d «       t        j                  t        d¬«      5  t        g d¢g d¢d¬«       d d d «       d}t        j                  t        |¬«      5  t        g d¢g d¢gg d¢g d¢g«       d d d «       y # 1 sw Y   �Œ$xY w# 1 sw Y   ŒõxY w# 1 sw Y   ŒÌxY w# 1 sw Y   Œ£xY w# 1 sw Y   ŒyxY w# 1 sw Y   y xY w)Nr›   r/  r0  rË   rš   rœ   úinconsistent numbers of samplesrë   r;   r4   ©r3  zshould be a 1d array©r;   r4   rÂ   )r4   rÂ   r®   )rÂ   r®   r­   z%All labels must be in \[0, n labels\)r»   rÚ   rÂ   zSamplewise metricsr”   rà   Tr1  z'multiclass-multioutput is not supported)r4   r;   r   ©r;   r   r4   )r@   rž   r½   rÒ   rÓ   r   )rX   rW   rð   s      rY   Ú'test_multilabel_confusion_matrix_errorsrC  P  s”  € Ü�X‰X’y¢)ªYÐ7Ó8€FÜ�X‰X’y¢)ªYÐ7Ó8€Fô 
�‰”zÐ)JÔ	Kñ JÜ# F¨FÀ1ÀaÀ&ÕI÷Jä	�‰”zÐ)?Ô	@ñ 
Ü#Ø�Fª9²iÂÐ*Kõ	
÷
ð 7€GÜ	�‰”z¨Ô	1ñ AÜ# F¨F¸B¸4Õ@÷Aà6€GÜ	�‰”z¨Ô	1ñ @Ü# F¨F¸A¸3Õ?÷@ô 
�‰”zÐ)=Ô	>ñ KÜ#¢IªyÀTÕJ÷Kð 8€GÜ	�‰”z¨Ô	1ñ TÜ#¢Y²	Ð$:ºYÊ	Ð<RÔS÷Tð T÷+Jñ Jú÷
ð 
ú÷Að Aú÷@ð @ú÷Kð Kú÷
Tð TúsH   ÁFÂFÃ	F$Ã>F0Ä1F<Å)GÆFÆF!Æ$F-Æ0F9Æ<GÇGz%normalize, cm_dtype, expected_results))Útruer±   çµùTUUÕ?)Úpredr±   rE  )Úallr±   g��eÇq¼?)NrÖ   r4   c                 ó´   — g d¢dz  }t        t        t        g d¢«      Ž «      }t        ||| ¬«      }t	        ||«       |j
                  j                  |k(  sJ ‚y )Nr”   rÊ   ©Ú	normalize)Úlistr   r   r   r*   ÚdtypeÚkind)rJ  Úcm_dtypeÚexpected_resultsÚy_testrW   r  s         rY   Útest_confusion_matrix_normalizerQ  n  sP   € ò ˜‰]€FÜ”%œ¢iÓ0Ð1Ó2€FÜ	˜& &°IÔ	>€BÜ�BÐ(Ô)Ø�8‰8�=‰=˜HÒ$Ð$Ñ$r[   c                  ó  — g d¢} g d¢}t        | |d¬«      }|j                  «       t        j                  d«      k(  sJ ‚t	        j
                  «       5  t	        j                  dt        «       t        | |d¬«      }d d d «       j                  «       t        j                  d«      k(  sJ ‚t	        j
                  «       5  t	        j                  dt        «       t        || d¬«       d d d «       y # 1 sw Y   ŒwxY w# 1 sw Y   y xY w)	N)r   r   r   r   r;   r;   r;   r;   )r   r   r   r   r   r   r   r   rD  rI  ç       @r«   rF  r¹   )r   Úsumr½   r¾   r�   rŽ   r¯   ÚRuntimeWarning)rP  rW   Úcm_trueÚcm_preds       rY   Ú,test_confusion_matrix_normalize_single_classrX    sÝ   € Ú%€FÚ%€Fä˜v v¸Ô@€GØ�;‰;‹=œFŸM™M¨#Ó.Ò.Ð.Ð.ô 
×	 Ñ	 Ó	"ñ EÜ×Ñ˜g¤~Ô6Ü" 6¨6¸VÔDˆ÷Eð �;‰;‹=œFŸM™M¨#Ó.Ò.Ð.Ð.ä	×	 Ñ	 Ó	"ñ ;Ü×Ñ˜g¤~Ô6Ü˜ °6Õ:÷;ð ;÷Eð Eú÷;ð ;ús   Á)C2Ã )C>Ã2C;Ã>Dc                  óŒ   — g d¢} g d¢}t        j                  t        d¬«      5  t        || «       ddd«       y# 1 sw Y   yxY w)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   )rP  rW   s     rY   Ú"test_confusion_matrix_single_labelr[  ’  s:   € â€FÚ€Fä	�‰”kÐ)FÔ	Gñ )Ü˜ Ô(÷)÷ )ñ )ús	   ¤:ºAzparams, warn_msg)r   r   r   r   r   r   ©rX   rW   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                 óz   — t        j                  t        |¬«      5  t        di | ¤Ž d d d «       y # 1 sw Y   y xY w©Nrë   r¿   )r½   rý   rþ   r   )ÚparamsÚwarn_msgs     rY   Útest_likelihood_ratios_warningsrb  ›  s3   € ôb 
�‰”k¨Ô	2ñ *ÜÑ) &Ò)÷*÷ *ñ *úó   œ1±:zparams, err_msg)r   r;   r   r;   r   ©r;   r;   r   r   r4   zeclass_likelihood_ratios only supports binary classification problems, got targets of type: multiclassc                 óz   — t        j                  t        |¬«      5  t        di | ¤Ž d d d «       y # 1 sw Y   y xY wr_  )r½   rÒ   rÓ   r   )r`  rð   s     rY   Útest_likelihood_ratios_errorsrf  Ð  s2   € ô$ 
�‰”z¨Ô	1ñ *ÜÑ) &Ò)÷*÷ *ñ *úrc  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   «      }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«       y )Nr;   rÂ   r   r  r4   é
   r  g«ªªªªªö?g_B{	í%ä?gê-�™—q=)Úrtolr¹   é   r   r­   r@  gUUUUUU@gÇqÇqÜ?)r@   rž   r   r*   r-   r€   r    )rX   rW   ÚposÚnegr3  s        rY   Útest_likelihood_ratiosrm  æ  sð   € ô �X‰X�q�c˜A‘g   b¡Ñ(Ó)€FÜ�X‰X�q�c˜A‘g   b¡Ñ(¨A¨3°©7Ñ2Ó3€Fä& v¨vÓ6�H€CˆÜ�C˜Ô!Ü�C˜Ô!ô ' v¨vÓ6�H€CˆÜ�sœBŸF™F Q™JÔ'Ü�CœŸ™ !›¨5Õ1ô
 —H‘H˜c˜U R™Z¨3¨%°!©)Ñ3Ó4€MÜ& v¨vÀ]Ô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¬
«       y )Nr   é(   r;   é<   rg   rh  é2   gƒÀÊ¡EÖ?rÂ   r  r4   r®   rÚ   r¹   é.   é,   é4   é    é   gÉå?¤é?g+‡ÙÎí?r7   ©Úweightsg®Ø_vOî?Ú	quadraticgœ¢#¹ü‡î?)r@   rž   r   r+   Úappend)r¢   r£   Úkappas      rY   Útest_cohen_kappar|  ÿ  sä  € ô 
�‰�1�#˜‘(˜a˜S 2™XÑ%Ó	&€BÜ	�‰�1�#˜‘(˜a˜S 2™XÑ%¨¨¨b©Ñ0°A°3¸±8Ñ;Ó	<€BÜ˜b "Ó%€EÜ˜˜u¨aÕ0ØÔ% b¨"Ó-Ò-Ð-Ð-ô 
�‰�2˜�s˜Q‘wÓ	€BÜ	�‰�2˜�s˜Q‘wÓ	€BÜ˜R ¨Q°¨FÔ3°uÒ<Ð<Ð<äÔ)¨"¨bÓ1°3Ô7ô 
�‰�1�#˜‘(˜a˜S 2™XÑ%¨¨¨b©Ñ0Ó	1€BÜ	�‰�1�#˜‘(˜a˜S 2™XÑ%¨¨¨b©Ñ0Ó	1€BÜÔ)¨"¨bÓ1°6À1ÕEô 
�‰�1�#˜‘(˜a˜S 2™XÑ%¨¨¨b©Ñ0Ó	1€BÜ	�‰�1�#˜‘(˜a˜S 2™XÑ%¨¨¨b©Ñ0Ó	1€BÜÔ)¨"¨bÓ1°6À1ÕEÜÔ)¨"¨b¸(ÔCÀVÐUVÕWÜÜ˜"˜b¨+Ô6¸Èör[   zy_true, y_predr|   rº   c                 óþ   — t        j                  «       5  t        j                  d«        | |||¬«      }ddd«       t        j                  |«      rt        j                  «      sJ ‚y|k(  sJ ‚y# 1 sw Y   Œ>xY w)zmCheck the behaviour of `zero_division` when setting to 0, 1 or np.nan.
    No warnings should be raised.
    r«   ©rƒ   N)r�   rŽ   r¯   r@   Úisnan)r|   rX   rW   rƒ   Úresults        rY   Ú!test_zero_division_nan_no_warningr�    ss   € ô 
×	 Ñ	 Ó	"ñ EÜ×Ñ˜gÔ&Ù˜ °mÔDˆ÷Eô 
‡x�x�ÔÜ�x‰x˜ÔÐÑà˜Ò&Ð&Ñ&÷Eð Eús   •!A3Á3A<c                 ó„   — t        j                  t        «      5   | ||d¬«      }ddd«       dk(  sJ ‚y# 1 sw Y   ŒxY w)ztCheck the behaviour of `zero_division` when setting to "warn".
    A `UndefinedMetricWarning` should be raised.
    r„   r~  Nr   )r½   rý   r   )r|   rX   rW   r€  s       rY   Útest_zero_division_nan_warningrƒ  7  s@   € ô 
�‰Ô,Ó	-ñ >Ù˜ °fÔ=ˆ÷>à�SŠ=Ð‰=÷>ð >ús   š6¶?c                  óî   — t         j                  j                  d«      } | j                  ddd¬«      }| j                  ddd¬«      }t	        t        ||«      t        j                  ||«      d   d«       y )Nr   r4   rg   ©Úsize©r   r;   rh  )r@   rD   rE   Úrandintr+   r   Úcorrcoef)rS   rX   rW   s      rY   Ú-test_matthews_corrcoef_against_numpy_corrcoefrŠ  J  sd   € Ü
�)‰)×
Ñ
 Ó
"€CØ�[‰[˜˜A Bˆ[Ó'€FØ�[‰[˜˜A Bˆ[Ó'€FäÜ˜& &Ó)¬2¯;©;°v¸vÓ+FÀtÑ+LÈbõr[   c                  ó‚  — t         j                  j                  d«      } | j                  ddd¬«      }| j                  ddd¬«      }| j	                  d«      }t        |||¬«      }t        |«      }t        t        |«      D ���cg c]A  }t        |«      D ]1  }t        |«      D ]!  }|||f   |||f   z  |||f   |||f   z  z
  ‘Œ# Œ3 ŒC c}}}«      }	t        t        |«      D ��
�cg c]c  }|d d …|f   j                  «       t        j                  t        |«      D �
�cg c]  }
t        |«      D ]  }|
|k7  sŒ	|||
f   ‘Œ Œ! c}}
«      z  ‘Œe c}}
}«      }t        j                  t        |«      D ��
�cg c]c  }||d d …f   j                  «       t        j                  t        |«      D �
�cg c]  }
t        |«      D ]  }|
|k7  sŒ	||
|f   ‘Œ Œ! c}}
«      z  ‘Œe c}}
}«      }|	t        j                  ||z  «      z  }t        |||¬«      }t        ||d«       y c c}}}w c c}}
w c c}}
}w c c}}
w c c}}
}w )Nr   r4   rg   r…  r@  rh  )r@   rD   rE   rˆ  Úrandr   rs   rT  Úranger
  r   r+   )rS   rX   rW   r3  ÚCÚNÚkÚmÚlÚcov_ytypr±   ÚgÚcov_ytytÚcov_ypypÚ
mcc_jurmanÚmcc_ourss                   rY   Ú%test_matthews_corrcoef_against_jurmanr™  T  s;  € ô �)‰)×
Ñ
 Ó
"€CØ�[‰[˜˜A Bˆ[Ó'€FØ�[‰[˜˜A Bˆ[Ó'€FØ—H‘H˜R“L€Mä˜ °}ÔE€AÜˆA‹€AÜô ˜1“X÷	
ð 	
àÜ˜1“Xò	
ð Ü˜1“Xò		
ð ð ˆa�ˆd‰G�a˜˜1˜‘gÑ  ! Q $¡¨!¨A¨q¨D©'Ñ 1Ó1ð	
Ø1ð	
Ø1ô	
ó€Hô ô ˜1“X÷	
ð 	
ð ð Ša�ˆd‰G�K‰K‹MÜ�f‰f¤u¨Q£x×L !¼¸q»ÒL°AÀQÈ!ÃV�a˜˜1˜“gÐL�gÓLÓMóNô	
ó€Hô �v‰vô ˜1“X÷	
ð 	
ð ð ˆa’ˆd‰G�K‰K‹MÜ�f‰f¤u¨Q£x×L !¼¸q»ÒL°AÀQÈ!ÃV�a˜˜1˜“gÐL�gÓLÓMóNô	
ó€Hð œBŸG™G H¨xÑ$7Ó8Ñ8€JÜ  ¨¸}ÔM€Hä˜ *¨bÕ1ùô1	
ùó Mùô	
ùó Mùô	
sC   ÂAH Ã)8H-Ä!H'Ä:H'ÅH-Å88H:Æ0H4Ç	H4ÇH:È'H-È4H:c            	      óþ  — t         j                  j                  d«      } | j                  ddd¬«      D �cg c]  }|dk(  rdnd‘Œ }}t	        t        ||«      d«       |D �cg c]  }|dk(  rdn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 «       y c c}w c c}w # 1 sw Y   y xY w)Nr   r4   rg   r…  r‡   rˆ   r¹   r»   rÃ   rZ  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;   rh  r@  )r@   rD   rE   rˆ  r+   r   r'   Úwherers   r½   rÒ   ÚAssertionError)rS   rÖ   rX   Ú
y_true_invÚy_true_inv2Úy_1Úy_2Úmasks           rY   Útest_matthews_corrcoefr¢  {  ss  € Ü
�)‰)×
Ñ
 Ó
"€CØ.1¯k©k¸!¸QÀR¨kÓ.HÖI¨�Q˜!’V‰c Ñ$ÐI€FÐIô Ô)¨&°&Ó9¸3Ô?ð 5;Ö;¨q˜˜cš‘# sÑ*Ð;€JÐ;ÜÔ)¨&°*Ó=¸rÔBä  °#°s°Ô<€KÜ—(‘(˜;¨¨SÓ1€KÜÔ)¨&°+Ó>ÀÔCô Ô)ª,ºÓEÀsÔKô Ô)¨&°3°%¼#¸f»+Ñ2EÓFÈÔLò G€CÚ
F€CÜÔ)¨#¨sÓ3°SÔ9ð ˆ3�‰8�q�c˜B‘hÑ€Dô 
�‰”~Ó	&ñ RÜÔ-¨c°3ÀdÔKÈSÔQ÷Rð Rùò; Jùò <÷.Rð Rús   ¶E)Á"E.ÅE3Å3E<c                  óÔ  — t         j                  j                  d«      } t        d«      }d}| j	                  d|d¬«      D �cg c]  }t        ||z   «      ‘Œ }}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«       y c c}w )Nr   r‡   r®   rg   r…  r¹   )r   r   r;   r;   r4   r4   )r4   r4   r   r   r;   r;   g      à¿)r;   r;   r   r   r   r   iôÿÿÿi€  r”   )rÂ   rÂ   rÂ   r   ©	r   r;   r4   r   r;   r4   r   r;   r4   )	r;   r;   r;   r4   r4   r4   r   r   r   )r   r   r;   r;   r4   rd  ©r;   r;   r;   r;   r   r@  r»   rò   ©r;   r;   r   r   )	r@   rD   rE   Úordrˆ  Úchrr+   r   r
  )rS   Úord_aÚ	n_classesrÖ   rX   Ú
y_pred_badÚ
y_pred_minrW   rŸ  r   r3  s              rY   Ú!test_matthews_corrcoef_multiclassr­  ž  s[  € Ü
�)‰)×
Ñ
 Ó
"€CÜ�‹H€EØ€IØ&)§k¡k°!°YÀR kÓ&HÖI Œc�%˜!‘)�nÐI€FÐIô Ô)¨&°&Ó9¸3Ô?ò  €FÚ#€JÜÔ)¨&°*Ó=¸tÔDò  €FÚ#€JÜÔ)¨&°*Ó=¸sÄRÇWÁWÈWÓEUÑ?UÔVò €FÚ€FÜÔ)¨&°&Ó9¸3Ô?ò €FÚ€FÜÔ)¨&°&Ó9¸3Ô?ò &€CÚ
%€CÜÔ)¨#¨sÓ3°SÔ9ò €FÚ€FÚ#€MÜÜ˜& &¸ÔFÈôò €FÚ€FÚ €MÜÜ˜& &¸ÔFÈõùò_ Js   ÁE%Ún_pointséd   i'  c                 óˆ  ‡— t         j                  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        ||«       |||«      «       y )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   rs   r@   r
  )rX   rW   Úconf_matrixÚtrue_posÚ	false_posÚ	false_negr®  Úpos_rateÚactivityÚmcc_numeratorÚmcc_denominators              rY   Úmcc_safez1test_matthews_corrcoef_overflow.<locals>.mcc_safeÛ  s—   € Ü& v¨vÓ6ˆØ˜tÑ$ˆØ Ñ%ˆ	Ø Ñ%ˆ	Ü�v“;ˆØ˜yÑ(¨HÑ4ˆØ˜yÑ(¨HÑ4ˆØ  8Ñ+¨h¸Ñ.AÑAˆØ" XÑ-°°X±Ñ>À!ÀhÁ,ÑOˆØœrŸw™w Ó7Ñ7Ð7r[   c                 óv   •— ‰j                  | «      }|d‰j                  | «      dz
  z  z   }|dkD  }|dkD  }||fS )Nrä   r�   )Úrandom_sample)r®  Úx_trueÚx_predrX   rW   rS   s        €rY   Ú	random_ysz2test_matthews_corrcoef_overflow.<locals>.random_ysç  sN   ø€ Ø×"Ñ" 8Ó,ˆØ˜# ×!2Ñ!2°8Ó!<¸sÑ!BÑCÑCˆØ˜#‘ˆØ˜#‘ˆØ�vˆ~Ðr[   r   r¹   )r   r¹   rS  )r@   rD   rE   Úrepeatr+   r   )r®  r»  rÀ  ÚarrrX   rW   rS   s         @rY   Útest_matthews_corrcoef_overflowrÃ  Ö  s¦   ø€ ô �)‰)×
Ñ
 Ó
)€Cò
8ôô �)‰)�S˜#�J Ó
)€CÜÔ)¨#¨sÓ3°SÔ9Ü
�)‰)’O XÓ
.€CÜÔ)¨#¨sÓ3°SÔ9á˜xÓ(�N€FˆFÜÔ)¨&°&Ó9¸3Ô?ÜÔ)¨&°&Ó9¹8ÀFÈFÓ;SÕTr[   c                  ó,  — 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 «       t        j                  t        «      5  t        | |d¬«       d d d «       t        j                  t        «      5  t        | |d¬«       d d d «       t        j                  t        «      5  t        | |dd¬«       d d d «       t        | |g d¢d ¬«      \  }}}}t        |g d¢d«       t        |g d¢d«       t        |g d¢d«       t        |g d¢«       y # 1 sw Y   ŒìxY w# 1 sw Y   ŒÈxY w# 1 sw Y   Œ¤xY w# 1 sw Y   ŒxY w)NFr¦   r§   )ç�Âõ(\�ê?ç…ëQ¸Õ?gáz®GáÚ?r4   )çHáz®Gé?g
×£p=
·?re   )çìQ¸…ëé?ç333333Ã?r  )r^   rd   rg   r;   rÇ   rü   gö(\�Âõà?rÆ   ró   gR¸…ëQà?rÈ   g®GázÞ?rÉ   r�   ©r¨   r¬   r(  rÅ   )rÅ  g=
×£p=Ú?rÆ  )rÇ  re   rå   )rÈ  r  rÉ  )r^   rg   rd   )rZ   r   r,   r-   r    r!   r   r½   rÒ   rÓ   r   )
rX   rW   rx   rR   r°   r±   r²   r´   rµ   r¶   s
             rY   Ú)test_precision_recall_f1_score_multiclassrË  ø  sT  € ä'¨uÔ5Ñ€FˆF�Aô 1°¸ÈÔN�J€A€qˆ!ˆQÜ˜aÒ!3°QÔ7Ü˜aÒ!3°QÔ7Ü˜aÒ!3°QÔ7Ü�qš,Ô'ô 
˜ °1¸gÔ	F€BÜ˜b $¨Ô*ä	�f˜f¨gÔ	6€BÜ˜b $¨Ô*ä	�&˜&¨'Ô	2€BÜ˜b $¨Ô*ä	˜ °Ô	9€BÜ˜b $¨Ô*ä	�f˜f¨gÔ	6€BÜ˜b $¨Ô*ä	�&˜&¨'Ô	2€BÜ˜b $¨Ô*ä	˜ °Ô	<€BÜ˜b $¨Ô*ä	�f˜f¨jÔ	9€BÜ˜b $¨Ô*ä	�&˜&¨*Ô	5€BÜ˜b $¨Ô*ä	�‰”zÓ	"ñ ;Ü˜ °	Õ:÷;ä	�‰”zÓ	"ñ 8Ü�V˜V¨YÕ7÷8ä	�‰”zÓ	"ñ 4Ü�˜¨Õ3÷4ä	�‰”zÓ	"ñ AÜ�F˜F¨I¸CÕ@÷Aô 1Ø�šy°$ô�J€A€qˆ!ˆQô ˜aÒ!3°QÔ7Ü˜aÒ!3°QÔ7Ü˜aÒ!3°QÔ7Ü�qš,Õ'÷!;ð ;ú÷8ð 8ú÷4ð 4ú÷Að Aús0   Å,I&ÆI2ÇI>Ç<J
É&I/É2I;É>JÊ
J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¢«       y y )Nr¦  ©r   r   r;   r;   )rÂ   r   r;   r4   )rp   Úwarn_forr¨   r   ©r   r;   r;   r   )r@   rž   r   r-   )r¨   rX   rW   rR   r°   r±   r²   s          rY   Ú;test_precision_refcall_f1_score_multilabel_unordered_labelsrÐ  2  su   € ô �X‰X’|�nÓ%€FÜ�X‰X’|�nÓ%€FÜ0Ø�š|°bÀ'ô�J€A€qˆ!ˆQô �q˜!ÔÜ�q˜!ÔÜ�q˜!ÔØ€Ü˜1šlÕ+ð r[   c                  ó@  — 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 ‚y )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È   rw  )r@   rž   r   rÑ   Úbincountr¨   )
rX   rW   r´   rµ   r¶   rx   rR   r°   r±   rb   s
             rY   Ú.test_precision_recall_f1_score_binary_averagedrÓ  A  sÿ   € Ü�X‰XÒCÓD€FÜ�X‰XÒCÓD€Fô 4°F¸FÈDÔQ�M€BˆˆB�Ü0°¸ÈÔQ�J€A€qˆ!ˆQØ”—‘˜“ÒÐÐØ”—‘˜“ÒÐÐØ”—‘˜“ÒÐÐÜ0°¸ÈÔT�J€A€qˆ!ˆQÜ�k‰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 | ¤Ž y # t        j                  d	i | ¤Ž w xY w)
NÚraise)rG  )r   r;   r4   r   r;   r4   )r4   r   r;   r;   r4   r   rÆ   r§   r   r4   r¿   )r@   Úseterrrž   r+   r    r!   r   )Úold_error_settingsrX   rW   s      rY   Útest_zero_precision_recallrØ  R  sš   € ô Ÿ™ wÔ/Ðð	(Ü—‘Ò,Ó-ˆÜ—‘Ò,Ó-ˆäœO¨F°FÀGÔLÈcÐSTÔUÜœL¨°ÀÔIÈ3ÐPQÔRÜœH V¨V¸WÔEÀsÈAÔNô 	�	‰	Ñ'Ð&Ó'øŒ�	‰	Ñ'Ð&Ó'ús   ˜A9B' Â'B>c                  ó   — 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«       y )NFr¦   r   r;   rÚ   r   r®   rÂ   r4   r$  r^   )rZ   r   r-   r@   Úmax)rX   rW   rx   r  Úextra_labels        rY   Ú.test_confusion_matrix_multiclass_subset_labelsrÜ  c  s§   € ä'¨uÔ5Ñ€FˆF�Aô 
˜& &°!°Q°Ô	8€BÜ�r˜R ˜G a¨ VÐ,Ô-ô 
˜& &°!°Q°Ô	8€BÜ�r˜R ˜G b¨! WÐ-Ô.ô —&‘&˜“. 1Ñ$€KÜ	˜& &°!°[Ð1AÔ	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 «       y # 1 sw Y   y xY w)NFr¦   rë   rÚ   )rZ   r½   rÒ   rÓ   r   )rp   rð   rX   rW   rx   s        rY   Útest_confusion_matrix_errorrß  v  sD   € ô (¨uÔ5Ñ€FˆF�AÜ	�‰”z¨Ô	1ñ 8Ü˜ °Õ7÷8÷ 8ñ 8ús   ¬AÁArp   )ÚNonerM   Ú
multiclassc                 ó�   — | rt        | «      nd}t        j                  ||ft        ¬«      }t	        g g | ¬«      }t        ||«       y )Nr   ©rL  rÚ   )rs   r@   r    rC   r   r-   )rp   Úexpected_n_classesÚexpectedr  s       rY   Ú*test_confusion_matrix_on_zero_length_inputræ  „  sA   € ñ )/œ˜Vœ°AÐÜ�x‰xÐ+Ð-?Ð@ÌÔL€HÜ	˜"˜b¨Ô	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        | | |j                  |d¬«      ¬«      }|j                  t         j
                  k(  rŒ@J ‚ t         j                  t         j                  d t        fD ]@  }t        | | |j                  |d¬«      ¬«      }|j                  t         j                  k(  rŒ@J ‚ t        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 ‚y )Nrš   F)Úcopyr@  l   ÿÿ rã  ©r   r   r²  l   þÿ l   ÿÿÿÿ éþÿÿÿ)r@   Úonesrs   r   rL  Úint64Úbool_Úint32Úuint64ÚastypeÚfloat32Úfloat64ÚobjectÚfullÚuint32)rO   Úweightr  rL  s       rY   Útest_confusion_matrix_dtyper÷  Ž  s|  € Ú€AÜ�W‰W”S˜“V‹_€Fä	˜!˜QÓ	€BØ�8‰8”r—x‘xÒÐÐä—(‘(œBŸH™H¤b§i¡iÐ0ò $ˆÜ˜a °&·-±-ÀÈE°-Ó2RÔSˆØ�x‰xœ2Ÿ8™8Ó#Ð#Ð#ð$ô —*‘*œbŸj™j¨$´Ð7ò &ˆÜ˜a °&·-±-ÀÈE°-Ó2RÔSˆØ�x‰xœ2Ÿ:™:Ó%Ð%Ð%ð&ô
 �W‰W”S˜“V˜Z¬r¯y©yÔ9€FÜ	˜!˜Q¨fÔ	5€BØˆd‰8�zÒ!Ð!Ð!Øˆd‰8�zÒ!Ð!Ð!ô �W‰W”S˜“VÐ0¼¿¹ÔA€FÜ	˜!˜Q¨fÔ	5€BØˆd‰8Ð*Ò*Ð*Ð*Øˆd‰8�rŠ>Ð‰>r[   rL  )ÚInt64ÚFloat64Úbooleanc                 óô   — t        j                  d«      }t        j                  g d¢«      }|j	                  || ¬«      }|j	                  g d¢d¬«      }t        ||«      }t        ||«      }t        ||«       y)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½   Úimportorskipr@   rž   ÚSeriesr   r-   )rL  ÚpdÚ	y_ndarrayrX   Úy_predictedÚoutputÚexpected_outputs          rY   Ú%test_confusion_matrix_pandas_nullabler  ©  sj   € ô 
×	Ñ	˜XÓ	&€Bä—‘Ò4Ó5€IØ�Y‰Y�y¨ˆYÓ.€FØ—)‘)Ò7¸w�)ÓG€Kä˜f kÓ2€FÜ& y°+Ó>€Oä�v˜Õ/r[   c            	      óÞ   — t        j                  «       } t        | d¬«      \  }}}d}t        ||t	        j
                  t        | j                  «      «      | j                  ¬«      }||k(  sJ ‚y )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
©rp   rq   ©r
   r<   rZ   r   r@   rA   rs   rq   ©rw   rX   rW   rx   ry   rz   s         rY   Ú%test_classification_report_multiclassr	  »  sl   € ä×ÑÓ€DÜ'°¸UÔCÑ€FˆF�Að
€Oô #ØØÜ�y‰yœ˜T×.Ñ.Ó/Ó0Ø×&Ñ&ô	€Fð �_Ò$Ð$Ñ$r[   c                  ó>   — g d¢g d¢}} d}t        | |«      }||k(  sJ ‚y )N)	r   r   r   r;   r;   r;   r4   r4   r4   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–   )rX   rW   ry   rz   s       rY   Ú.test_classification_report_multiclass_balancedr  Õ  s/   € Ú0Ò2MˆF€Fð
€Oô # 6¨6Ó2€FØ�_Ò$Ð$Ñ$r[   c                  óx   — t        j                  «       } t        | d¬«      \  }}}d}t        ||«      }||k(  sJ ‚y )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<   rZ   r   r  s         rY   Ú:test_classification_report_multiclass_with_label_detectionr  ç  sF   € Ü×ÑÓ€DÜ'°¸UÔCÑ€FˆF�Að
€Oô # 6¨6Ó2€FØ�_Ò$Ð$Ñ$r[   c            	      óà   — t        j                  «       } t        | d¬«      \  }}}d}t        ||t	        j
                  t        | j                  «      «      | j                  d¬«      }||k(  sJ ‚y )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­   )rp   rq   Údigitsr  r  s         rY   Ú1test_classification_report_multiclass_with_digitsr  û  so   € ä×ÑÓ€DÜ'°¸UÔCÑ€FˆF�Að
€Oô #ØØÜ�y‰yœ˜T×.Ñ.Ó/Ó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 ‚y )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†   ©rq   ©rZ   r@   rž   r   )rX   rW   rx   ry   rz   s        rY   Ú7test_classification_report_multiclass_with_string_labelr    sƒ   € Ü'¨uÔ5Ñ€FˆF�Aä�X‰XÒ.Ó/°Ñ7€FÜ�X‰XÒ.Ó/°Ñ7€Fð
€Oô # 6¨6Ó2€FØ�_Ò$Ð$Ð$ð
€Oô # 6¨6ÂÔP€FØ�_Ò$Ð$Ñ$r[   c                  ó�   — t        d¬«      \  } }}t        j                  g d¢«      }||    } ||   }d}t        | |«      }||k(  sJ ‚y )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
r  ©rX   rW   rx   rp   ry   rz   s         rY   Ú8test_classification_report_multiclass_with_unicode_labelr  9  sW   € Ü'¨uÔ5Ñ€FˆF�Aä�X‰XÒ:Ó;€FØ�F‰^€FØ�F‰^€Fð
€Oô # 6¨6Ó2€FØ�_Ò$Ð$Ñ$r[   c                  ó�   — t        d¬«      \  } }}t        j                  g d¢«      }||    } ||   }d}t        | |«      }||k(  sJ ‚y )NFr¦   )r  Úgreengreengreengreengreenr  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
r  r  s         rY   Ú<test_classification_report_multiclass_with_long_string_labelr  O  sW   € Ü'¨uÔ5Ñ€FˆF�Aä�X‰XÒ2Ó3€FØ�F‰^€FØ�F‰^€Fð
€Oô # 6¨6Ó2€FØ�_Ò$Ð$Ñ$r[   c                  ó¢   — g d¢} g d¢}g d¢}d}t        j                  t        |¬«      5  t        | |ddg|¬«       d d d «       y # 1 sw Y   y xY w)	N©r   r   r4   r   r   ©r   r4   r4   r   r   ©zclass 0zclass 1zclass 2z6labels size, 2, does not match size of target_names, 3rë   r   r4   r  )r½   rý   rþ   r   )rX   rW   rq   r’   s       rY   Ú=test_classification_report_labels_target_names_unequal_lengthr"  f  sO   € Ú€FÚ€FÚ4€Là
B€CÜ	�‰”k¨Ô	-ñ XÜ˜f f°a¸°VÈ,ÕW÷X÷ Xñ Xús   ªAÁAc                  óœ   — g d¢} g d¢}g d¢}d}t        j                  t        |¬«      5  t        | ||¬«       d d d «       y # 1 sw Y   y xY w)Nr  r   r!  zaNumber of classes, 2, does not match size of target_names, 3. Try specifying the labels parameterrë   r  )r½   rÒ   rÓ   r   )rX   rW   rq   rð   s       rY   Ú@test_classification_report_no_labels_target_names_unequal_lengthr$  p  sP   € Ú€FÚ€FÚ4€Lð	.ð ô
 
�‰”z¨Ô	1ñ IÜ˜f f¸<ÕH÷I÷ Iñ Iús   ªAÁAc                  ó~   — d} d}t        d|| d¬«      \  }}t        d|| d¬«      \  }}d}t        ||«      }||k(  sJ ‚y )Nr®   rq  r;   r   )rQ   rP   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ª  rP   rx   rX   rW   ry   rz   s          rY   Ú%test_multilabel_classification_reportr&  ~  s_   € à€IØ€Iä.Ø 	°YÈQô�I€A€vô /Ø 	°YÈQô�I€A€vð€Oô # 6¨6Ó2€FØ�_Ò$Ð$Ñ$r[   c                  ó  — 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 ‚y )Nrš   r›   rœ   r�   r   r;   )r@   rž   r"   rŸ   r    r?   r¡   s     rY   Ú$test_multilabel_zero_one_loss_subsetr(  �  sç   € ä	�‰’9šiÐ(Ó	)€BÜ	�‰’9šiÐ(Ó	)€Bä˜˜RÓ  CÒ'Ð'Ð'Ü˜˜RÓ  AÒ%Ð%Ð%Ü˜˜RÓ  AÒ%Ð%Ð%Ü˜œRŸ^™^¨BÓ/Ó0°AÒ5Ð5Ð5Ü˜œRŸ^™^¨BÓ/Ó0°AÒ5Ð5Ð5Ü˜œRŸX™X b§h¡hÓ/Ó0°AÒ5Ð5Ð5Ü˜œRŸX™X b§h¡hÓ/Ó0°AÒ5Ð5Ñ5r[   c                  óø  — 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 ‚y )Nrš   r›   rœ   r;   rÂ   çUUUUUUÅ?r   rÛ   r�   r@  gUUUUUUµ?gUUUUUUí?)r@   rž   r   r    r?   Ú
zeros_likeÚ
sp_hamming)r¢   r£   Úws      rY   Útest_multilabel_hamming_lossr.  «  sm  € ä	�‰’9šiÐ(Ó	)€BÜ	�‰’9šiÐ(Ó	)€BÜ
�‰�!�Q�Ó€Aä˜˜BÓ 5Ò(Ð(Ð(Ü˜˜BÓ 1Ò$Ð$Ð$Ü˜˜BÓ 1Ò$Ð$Ð$Ü˜˜A ™FÓ# qÒ(Ð(Ð(Ü˜˜A ™FÓ# qÒ(Ð(Ð(Ü˜œBŸH™H R§X¡XÓ.Ó/°5Ò8Ð8Ð8Ü˜œBŸH™H R§X¡XÓ.Ó/°3Ò6Ð6Ð6Ü˜˜B¨aÔ0°HÒ<Ð<Ð<Ü˜˜A ™F°!Ô4¸	ÒAÐAÐAÜ˜œBŸM™M¨"Ó-¸QÔ?À7ÒJÐJÐJä˜˜1™˜r !™uÓ%¬°B°q±E¸2¸a¹5Ó)AÒAÐAÑAr[   c                  ó°  — t        j                  g d¢«      } t        j                  g d¢«      }d}t        j                  t        |¬«      5  t        | |dd¬«       d d d «       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 «       t        j                  g d¢«      } t        j                  g d¢«      }d}t        j                  t        |¬«      5  t        | |d¬«       d d d «       d}t        j                  t        |¬«      5  t        | |d¬«       d d d «       d}t        j                  t        |¬«      5  t        | |dd¬«       d d d «       y # 1 sw Y   �ŒAxY w# 1 sw Y   ŒâxY w# 1 sw Y   ŒŒxY w# 1 sw Y   ŒdxY w# 1 sw Y   y xY w)N)r   r;   r   r;   r;   z>pos_label=2 is not a valid label. It should be one of \[0, 1\]rë   rM   r4   ©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   r4   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Â   )r@   rž   r½   rÒ   rÓ   r   rý   rþ   )rX   rW   rð   Úmsg1Úmsg2Úmsg3r’   s          rY   Útest_jaccard_score_validationr6  ¿  s–  € Ü�X‰X’oÓ&€FÜ�X‰X’oÓ&€FØO€GÜ	�‰”z¨Ô	1ñ EÜ�f˜f¨hÀ!ÕD÷Eô �X‰X’y¢)Ð,Ó-€FÜ�X‰X’y¢)Ð,Ó-€Fð	6ð 	ô
 
�‰”z¨Ô	.ñ FÜ�f˜f¨hÀ"ÕE÷Fô �X‰X’oÓ&€FÜ�X‰X’oÓ&€Fð	ð 	ô
 
�‰”z¨Ô	.ñ 8Ü�f˜f¨hÕ7÷8àW€DÜ	�‰”z¨Ô	.ñ 9Ü�f˜f¨iÕ8÷9ð	ð ô 
�‰”k¨Ô	-ñ DÜ�f˜f¨gÀÕC÷Dð D÷AEñ Eú÷Fð Fú÷8ð 8ú÷9ð 9ú÷Dð Dús<   ÁFÂ7F(ÄF4ÅG ÆGÆF%Æ(F1Æ4F=Ç G	Ç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 «       d}t        j                  t        |¬«      5  t        ||dgd¬«       d d d «       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 «       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 «       t        | «      rJ ‚y # 1 sw Y   �Œ xY w# 1 sw Y   ŒöxY w# 1 sw Y   ŒœxY w# 1 sw Y   Œ<xY w)Nrš   r›   rœ   rÉ   r§   rÎ   r;   r   rË   rÌ   rÆ   rÛ   rÇ   ró   g«ªªªªªâ?r4   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.)r@   rž   r   rŸ   r    r?   r+   r-   r½   rÒ   rÓ   rý   r   rK  )Úrecwarnr¢   r£   rX   rW   r4  r5  r’   s           rY   Útest_multilabel_jaccard_scorer9  ç  sw  € ä	�‰’9šiÐ(Ó	)€BÜ	�‰’9šiÐ(Ó	)€Bô
 ˜˜R¨Ô3°tÒ;Ð;Ð;Ü˜˜R¨Ô3°qÒ8Ð8Ð8Ü˜˜R¨Ô3°qÒ8Ð8Ð8Ü˜œRŸ^™^¨BÓ/¸ÔCÀqÒHÐHÐHÜ˜œRŸ^™^¨BÓ/¸ÔCÀqÒHÐHÐHÜ˜œRŸX™X b§h¡hÓ/¸ÔCÀqÒHÐHÐHÜ˜œRŸX™X b§h¡hÓ/¸ÔCÀqÒHÐHÐHä�X‰X’y¢)Ð,Ó-€FÜ�X‰X’y¢)Ð,Ó-€Fäœ f¨f¸gÔFÈÔPäœ f¨f¸gÔFÈÔPäœ f¨f¸iÔHÈ(ÔSÜÜ�f˜f¨iÀÀAÀÔGÈôô Ü�f˜f¨iÀÀAÀÔGÈôô Ü�f˜f¨dÔ3´R·X±XÒ>UÓ5Vôô �X‰X’y¢)Ð,Ó-€FÜ�X‰X’y¢)Ð,Ó-€FÜœ f¨f¸gÔFÈÔPäœ f¨f¸jÔIÈ7ÔSà€DÜ	�‰”z¨Ô	.ñ CÜ�f˜f¨a¨S¸'ÕB÷Cà€DÜ	�‰”z¨Ô	.ñ DÜ�f˜f¨b¨T¸7ÕC÷Dð	-ð ô
 
�‰Ô,°CÔ	8ñ 
äœ"Ÿ(™( Q¨ F 8Ó,¬b¯h©h¸¸A¸°xÓ.@È'ÔRØòð	
ñ÷
ð	,ð ô
 
�‰Ô,°CÔ	8ñ 
äÜ—‘˜1˜a˜& 1 a &Ð)Ó*Ü—‘˜1˜a˜& 1 a &Ð)Ó*Ø!ôð
 òð	
ñ÷
ô �GŒ}ÐÐˆ}÷ACñ Cú÷Dð Dú÷
ð 
ú÷
ð 
ús2   Ê N/Ê6N<Ë,A OÍAOÎ/N9Î<OÏOÏOc           	      óˆ  — g d¢}g d¢}g d¢}t        «       }|j                  |«       |j                  |«      }|j                  |«      }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 ]2  }t        |	|
«      D ]!  \  }}t         |||¬«       |||¬«      «       Œ# Œ4 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 «       t        | «      rJ ‚y # 1 sw Y   ŒxY w)N)Úantr;  Úcatr<  r;  r<  Úbirdr=  )r<  r;  r<  r<  r;  r=  r=  r<  )r;  r=  r<  r;  r=  r<  r   r;   r4   )rÆ   rÈ   rÇ   NrÍ   rÈ   r§   )r&   rI   Ú	transformr   r   Úzipr+   r@   rž   r.   rK  )r8  rX   rW   rp   ÚlbrÔ   rÕ   Úmulti_jaccard_scoreÚbin_jaccard_scoreÚmulti_labels_listÚbin_labels_listr¨   Úm_labelÚb_labels                 rY   Útest_multiclass_jaccard_scorerG  4  s‰  € ÚG€FÚG€FÚ#€FÜ	Ó	€BØ‡F�Fˆ6„NØ—‘˜fÓ%€JØ—‘˜fÓ%€JÜ!¤-°¸Ó@ÐÜ¤¨z¸:ÓFÐà	�ˆØ	�ˆØ	�ˆØ	ˆØ	ˆØ	ˆØðÐð ˜1�v  1˜v¨¨1 v°¨s°Q°C¸!¸¸dÐC€Oð 8ò ˆÜ #Ð$5°Ó Gò 	ÑˆG�WÜÙ#¨G¸GÔDÙ!¨'¸'ÔBõñ	ðô �X‰X˜˜1�v  1˜v¨¨1 vÐ.Ó/€FÜ�X‰X˜˜1�v  1˜v¨¨1 vÐ.Ó/€FÜ	Ó	ñ FÜ˜V V°ZÔ@ÀAÒEÐEÑE÷Fô �GŒ}ÐÐˆ}÷Fð Fús   ÄD8Ä8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 «       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 ‚y # 1 sw Y   ŒŒxY w)Nr;   r   rM   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Î   r0  r�   )r   r½   rý   r   r@   rž   r+   rK  )r8  r’   rX   rW   s       rY   Ú!test_average_binary_jaccard_scorerI  Y  sç   € ä˜!˜˜q˜c¨8Ô4¸Ò;Ð;Ð;ð	'ð ô 
�‰Ô,°CÔ	8ñ FÜ˜a ˜V a¨ V°XÔ>À#ÒEÐEÑE÷Fô ˜!˜˜q˜c¨Q¸ÔAÀSÒHÐHÐHÜ�X‰X’oÓ&€FÜ�X‰X’oÓ&€FÜœ f¨f¸hÔGÈÔQÜÜ�f˜f¨hÀ!ÔDÀgôô �GŒ}ÐÐˆ}÷Fð Fús   ³CÃC c                  ó(  — 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 «       y # 1 sw Y   y xY w)	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   )r@   rž   r½   rý   r   r   r¾   )rX   rW   r’   Úscores       rY   Ú(test_jaccard_score_zero_division_warningrN  p  s‚   € ô �X‰X’y¢)Ð,Ó-€FÜ�X‰X’y¢)Ð,Ó-€Fð	Cð ô
 
�‰Ô,°CÔ	8ñ +Ü˜f f°iÈvÔVˆØœŸ™ cÓ*Ò*Ð*Ñ*÷+÷ +ñ +ús   Á*BÂBzzero_division, expected_scoreré  )r;   r�   c                 óH  — 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 «       t        j                  |«      k(  sJ ‚y # 1 sw Y   Œ$xY w)Nr›   rK  r«   rÉ   rL  )	r@   rž   r�   rŽ   r¯   r   r   r½   r¾   )rƒ   Úexpected_scorerX   rW   rM  s        rY   Ú*test_jaccard_score_zero_division_set_valuerQ    sˆ   € ô �X‰X’y¢)Ð,Ó-€FÜ�X‰X’y¢)Ð,Ó-€FÜ	×	 Ñ	 Ó	"ñ 
Ü×Ñ˜gÔ'=Ô>ÜØ�F I¸]ô
ˆ÷
ð
 ”F—M‘M .Ó1Ò1Ð1Ñ1÷
ð 
ús   Á*BÂB!c                  óh  — 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«       y )N©r;   r   r   r   ©r   r;   r   r   rÍ  )r;   r   r;   r   r§   )r   r�   r¹   r   r4   )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È   rw  rÉ   ©r@   rž   r   r,   r   r+   rÑ   r¨   ©rX   rW   rR   r°   r±   r²   Úf2rb   s           rY   Ú+test_precision_recall_f1_score_multilabel_1rY  Œ  s$  € ô
 �X‰X’|¢\²<Ð@ÓA€FÜ�X‰X’|¢\²<Ð@ÓA€Fä0°¸ÈÔN�J€A€qˆ!ˆQô ˜aÒ!5°qÔ9Ü˜aÒ!5°qÔ9Ü˜aÒ!7¸Ô;Ü˜a¢¨qÔ1ä	�V˜V¨!°TÔ	:€BØ€GÜ˜b¢/°1Ô5ô 1°¸ÈÔQ�J€A€qˆ!ˆQÜ˜˜7Ô#Ü˜˜3ÔÜ˜Ð+Ô,Øˆ9Ðˆ9ÜÜ�F˜F¨°GÔ<¼b¿g¹gÀb»kôô
 1°¸ÈÔQ�J€A€qˆ!ˆQÜ˜˜3ÔÜ˜˜3ÔÜ˜˜3ÔØˆ9Ðˆ9ÜÜ�F˜F¨°GÔ<Ø	�!‰�a‰˜1˜q™5 1™9Ñ%ôô 1°¸ÈÔT�J€A€qˆ!ˆQÜ˜˜7Ô#Ü˜˜3ÔÜ˜Ð+Ô,Øˆ9Ðˆ9ÜÜ�F˜F¨°JÔ?Ü
�
‰
�2˜wÔ'ôô 1°¸ÈÔS�J€A€qˆ!ˆQÜ˜˜3ÔÜ˜˜3ÔÜ˜˜3ÔØˆ9Ðˆ9Üœ F¨F¸ÀIÔNÐPSÕTr[   c                  ój  — 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«       y )NrS  rT  rÏ  ©r   r   r   r;   r¦  r§   )r   r¹   r   r   r4   )r   r�   r   r   )r   g…ëQ¸å?r   r   ©r;   r4   r;   r   rU  )r   çš™™™™™á?r   r   rÇ   ç      Ð?r­   r®   rÆ   g      À?r*  rÈ   r�   rc   rw  rÉ   g¥½Á&SÅ?rV  rW  s           rY   Ú+test_precision_recall_f1_score_multilabel_2r_  Ï  s'  € ô �X‰X’|¢\²<Ð@ÓA€FÜ�X‰X’|¢\²<Ð@ÓA€Fô 1°¸ÈÔN�J€A€qˆ!ˆQÜ˜aÒ!5°qÔ9Ü˜aÒ!5°qÔ9Ü˜aÒ!6¸Ô:Ü˜a¢¨qÔ1ä	�V˜V¨!°TÔ	:€BØ€GÜ˜b¢/°1Ô5ä0°¸ÈÔQ�J€A€qˆ!ˆQÜ˜˜4Ô Ü˜˜4Ô Ü˜Ð0Ô1Øˆ9Ðˆ9ÜÜ�F˜F¨°GÔ<Ø	�!‰�a‰˜1˜q™5 1™9Ñ%ôô
 1°¸ÈÔQ�J€A€qˆ!ˆQÜ˜˜4Ô Ü˜˜5Ô!Ü˜˜6Ô"Øˆ9Ðˆ9ÜÜ�F˜F¨°GÔ<¼b¿g¹gÀb»kôô 1°¸ÈÔT�J€A€qˆ!ˆQÜ˜˜5Ô!Ü˜˜5Ô!Ü˜˜=Ô)Øˆ9Ðˆ9ÜÜ�F˜F¨°JÔ?Ü
�
‰
�2˜wÔ'ôô
 1°¸ÈÔS�J€A€qˆ!ˆQô ˜˜5Ô!Ü˜˜5Ô!Ü˜˜=Ô)Øˆ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	«       y )!NrT  rS  rÏ  rZ  r[  rL  r¹   r   r4   r�   r   rÛ   r;   r\  ©r¬   r¨   rƒ   r]  rÆ   rÂ   ç      ø?gªªªªªªÚ?rw  rÇ   rf   r­   r®   rÈ   rÎ   gªªªªªª@rÉ   r§   rc   gZd;ßOÕ?)r@   rž   r   r,   r   r  r+   r/   )rƒ   Úzero_division_expectedrX   rW   rR   r°   r±   r²   Ú
expected_frX  rb   Úvalue_to_sumÚvalues_to_averageÚexpected_results                 rY   Ú7test_precision_recall_f1_score_with_an_empty_predictionrh    sí  € ô �X‰X’|¢\²<Ð@ÓA€FÜ�X‰X’|¢\²<Ð@ÓA€Fô 1Ø� °Mô�J€A€qˆ!ˆQô ˜aÐ"8¸#¸sÀCÐ!HÈ!ÔLÜ˜a # s¨CÐ1GÐ!HÈ!ÔLØ€JÜ˜a *¨g°q¸*Ð!EÀqÔIÜ˜a¢¨qÔ1ä	�V˜V¨!°TÈÔ	W€BØ€GÜ˜b :¨t°Q¸
Ð"CÀQÔGä0Ø� °}ô�J€A€qˆ!ˆQô Ÿ™Ð!7Ô8‘1Ð>T€LØ¤§¡Ð*@Ó!AÐAÑBÐä˜˜A Ñ,Ð0AÑAÔBÜ˜˜C ,Ñ.Ð2CÑCÔDØ €JÜ˜˜:Ô&Øˆ9Ðˆ9ÜÜØØØØØ'ô	
ô 	�B Ô%ô	ô 1Ø� °}ô�J€A€qˆ!ˆQô ˜˜5Ô!Ü˜˜3ÔÜ˜Ð0Ô1Øˆ9Ðˆ9ÜÜØ�F ¨GÀ=ô	
ð 
�!‰�a‰˜1˜q™5 1™9Ñ%ô	ô 1Ø� 
¸-ô�J€A€qˆ!ˆQô ˜Ð$:¸aÒ$?™5ÀSÔIÜ˜˜3ÔØÐÜ˜˜MÐ->Ñ>Ô?Øˆ9Ðˆ9ÜÜØ�F ¨JÀmô	
ô 	�B Ô(ô	ô 1°¸ÈÔS�J€A€qˆ!ˆQô ˜˜5Ô!Ü˜˜5Ô!Ü˜˜5Ô!Øˆ9Ðˆ9Ø€OÜÜØ�F ¨IÀ]ô	
ð 	Ø	õr[   r¬   )rÆ   rÇ   rÈ   rÉ   c                 ó  — t        j                  d«      }t        j                  |«      }t        j                  «       5  t        j
                  d«       t        |||| |¬«      \  }}}}t        ||| ||¬«      }	d d d «       �J ‚t        j                  |«      r#	fD ]  }
t        j                  |
«      rŒJ ‚ y t        |«      }t        |«       t        |«       t        |«       t        	t        |«      «       y # 1 sw Y   ŒŠxY w)N©rg   rÂ   r«   ©r¨   r¬   rƒ   ra  )r@   r    r+  r�   rŽ   r¯   r   r   r  rv   r+   )r¬   r¨   rƒ   rX   rW   rR   r°   r±   r²   Úfbetar|   s              rY   Ú"test_precision_recall_f1_no_labelsrm  s  s	  € ô �X‰X�gÓ€FÜ�]‰]˜6Ó"€Fä	×	 Ñ	 Ó	"ñ 
Ü×Ñ˜gÔ&ä4ØØØØØ'ô
‰
ˆˆ1ˆa�ô ØØØØØ'ô
ˆ÷
ð" ˆ9Ðˆ9ô 
‡x�x�ÔØ˜!˜Q Ð&ò 	$ˆFÜ—8‘8˜FÕ#Ð#Ð#ð	$àä˜-Ó(€MÜ˜˜=Ô)Ü˜˜=Ô)Ü˜˜=Ô)ä˜œu ]Ó3Õ4÷=
ð 
ús   ¿;DÄDc                 óÄ  — t        j                  d«      }t        j                  |«      }t        }t	        j
                  t        «      5   |||| d¬«      \  }}}}d d d «       t        d«       t        d«       t        d«       �J ‚t	        j
                  t        «      5  t        ||| d¬«      }d d d «       t        d«       y # 1 sw Y   ŒoxY w# 1 sw Y   Œ"xY w)Nrj  r¹   rÊ  r   )	r@   r    r+  r   r½   rý   r   r+   r   )	r¨   rX   rW   ÚfuncrR   r°   r±   r²   rl  s	            rY   Ú1test_precision_recall_f1_no_labels_check_warningsrp  ›  sÍ   € ä�X‰X�gÓ€FÜ�]‰]˜6Ó"€Fä*€DÜ	�‰Ô,Ó	-ñ EÙ˜& &°'ÀÔD‰
ˆˆ1ˆa�÷Eô ˜˜1ÔÜ˜˜1ÔÜ˜˜1ÔØˆ9Ðˆ9ä	�‰Ô,Ó	-ñ GÜ˜F F°GÀ#ÔFˆ÷Gô ˜˜qÕ!÷Eð Eú÷Gð Gús   Á
C
Â%CÃ
CÃCc                 óæ  — t        j                  d«      }t        j                  |«      }t        j                  «       5  t        j
                  d«       t        ||d d| ¬«      \  }}}}t        ||dd | ¬«      }d d d «       t        j                  | «      } t        | | | gd«       t        | | | gd«       t        | | | gd«       t        g d¢d«       t        | | | gd«       y # 1 sw Y   ŒnxY w)Nrj  r«   r¹   rk  ra  r4   rK  )
r@   r    r+  r�   rŽ   r¯   r   r   rò  r,   )rƒ   rX   rW   rR   r°   r±   r²   rl  s           rY   Ú/test_precision_recall_f1_no_labels_average_nonerr  ¯  só   € ä�X‰X�gÓ€FÜ�]‰]˜6Ó"€Fô 
×	 Ñ	 Ó	"ñ 
Ü×Ñ˜gÔ&ä4ØØØØØ'ô
‰
ˆˆ1ˆa�ô Ø�F ¨dÀ-ô
ˆ÷
ô —J‘J˜}Ó-€MÜ˜a -°ÀÐ!NÐPQÔRÜ˜a -°ÀÐ!NÐPQÔRÜ˜a -°ÀÐ!NÐPQÔRÜ˜a¢¨AÔ.ä˜e m°]ÀMÐ%RÐTUÕV÷)
ð 
ús   ¿;C'Ã'C0c                  óì  — t        j                  d«      } t        j                  | «      }t        j                  t
        «      5  t        | |d d¬«      \  }}}}d d d «       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 «       t        g d¢d«       y # 1 sw Y   Œ†xY w# 1 sw Y   Œ%xY w)Nrj  r;   rÊ  rK  r4   rU  )	r@   r    r+  r½   rý   r   r   r,   r   )rX   rW   rR   r°   r±   r²   rl  s          rY   Ú4test_precision_recall_f1_no_labels_average_none_warnrt  Ó  sÓ   € Ü�X‰X�gÓ€FÜ�]‰]˜6Ó"€Fô 
�‰Ô,Ó	-ñ 
Ü4Ø�F D¨qô
‰
ˆˆ1ˆa�÷
ô
 ˜a¢¨AÔ.Ü˜a¢¨AÔ.Ü˜a¢¨AÔ.Ü˜a¢¨AÔ.ä	�‰Ô,Ó	-ñ BÜ˜F F°¸DÔAˆ÷Bô ˜e¢Y°Õ2÷
ð 
ú÷Bð Bús   ÁCÂ6C*ÃC'Ã*C3c            	      ó  — t         t        }} dD ]d  }d}t        j                  ||¬«      5   | g d¢g d¢|¬«       d d d «       d}t        j                  ||¬«      5   | g d¢g d¢|¬«       d d d «       Œf 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 «       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 «       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 «       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 «       d}t        j                  ||¬«      5   | d	d	gddgd¬«       d d d «       d}t        j                  ||¬«      5   | ddgd	d	gd¬«       d d d «       t        j                  d¬«      5 }t        j                  d«       t        d
d
gd
d
gd¬«       d}t        |j                  «       j                  «      |k(  sJ ‚d}t        |j                  «       j                  «      |k(  sJ ‚d}t        |j                  «       j                  «      |k(  sJ ‚	 d d d «       y # 1 sw Y   �ŒáxY w# 1 sw Y   �Œ"xY w# 1 sw Y   �ŒixY w# 1 sw Y   �ŒxY w# 1 sw Y   �ŒÅxY w# 1 sw Y   �ŒsxY w# 1 sw Y   �ŒOxY w# 1 sw Y   �Œ+xY w# 1 sw Y   y xY w)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;   r4   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»   rM   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ý   r@   rž   r�   rŽ   r¯   r�   Úpopr�   )r±   r-  r¨   r’   rŒ   s        rY   Útest_prf_warningsr}  ï  s˜  € ä*Ô,B€q€AØ.ò 5ˆðð 	ô �\‰\˜! 3Ô'ñ 	5ÙŠiš¨GÕ4÷	5ðð 	ô �\‰\˜! 3Ô'ñ 	5ÙŠiš¨GÕ4÷	5ð 	5ð!5ð*	ð ô 
�‰�a˜sÔ	#ñ UÙ	Œ"�(‰(�Q˜�F˜Q ˜FÐ#Ó
$¤b§h¡h°°A°¸¸A¸Ð/?Ó&@È)ÕT÷Uð	ð ô 
�‰�a˜sÔ	#ñ UÙ	Œ"�(‰(�Q˜�F˜Q ˜FÐ#Ó
$¤b§h¡h°°A°¸¸A¸Ð/?Ó&@È)ÕT÷Uð
	ð ô 
�‰�a˜sÔ	#ñ SÙ	Œ"�(‰(�Q˜�F˜Q ˜FÐ#Ó
$¤b§h¡h°°A°¸¸A¸Ð/?Ó&@È'ÕR÷Sð	ð ô 
�‰�a˜sÔ	#ñ SÙ	Œ"�(‰(�Q˜�F˜Q ˜FÐ#Ó
$¤b§h¡h°°A°¸¸A¸Ð/?Ó&@È'ÕR÷Sð
	ð ô 
�‰�a˜sÔ	#ñ .Ù	ˆ1ˆaˆ&�2�r�( HÕ-÷.ð	ð ô 
�‰�a˜sÔ	#ñ .Ù	ˆ2ˆrˆ(�Q˜�F HÕ-÷.ô 
×	 Ñ	 ¨Ô	-ð 0°Ü×Ñ˜hÔ'Ü'¨¨A¨°°A°ÀÕIðð 	ô
 �6—:‘:“<×'Ñ'Ó(¨CÒ/Ð/Ð/ðð 	ô �6—:‘:“<×'Ñ'Ó(¨CÒ/Ð/Ð/ðð 	ô �6—:‘:“<×'Ñ'Ó(¨CÒ/Ð/Ñ/÷-0ð 0÷K	5ñ 	5ú÷	5ñ 	5ú÷Uñ Uú÷Uñ Uú÷Sñ Sú÷Sñ Sú÷.ñ .ú÷.ñ .ú÷0ð 0úsl   «LÁL'Â>L4Ã.>MÅ>MÆ,>MÈM(È<M5É*B&NÌL$	Ì'L1	Ì4L>ÍMÍMÍM%Í(M2Í5M?ÎNc           	      óö  — t        j                  «       5  t        j                  d«       dD ](  }t        g d¢g d¢|| ¬«       t        g d¢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        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| ¬«       d d d «       t        j                  d¬«      5 }t        j                  d«       t        ddgddgd| ¬«       t        |«      dk(  sJ ‚	 d d d «       y # 1 sw Y   ŒbxY w# 1 sw Y   y xY w)Nr«   rv  r”   rw  rL  r;   r   rÉ   rÇ   r»   rM   Tr‹   rz  )r�   rŽ   r¯   r   r@   rž   rs   )rƒ   r¨   rŒ   s      rY   Ú)test_prf_no_warnings_if_zero_division_setr  W  s  € ä	×	 Ñ	 Ó	"ñ 2
Ü×Ñ˜gÔ&ð 3ò 	ˆGÜ+Úš9¨gÀ]õô ,Úš9¨gÀ]öð	ô 	(Ü�H‰H�q˜!�f˜q !˜fÐ%Ó&Ü�H‰H�q˜!�f˜q !˜fÐ%Ó&ØØ'õ		
ô 	(Ü�H‰H�q˜!�f˜q !˜fÐ%Ó&Ü�H‰H�q˜!�f˜q !˜fÐ%Ó&ØØ'õ		
ô 	(Ü�H‰H�q˜!�f˜q !˜fÐ%Ó&Ü�H‰H�q˜!�f˜q !˜fÐ%Ó&ØØ'õ		
ô 	(Ü�H‰H�q˜!�f˜q !˜fÐ%Ó&Ü�H‰H�q˜!�f˜q !˜fÐ%Ó&ØØ'õ		
ô 	(Ø�ˆF�R˜�H h¸mõ	
ô 	(Ø�ˆH�q˜!�f h¸mõ	
÷a2
ôh 
×	 Ñ	 ¨Ô	-ð  °Ü×Ñ˜hÔ'Ü'Ø�ˆF�Q˜�F H¸Mõ	
ô �6‹{˜aÒÐÑ÷ ð  ÷i2
ð 2
ú÷h ð  ús   •E-G#Æ 9G/Ç#G,Ç/G8c           	      óø  — t        j                  «       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 d 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                  «       j                  «      d
k(  sJ ‚t        |«      dk(  sJ ‚t        ddgddg«       | d	k(  r(t        |j                  «       j                  «      d
k(  sJ ‚d d d «       y # 1 sw Y   ŒùxY w# 1 sw Y   y xY w)Nr«   r;   r   rÇ   rL  Tr‹   rz  r„   ry  )
r�   rŽ   r¯   r!   r@   rž   r�   r|  r�   rs   ©rƒ   rŒ   s     rY   Útest_recall_warningsr‚  •  ss  € ä	×	 Ñ	 Ó	"ñ 
Ü×Ñ˜gÔ&äÜ�H‰H�q˜!�f˜q !˜fÐ%Ó&Ü�H‰H�q˜!�f˜q !˜fÐ%Ó&ØØ'õ		
÷
ô 
×	 Ñ	 ¨Ô	-ð °Ü×Ñ˜hÔ'ÜÜ�H‰H�q˜!�f˜q !˜fÐ%Ó&Ü�H‰H�q˜!�f˜q !˜fÐ%Ó&ØØ'õ		
ð ˜FÒ"ä�F—J‘J“L×(Ñ(Ó)ð ."ò "ðð"ô �v“; !Ò#Ð#Ð#ä�a˜�V˜a ˜VÔ$Ø˜FÒ"ä�F—J‘J“L×(Ñ(Ó)ð ."ò "ðð"÷+ð ÷
ð 
ú÷ð ús   •AE$Â
CE0Å$E-Å0E9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                  «       j                  «      d	k(  sJ ‚t        |«      dk(  sJ ‚t        ddgddg«       | dk(  r(t        |j                  «       j                  «      d	k(  sJ ‚d d d «       t        j                  «       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 d d «       y # 1 sw Y   Œ}xY w# 1 sw Y   y xY w)NTr‹   rz  r;   r   rÇ   rL  r„   rx  r«   )
r�   rŽ   r¯   r    r@   rž   r�   r|  r�   rs   r�  s     rY   Útest_precision_warningsr„  ½  ss  € ä	×	 Ñ	 ¨Ô	-ð °Ü×Ñ˜hÔ'ÜÜ�H‰H�q˜!�f˜q !˜fÐ%Ó&Ü�H‰H�q˜!�f˜q !˜fÐ%Ó&ØØ'õ		
ð ˜FÒ"ä�F—J‘J“L×(Ñ(Ó)ð ."ò "ðð"ô �v“; !Ò#Ð#Ð#ä˜˜A˜  A Ô'Ø˜FÒ"ä�F—J‘J“L×(Ñ(Ó)ð ."ò "ðð"÷+ô6 
×	 Ñ	 Ó	"ñ 
Ü×Ñ˜gÔ&äÜ�H‰H�q˜!�f˜q !˜fÐ%Ó&Ü�H‰H�q˜!�f˜q !˜fÐ%Ó&ØØ'õ		
÷
ð 
÷7ð ú÷6
ð 
ús   —CE$ÄAE0Å$E-Å0E9c           
      óô  — t        j                  d¬«      5 }t        j                  d«       t        t	        t
        d¬«      fD �]  } |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                  «       j                  «      dk(  r�ŒJ ‚t        |«      dk(  r�ŒJ ‚ 	 d d d «       y # 1 sw Y   y xY w)NTr‹   rz  r4   rº   r;   r   rÇ   rL  r„   r{  )r�   rŽ   r¯   r   r   r   r@   rž   rs   r�   r|  r�   )rƒ   rŒ   rM  s      rY   Útest_fscore_warningsr†  å  s~  € ä	×	 Ñ	 ¨Ô	-ð "(°Ü×Ñ˜hÔ'ä¤¬¸!Ô <Ð=ó 	(ˆEÙÜ—‘˜1˜a˜& 1 a &Ð)Ó*Ü—‘˜1˜a˜& 1 a &Ð)Ó*ØØ+õ	ô �v“; !Ò#Ð#Ð#áÜ—‘˜1˜a˜& 1 a &Ð)Ó*Ü—‘˜1˜a˜& 1 a &Ð)Ó*ØØ+õ	ô �v“; !Ò#Ð#Ð#áÜ—‘˜1˜a˜& 1 a &Ð)Ó*Ü—‘˜1˜a˜& 1 a &Ð)Ó*ØØ+õ	ð  Ò&ä˜Ÿ
™
›×,Ñ,Ó-ð 2-ô -ðð-ô ˜6“{ aÔ'Ð'Ð'ñ?	(÷"(÷ "(ñ "(ús   —D6E.ÅE.Å!E.Å.E7c                  óx  — 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 ]Y  \  }}}t        t        t        t        t        d	¬
«      fD ]/  }	t        j                  t        |¬«      5   |	||«       d d d «       Œ1 Œ[ y # 1 sw Y   Œ>xY w)N)r;   r4   rÂ   rÂ   )r;   r4   rÂ   r;   r2  rš   rË   rœ   r/  r1  r4   rº   rë   )
r@   rž   r    r!   r   r   r   r½   rÒ   rÓ   )
Ú	y_true_mcÚ	y_pred_mcÚmsg_mcÚ
y_true_indÚ
y_pred_indÚmsg_indrX   rW   r’   r|   s
             rY   Ú'test_prf_average_binary_data_non_binaryrŽ  	  sÔ   € â€IÚ€Ið	1ð ô
 —‘š9¢i²Ð;Ó<€JÜ—‘š9¢i²Ð;Ó<€Jð	<ð ð 
�I˜vÐ&Ø	�Z Ð)ð ò 'Ñˆ�˜ô
 ÜÜÜ”K aÔ(ð	
ò 	'ˆFô —‘œz°Ô5ñ 'Ù�v˜vÔ&÷'ð 'ñ	'ñ	'÷'ð 'ús   Â
B0Â0B9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   }|€Àt	        j
                  t        «      5  t        |	|«       d d d «       ||
k7  rCdj                  ||
«      }t	        j
                  t        |¬«      5  t        |	|«       d d d «       Œ�|||| fvsŒ•dj                  |«      }t	        j
                  t        |¬«      5  t        |	|«       d d d «       Œ×t        |	|«      \  }}}||k(  sJ ‚|j                  d«      r"|j                  dk(  sJ ‚|j                  dk(  s@J ‚t        |t        j                  |	«      «       t        |t        j                  |«      «       t	        j
                  t        «      5  t        |	d d |«       d d d «       �Œ’ ddg}	d d!g}d"}t	        j
                  t        |¬«      5  t        |	|«       d d d «       y # t        $ r ||
|f   }Y �ŒÌw xY w# 1 sw Y   �ŒªxY w# 1 sw Y   �ŒüxY w# 1 sw Y   �Œ	xY w# 1 sw Y   �ŒxY w# 1 sw Y   y xY w)#Nzmultilabel-indicatorrá  rM   Ú
continuouszmulticlass-multioutputzcontinuous-multioutputrš   rË   rœ   r   r;   )r4   rÂ   r;   )r   rb  r¹   r4   rÂ   r   rb  r¹   r�   rS  gš™™™™™ñ?g      @)rÁ  z@Classification metrics can't handle a mix of {0} and {1} targetsrë   z{0} is not supportedÚ
multilabelÚcsrr»   )r;   r4   )r   r4   rÂ   )r4   )r   r4   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.)r@   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                     rY   Útest__check_targetsr¤  +	  s�  € ð !€CØ	€BØ
€CØ
€CØ
"€CØ
"€Cð 
Œb�h‰hš	¢9ªiÐ8Ó9Ð:à	Œb�h‰h˜˜A˜  A ¨¨A¨Ð/Ó0Ð1Ø	ŠYˆØ	ŠiÐØ	ŠoÐØ	ŒR�X‰X˜�s˜Q˜C ! �oÓ&Ð'Ø	Œb�h‰h˜˜˜a˜S 1 #�Ó'Ð(Ø	Œb�h‰h˜˜ ˜u s eÐ,Ó-Ð.Ø	Œb�h‰h˜˜A˜  A ¨¨A¨Ð/Ó0Ð1Ø	Œb�h‰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ð ÐÜ—‘œzÓ*ñ 'Ü˜r 2Ô&÷'ð ˜Š~ð-ß-3©V°E¸5Ó-Að ô —]‘]¤:°WÔ=ñ +Ü" 2 rÔ*÷+ð +ð   b¨# Ò.Ø4×;Ñ;¸EÓB�GÜŸ™¤z¸ÔAñ /Ü& r¨2Ô.÷/ð /ô )7°r¸2Ó(>Ñ%ˆK˜ Ø (Ò*Ð*Ð*Ø×%Ñ% lÔ3Ø—|‘| uÒ,Ð,Ð,Ø—|‘| uÒ,Ð,Ð,ä" 5¬"¯*©*°R«.Ô9Ü" 5¬"¯*©*°R«.Ô9Ü—‘œzÓ*ñ ,Ü˜r # 2˜w¨Ô+÷,ñ ,ðA!,ðH �)Ð	€BØ
�ˆ€Bð	3ð ô 
�‰”z¨Ô	-ñ Ü�r˜2Ô÷ð øôS ò 	.Ø  u Ñ-‹Hð	.ú÷'ñ 'ú÷+ñ +ú÷/ñ /ú÷,ñ ,ú÷ð úsN   Å2L2ÆM	ÇMÈ%M#ËM0ÌM=Ì2MÍMÍ	M	ÍM 	Í#M-	Í0M:	Í=Nc                  ó<   — ddg} ddg}t        | |«      d   dk(  sJ ‚y )Nr   r;   r»   rá  )r#   r\  s     rY   Ú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 ‚y )N)r»   r;   r;   r»   )g      !Àr�   rb  g333333Ó¿rè   )r   r4   r4   r   )r@   rž   r   ©rX   Úpred_decisions     rY   Útest_hinge_loss_binaryrª  ”	  sf   € Ü�X‰X’nÓ%€FÜ—H‘HÒ3Ó4€MÜ�f˜mÓ,°Ò7Ð7Ð7ä�X‰X’lÓ#€FÜ—H‘HÒ3Ó4€MÜ�f˜mÓ,°Ò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 ‚y )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;   r4   r;   rÂ   r4   r;   r   r4   rÂ   r®   r­   ©Úout©r@   rž   ÚcliprÑ   r   )r©  rX   Údummy_lossesÚdummy_hinge_losss       rY   Útest_hinge_loss_multiclassr¼  ž	  sJ  € Ü—H‘Hâ(Ú(Ú(Ú(Ú(Ú(ð	
ó	€Mô �X‰XÒ(Ó)€FÜ—8‘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�GˆL˜!˜T |Õ4Ü—w‘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 «       y # 1 sw Y   y xY w)N)r   r;   r4   r4   )gR¸…ëQô?gœÄ °rh¡?gÃõ(\�Âå¿gffffffö¿r²  rµ  zDPlease include all labels in y_true or pass labels as third argumentrë   )r@   rž   r½   rÒ   rÓ   r   )rX   r©  Úerror_messages      rY   Ú:test_hinge_loss_multiclass_missing_labels_with_labels_noner¿  ¹	  si   € Ü�X‰X’lÓ#€FÜ—H‘Hâ(Ú(Ú(Ú(ð		
ó€Mð 	Oð ô 
�‰”z¨Ô	7ñ *Ü�6˜=Ô)÷*÷ *ñ *úó   ÁA,Á,A5c            
      ó  — t        j                  g d¢«      } t        j                  g d¢«      }d}t        j                  t        t        j                  |«      ¬«      5  t        | |¬«       d d d «       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 «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)N)r4   r;   r   r;   r   r;   r;   )r   r;   r4   r;   r   r4   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;   r4   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))rX   r©  rp   )r@   rž   r½   rÒ   rÓ   ÚreÚescaper   )rX   r©  r¾  rp   s       rY   Ú<test_hinge_loss_multiclass_no_consistent_pred_decision_shaperÄ  Ê	  só   € ô �X‰XÒ+Ó,€FÜ—H‘HÒ2Ó3€Mð	ð ô 
�‰”z¬¯©°=Ó)AÔ	Bñ ?Ü˜&°Õ>÷?ô —H‘H˜q !˜f q¨! f¨q°!¨f°q¸!°f¸qÀ!¸fÀqÈ!ÀfÈqÐRSÈfÐUÓV€MÚ€Fð	ð ô 
�‰”z¬¯©°=Ó)AÔ	Bñ NÜ˜&°ÀfÕM÷Nð N÷?ð ?ú÷Nð Nús   ÁC+ÃC7Ã+C4Ã7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 ‚y )Nr¬  ©çš™™™™™á¿r´  r±  r¯  r²  )r   r;   r4   r;   r4   )r   r;   r4   rÂ   r;   r   r4   rÂ   r®   r¶  rÚ   r¸  ©r©  rX   rp   rº  r»  s        rY   Ú.test_hinge_loss_multiclass_with_missing_labelsrÉ  æ	  s5  € Ü—H‘Hâ(Ú(Ú(Ú(Ú(ð	
ó€Mô �X‰X’oÓ&€FÜ�X‰X’lÓ#€FÜ—8‘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�GˆL˜!˜T |Õ4Ü—w‘w˜|Ó,ÐÜ�f˜m°FÔ;Ð?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        || |¬«      |«       y )N)r­  r®  r¯  )g333333Ã¿r¯  r±  )r³  r¯  r´  )rÇ  gö(\�Âõè¿gáz®GáÚ¿)r   r4   r4   r   r4   r”   r;   r   r4   rÂ   r®   r¶  rÚ   )r@   rž   r¹  rÑ   r+   r   rÈ  s        rY   Ú@test_hinge_loss_multiclass_missing_labels_only_two_unq_in_y_truerË   
  s6  € ô
 —H‘Hâ!Ú!Ú!Ú!Ú!ð	
ó€Mô �X‰X’oÓ&€FÜ�X‰X’iÓ €FÜ—8‘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�GˆL˜!˜T |Õ4Ü—w‘w˜|Ó,ÐÜÜ�6˜=°Ô8Ð:Jõr[   c            
      óÀ  — 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 ‚y )N)r  r  r  r  Úwhiter  r¬  rÆ  r²  rµ  r;   r   r4   rÂ   r®   r­   r¶  r¸  )rX   r©  rº  r»  s       rY   Ú+test_hinge_loss_multiclass_invariance_listsrÎ   
  s6  € ò ?€Fâ$Ú$Ú$Ú$Ú$Ú$ð€Mô —8‘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�GˆL˜!˜T |Õ4Ü—w‘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 «       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 «       ddgddgddgg}d!}t        j                  t        |¬ «      5  t        | |«       d d d «       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«       «       y # 1 sw Y   �ŒVxY w# 1 sw Y   ŒßxY w# 1 sw Y   Œ®xY w)'N©ÚnorÑ  rÑ  ÚyesrÒ  rÒ  r�   rå   re   ç{®Gáz„?ç®Gáz®ï?rÎ   r^  gü©ñÒMbP?g+‡ÙÎ÷ï?rÒ  r;   rB  ©rä   rã   rå   )ró   rä   rä   )ró   rå   rè   TrI  gèº•Ê€æ?r4   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ä   rA  )r@   rž   r   rÑ   r	   Úlogpmfr*   r½   rÒ   rÓ   Úlog)	rX   rW   ÚlossÚ	loss_truerï   Ú	error_strÚtrue_log_lossÚcalculated_log_lossÚy_score2s	            rY   Útest_log_lossrã  <
  sœ  € â4€FÜ�X‰XØ
ˆsˆ�c˜3�Z $¨ °°S¨z¸DÀ$¸<È%ÐQVÈÐXó€Fô �F˜FÓ#€DÜ—‘œ×)Ñ)¬"¯(©(°6Ó*:¸eÑ*CÀVÊAÈqÈDÁ\ÓRÓSÐS€IÜ�D˜)Ô$ò €FÚš²Ð@€FÜ�F˜F¨dÔ3€DÜ�D˜)Ô$ð ˆa�K€FØ
ˆa�K€FÜ�F˜F¨eÔ4€DÜ�D˜-Ô(ò €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‰h˜˜c˜
 S¨# JÐ/Ó0€Gð	Cð ô 
�‰”z¨Ô	3ñ !Ü�˜Ô ÷!ð �Cˆj˜3 ˜* s¨C jÐ1€FØW€IÜ	�‰”z¨Ô	3ñ !Ü�˜Ô ÷!ô
 —W‘WœRŸV™V GªA¨q¨D¡MÓ2Ó3Ð3€MÜ" 6¨7¸A¸q¸6ÔBÐÜÐ'¨Ô7ò €FÚ¢²/ÐB€HÜ�F˜HªYÔ7€DÜ�Dœ2Ÿ6™6 #›;˜,Õ'÷I!ñ !ú÷$!ð !ú÷
!ð !ús$   Ä I!ÆI.Ç I:É!I+É.I7É:Jc                 ó®   — t        j                  ddg| ¬«      }t        j                  ddg| ¬«      }t        ||«      }t        j                  |«      sJ ‚y)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)r@   rž   r   Úisfinite)rL  rX   rW   rÝ  s       rY   Útest_log_loss_epsræ  }
  sJ   € ô �X‰X�q˜!�f EÔ*€FÜ�X‰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«       y# 1 sw Y   yxY w)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)r@   rž   r½   rý   rþ   r   )rL  rX   rW   s      rY   Ú'test_log_loss_not_probabilities_warningrè  ‹
  si   € ô �X‰X’lÓ#€FÜ�X‰X˜˜S�z C¨ :°°S¨z¸CÀ¸:ÐFÈeÔT€Fä	�‰”kÐ)OÔ	Pñ !Ü�˜Ô ÷!÷ !ñ !úrÀ  r/  rË   rœ   c                 óL   — t        | |«      t        j                  d«      k(  sJ ‚y)z6Check that log_loss returns 0 for perfect predictions.r   N)r   r½   r¾   r\  s     rY   Ú!test_log_loss_perfect_predictionsrê  •
  s"   € ô �F˜FÓ#¤v§}¡}°QÓ'7Ò7Ð7Ñ7r[   c                  óH  — 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} |j                  ||f«       |D ]-  \  }} || «       ||«      }}t        ||«      }	t        |	d«       Œ/ y # t        $ r Y Œ>w xY w)	NrÖ  rè   rã   ró   rç   r   )Ú	DataFramerþ  rÙ  )
r@   rž   r)   rü  rì  rþ  rz  ÚImportErrorr   r*   )
Úy_trÚy_prÚtypesrì  rþ  ÚTrueInputTypeÚPredInputTyperX   rW   rÝ  s
             rY   Útest_log_loss_pandas_inputró  £
  s±   € ä�8‰8Ò2Ó3€DÜ�8‰8�c˜3�Z # s ¨c°3¨Z¸#¸s¸ÐDÓE€DÜœ]Ð+Ð,€Eðß,à�‰�f˜iÐ(Ô)ð ).ò )Ñ$ˆ�}á& tÓ,©m¸DÓ.A�ˆÜ˜ Ó'ˆÜ˜˜iÕ(ñ	)øô ò Ùðús   ÁB Â	B!Â B!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 «       t        j                  t        «      5  t        | |dz   «       d d d «       t        j                  t        «      5  t        | |dz
  «       d d d «       t        j                  g d¢«      } t        j                  g d¢«      }d	}t        j                  t        |¬
«      5  t        | |«       d d d «       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«       y # 1 sw Y   �ŒIxY w# 1 sw Y   �Œ%xY w# 1 sw Y   �ŒxY w# 1 sw Y   Œ­xY w)N©r   r;   r;   r   r;   r;   ©rå   r©   re   rè   r¹   gffffffî?r4   r   r¹   r;   )r   r;   r4   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í   )
r@   rž   r   Únormrs   r+   r   r½   rÒ   rÓ   )rX   rW   Ú
true_scorer¾  s       rY   Útest_brier_score_lossrû  µ
  sí  € ä�X‰XÒ(Ó)€FÜ�X‰XÒ5Ó6€FÜ—‘˜V f™_Ó-°Ñ2´S¸³[Ñ@€JäÔ(¨°Ó8¸#Ô>ÜÔ(¨°Ó8¸*ÔEÜÔ(¨¨v©°vÓ>À
ÔKÜÔ(¨¨V©°a©¸Ó@À*ÔMÜ	�‰”zÓ	"ñ -Ü˜ ¨¨ Ô,÷-ä	�‰”zÓ	"ñ /Ü˜ ¨#¡Ô.÷/ä	�‰”zÓ	"ñ /Ü˜ ¨#¡Ô.÷/ô �X‰X’lÓ#€FÜ�X‰XÒ*Ó+€FàWð ô 
�‰”z¨Ô	7ñ )Ü˜ Ô(÷)ô Ô(¨"¨°¨uÓ5°tÔ<ÜÔ(¨!¨¨s¨eÓ4°dÔ;ÜÔ(¨!¨¨s¨eÓ4°dÔ;ÜÔ(¨%¨°3°%À5ÔIÈ4ÔPÜÔ(¨%¨°3°%À5ÔIÈ4ÕP÷--ñ -ú÷/ñ /ú÷/ñ /ú÷)ð )ús0   ÃH'ÄH4Ä2IÆIÈ'H1È4H>ÉIÉIc                  óˆ   — d} t        j                  t        | ¬«      5  t        g d¢g d¢«       d d d «       y # 1 sw Y   y xY w)Nz%y_pred contains classes not in y_truerë   rK  rœ   )r½   rý   rþ   r   rÿ   s    rY   Ú#test_balanced_accuracy_score_unseenrý  Ø
  s4   € Ø
1€CÜ	�‰”k¨Ô	-ñ 6Ü¢	ª9Ô5÷6÷ 6ñ 6ús	   ž8¸Azy_true,y_pred)r‡   rˆ   r‡   rˆ   )r‡   r‡   r‡   rˆ   )r‡   rˆ   r‰   rˆ   c                 óT  — t        | |dt        j                  | «      ¬«      }t        «       5  t	        | |«      }d d d «       t        j                  |«      k(  sJ ‚t	        | |d¬«      }t	        | t        j                  | | d   «      «      }|||z
  d|z
  z  k(  sJ ‚y # 1 sw Y   ŒexY w)NrÆ   rÍ   T)Úadjustedr   r;   )r!   r@   Úuniquer.   r   r½   r¾   Ú	full_like)rX   rW   Úmacro_recallÚbalancedrÿ  Úchances         rY   Útest_balanced_accuracy_scorer  Þ
  s§   € ô  Ø� ´·	±	¸&Ó0Aô€Lô 
Ó	ñ ;ä*¨6°6Ó:ˆ÷;ð ”v—}‘} \Ó2Ò2Ð2Ð2Ü& v¨vÀÔE€HÜ$ V¬R¯\©\¸&À&ÈÁ)Ó-LÓM€FØ˜ 6Ñ)¨a°&©jÑ9Ò9Ð9Ñ9÷;ð ;ús   ­BÂB'r�   rÄ   ))FTr‡  )r   r¹   )ÚzeroÚonec                 ó8  — t         j                  j                  d«      }d|d   }}|j                  ||d¬«      }| t        u r|j                  |¬«      }n|j                  «       } | |||¬«      }t        j                  t        j                  |«      «      rJ ‚y)	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.
    é*   rh  r»   T)r†  Úreplacer…  rí   N)	r@   rD   rE   Úchoicer   Úuniformrè  Úanyr  )r|   rÄ   rS   rP   rî   rX   rW   r€  s           rY   Ú*test_classification_metric_pos_label_typesr  ó
  s‰   € ô* �)‰)×
Ñ
 Ó
#€CØ˜w r™{ˆy€IØ�Z‰Z˜ i¸ˆZÓ>€FØÔ!Ñ!à—‘ )�Ó,‰à—‘“ˆÙ�F˜F¨iÔ8€FÜ�v‰v”b—h‘h˜vÓ&Ô'Ð'Ð'Ð'r[   zy_true, y_pred, expected_scorer   r¹   c                 óP   — t        | |d¬«      t        j                  |«      k(  sJ ‚y)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¾   )rX   rW   rP  s      rY   Ú2test_f1_for_small_binary_inputs_with_zero_divisionr    s$   € ô �F˜F°#Ô6¼&¿-¹-ÈÓ:WÒWÐWÑWr[   Úscoringr~  r4   )r¬   rƒ   c                 ó’   — t        j                  d¬«      \  }}t        dd¬«      j                  ||«      }t	        |||| dd¬«       y)	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:   r4   rÕ  )r  Ún_jobsÚerror_scoreN)r
   Úmake_classificationr(   rI   r%   )r  rN   rO   Ú
classifiers       rY   Ú9test_classification_metric_division_by_zero_nan_validatonr  &  sC   € ô& ×'Ñ'°QÔ7�D€A€qÜ'°!À!ÔD×HÑHÈÈAÓN€JÜ�J  1¨g¸aÈWÖUr[   c                  ó^  — t        j                  g d¢«      } t        j                  g d¢«      }d}t        j                  t        |¬«      5  t        | |¬«       ddd«       d}t        j                  t        |¬«      5  t        | ||¬«       ddd«       y# 1 sw Y   Œ>xY w# 1 sw Y   yxY w)	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)r  Úy_proba)r@   rž   r½   rý   ÚFutureWarningr   rÒ   rÓ   )rX   rW   ra  Ú	error_msgs       rY   Ú)test_brier_score_loss_deprecation_warningr  ?  s™   € ô �X‰XÒ(Ó)€FÜ�X‰XÒ5Ó6€Fà5€HÜ	�‰”m¨8Ô	4ñ 
ÜØØõ	
÷
ð B€IÜ	�‰”z¨Ô	3ñ 
ÜØØØõ	
÷
ð 
÷
ð 
ú÷
ð 
ús   ÁBÁ?B#ÂB Â#B,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 j                  «       |j                  «       z  |d d …df<   |dd  j                  «       |j                  «       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J ‚ 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J ‚ J ‚t        | ||¬«      }d|cxk  rdk  sJ ‚ J ‚t        j                  g d#¢g d$¢g d"¢g d%¢g«      }t        | |«      }|dk  sJ ‚t        | ||¬«      }|dk  sJ ‚y )&Nr]  rÐ  r�   re   rå   rç   ró   gffffffÖ?gÍÌÌÌÌÌä?rÓ  rÔ  r\  F)rX   rW   rJ  r;   )r4   r;   rÂ   r®   rÂ   r;   rÂ   r   )rX   rW   r3  )rX   rW   r3  rJ  r©   rä   r¹   rÎ   r^  )r   r;   r;   r;   )rÑ  rÒ  rÒ  rÒ  )r4   r4   r4   r4   r@  )Úhighr   ÚlowÚneutral)gffffffö?ró   r©   rä   )r©   rå   rå   ré   )rå   rå   r©   )rä   r�   rè   rÚ  rÕ  )r@   rž   r$   r   r½   r¾   rT  )rX   Úy_true_stringrW   Úy_pred_nullÚd2_scoreÚlog_likelihoodÚlog_likelihood_nullÚd2_score_truer3  Úd2_score_stringÚd2_score_with_sample_weights              rY   Útest_d2_log_loss_scorer+  U  s„  € Ú€FÚ;€MÜ�X‰Xà�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJØ�4ˆLØ�4ˆLð	
ó	€Fô —(‘(à�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJð	
ó	€Kô !¨°vÔ>€HÜ V°FÀeÔL€NÜ"¨&¸ÐPUÔVÐØ˜Ð)<Ñ<Ñ<€MØ”v—}‘} ]Ó3Ò3Ð3Ð3ô —H‘HÒ/Ó0€MØ% b qÐ)×-Ñ-Ó/°-×2CÑ2CÓ2EÑE€K’�1�ÑØ% a bÐ)×-Ñ-Ó/°-×2CÑ2CÓ2EÑE€K’�1�ÑÜ Ø˜f°Mô€Hô ØØØ#Øô	€Nô #ØØØ#Øô	Ðð ˜Ð)<Ñ<Ñ<€MØ”v—}‘} ]Ó3Ò3Ð3Ð3ô �X‰Xà�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJð	
ó	€Fô ! ¨Ó0€HØ�Ô˜CÒÐÑÐÐä'¨°vÓ>€OØœfŸm™m¨HÓ5Ò5Ð5Ð5ô �X‰Xà�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJØ�4ˆLØ�#ˆJð	
ó	€Fô ! ¨Ó0€HØ�aŠ<Ðˆ<ä'¨°vÓ>€OØœfŸm™m¨HÓ5Ò5Ð5Ð5ò  €FÜ�X‰Xà�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJð	
ó	€Fô ! ¨Ó0€HØ�qŠ=Ðˆ=Ü'¨°vÓ>€OØ˜aÒÐÐò €FÚ/€MÜ�X‰X˜˜d�| d¨D \°D¸$°<À$ÈÀÐNÓO€FÜ  ¨Ó0€HØ�qŠ=Ðˆ=Ü'¨°vÓ>€OØ˜aÒÐÐÚ €MÜ"3Ø� mô#Ðð '¨!Ò+Ð+Ð+ò 0€FÚ(€Mä�X‰XâÚÚÚð		
ó€Fô ! ¨Ó0€HØ�Ô˜CÒÐÑÐÐÜ  ¨¸}ÔM€HØ�Ô˜CÒÐÑÐÐä�X‰XâÚÚÚð		
ó€Fô ! ¨Ó0€HØ�aŠ<Ðˆ<Ü  ¨¸}Ô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	«       g d
¢} ddgddgddgg}g d¢}d}t        j                  t        |¬«      5  t        | ||¬«       d	d	d	«       g d¢} g d¢g d¢g}d}t        j                  t        |¬«      5  t        | |«       d	d	d	«       dg} ddgg}d}t        j                  t
        |¬«      5  t        | |«       d	d	d	«       g d¢} ddgddgddgg}d}t        j                  t        |¬«      5  t        | |«       d	d	d	«       g d¢} dg}ddgddgddgg}d}t        j                  t        |¬«      5  t        | ||¬«       d	d	d	«       y	# 1 sw Y   �ŒQxY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒåxY w# 1 sw Y   Œ·xY w# 1 sw Y   Œ‚xY w# 1 sw Y   y	xY w)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å   r?  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   )rX   rW   Úerrrp   s       rY   Útest_d2_log_loss_score_raisesr.  ë  sæ  € ò €FØ�Cˆj˜3 ˜* s¨C jÐ1€FØ
/€CÜ	�‰”z¨Ô	-ñ *Ü˜& &Ô)÷*ò
 €FØ�Cˆj˜3 ˜* s¨C jÐ1€FÚ€FØ
4€CÜ	�‰”z¨Ô	-ñ 9Ü˜& &°Õ8÷9ò €FÚšÐ/€FØ
+€CÜ	�‰”z¨Ô	-ñ *Ü˜& &Ô)÷*ð ˆS€FØ�Cˆjˆ\€FØ
%€CÜ	�‰Ô,°CÔ	8ñ *Ü˜& &Ô)÷*ò €FØ�Cˆj˜3 ˜* s¨A hÐ/€FØ
*€CÜ	�‰”z¨Ô	-ñ *Ü˜& &Ô)÷*ò
 €FØˆS€FØ�Cˆj˜3 ˜* s¨A hÐ/€FØ
:€CÜ	�‰”z¨Ô	-ñ 9Ü˜& &°Õ8÷9ð 9÷O*ñ *ú÷9ñ 9ú÷*ð *ú÷*ð *ú÷*ð *ú÷9ð 9úsG   ­F	Á2FÂ2F#Ã,F/Ä-F;Å1GÆ	FÆF Æ#F,Æ/F8Æ;GÇG)NF)°rÂ  r�   Ú	functoolsr   Ú	itertoolsr   r   r   Únumpyr@   r½   Úscipyr   Úscipy.spatial.distancer   r,  Ú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.   Úsklearn.utils.extmathr/   Úsklearn.utils.fixesr0   r1   Úsklearn.utils.validationr2   rZ   r}   r‚   ÚmarkÚparametrizer€   r“   r˜   r¤   r·   ÚfilterwarningsrÀ   rØ   rÞ   rñ   rž   r÷   rù   r   r  r  r+  r=  rC  rQ  rX  r[  rb  rf  rm  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.  r6  r9  rG  rI  rN  rQ  rY  r_  rh  rm  rp  rr  rt  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  r  r  r+  r.  r¿   r[   rY   ú<module>rF     sm  ðÛ 	Û Ý ß 2Ñ 2ã Û Ý Ý 8Ý !ç !Ý ;Ý 5÷÷ ÷ ÷ ÷ õ ÷. NÝ 3ß @Ý /Ý 0÷õ õ .ß >Ý 7ó)(ò`>DòBWð< ‡�×Ñ˜¨6°1°a¸¿¹Ð*@ÓAñó Bðð ‡�×ÑØ   T˜{¨a°¨V°U¨OºiÈÐ=OÐPóñ)óð)ò(7òðD ‡�×ÑÐPÓQñó Rðð$ ‡�×ÑÐPÓQñ*Jó Rð*JðZ ‡�×ÑÐPÓQñMó RðMò,>ð6 ‡�×ÑØò ØˆB�H‰Hâ#Ú#Ú#Ú#ð	óð
	
ò .Ú=ð	
ðóñ(9ó)ð(9ð ‡�×ÑØò ØˆB�H‰Hâ#Ú#Ú#Ú#Ú#ðóð	
ò Úð	
ðóñ*;ó+ð*;ò
ò =ò*	=ò OðF ‡�×Ñ˜¨.Ó9Ø‡�×Ñ˜¨.Ó9ñ%Só :ó :ð%SòPTð< ‡�×ÑØ+òóñ%óð%ò;ò&)ð ‡�×ÑØð
 #˜"Ÿ(™(Ò#5Ó6Ø"˜"Ÿ(™(Ò#5Ó6ñð Að	
ð #˜"Ÿ(™(Ò#5Ó6Ø"˜"Ÿ(™(Ò#5Ó6ñð Ið	
ð #˜"Ÿ(™(Ò#5Ó6Ø"˜"Ÿ(™(Ò#5Ó6ñð :ð	
ð #˜"Ÿ(™(Ò#5Ó6Ø"˜"Ÿ(™(Ò#5Ó6ñð Ið	
ð #˜"Ÿ(™(Ò#5Ó6Ø"˜"Ÿ(™(Ò#5Ó6ñð Oð	
ðE)ó,ñZ*ó[,ðZ*ð ‡�×ÑØð #˜"Ÿ(™(¢?Ó3Ø"˜"Ÿ(™(¢?Ó3ñð
<ð		
ðóñ*óð*ò"ò2ð> ‡�×Ñ˜¨1¨a°·±¨.Ó9Ø‡�×ÑÐ)¨a¨S°1°#¨J¨<Ó8Ø‡�×ÑØàÙ� !Ô$ØØð	óñ'óó 9ó :ð'ð ‡�×ÑÐ)¨a¨S°1°#¨J¨<Ó8Ø‡�×ÑØàÙ� !Ô$ØØð	óñóó 9ðòò$2òN RòF5ðp ‡�×Ñ˜ c¨5 \Ó2ñUó 3ðUòB7(ðt ‡�×Ñ˜Ò$SÓTñ,ó Uð,ò0ò"(ò".ð& ‡�×ÑØà	Ð;Ð<Ø
ˆQˆÐAÐBðð 
Ð'Ð(ð ó ñ8óð8ð ‡�×ÑØˆt�a˜�VšYÐ'Ò-Mð ó ñ%óð%òð6 ‡�×Ñ˜Ò"AÓBñ0ó Cð0ò"%ò4%ò$%ò(%ò6 %òF%ò,%ò.XòIð ‡�×ÑÐPÓQñ%ó Rð%ò<6òBò(%DòPJòZ"òJò.+ð ‡�×ÑÐ8¸6À8Ð:LÓMñ	2ó Nð	2ð ‡�×ÑÐPÓQñ?Uó Rð?UðD ‡�×ÑÐPÓQñ=ó Rð=ð@ ‡�×ÑÐPÓQØ‡�×ÑØ+Ø�&˜& 2§6¡6¨2¯6©6Ð"2Ð3óñ[ó	ó Rð
[ð| ‡�×Ñ˜ ! Ó%Ø‡�×Ñ˜Ò$MÓNØ‡�×Ñ˜¨1¨a°·±¨.Ó9ñ"5ó :ó Oó &ð"5ðJ ‡�×Ñ˜Ò$MÓNñ"ó Oð"ð& ‡�×Ñ˜¨1¨a°·±¨.Ó9ñ Wó :ð WòF3ò8e0ðP ‡�×Ñ˜¨1¨a°·±¨.Ó9ñ: ó :ð: ðz ‡�×Ñ˜¨6°1°a¸¿¹Ð*@ÓAñ$ó Bð$ðN ‡�×Ñ˜¨6°1°a¸¿¹Ð*@ÓAñ$
ó Bð$
ðN ‡�×Ñ˜¨6°1°a¸¿¹Ð*@ÓAñ#(ó Bð#(òL'ò>_òD=ò8òAò6*ò"Nò8Pò4ò@Aò8>(ðB ‡�×Ñ˜ 2§:¢:¨r¯zªz¸2¿:º:Ð"FÓGñ
ó Hð
ð ‡�×Ñ˜ 2§:¢:¨r¯zªz¸2¿:º:Ð"FÓGñ!ó Hð!ð ‡�×ÑØâ	’IÐÚ	�a˜�V˜a ˜V a¨ VÐ,Ð-Ú	’Y¢	ª9Ð5Ð6ðóñ8óð8ò)ò$ QòF6ð ‡�×ÑØâ	Ò3Ð4Ú	Ò3Ð4Ú	Ò3Ð4ðóñ
:óð
:ð ‡�×ÑØàØÙ� #Ô&Ø'ØØØðóð ‡�×ÑØÒCóñ(óóð(ð$ ‡�×ÑØ$à	ˆ�‰�1�a�&Ó	˜8˜2Ÿ8™8 Q¨ FÓ+¨SÐ1Ø	ˆ�‰�1�a�&Ó	˜8˜2Ÿ8™8 Q¨ FÓ+¨SÐ1Ø	ˆ�‰�1�a�&Ó	˜8˜2Ÿ8™8 Q¨ FÓ+¨SÐ1Ø	ˆ�‰�1�a�&Ó	˜8˜2Ÿ8™8 Q¨ FÓ+¨SÐ1ð	óñXóðXð ‡�×ÑØá�H¨B¯F©FÔ3Ù�K a°r·v±vÔ>Ù�O°2·6±6Ô:Ù�L°·±Ô7ð	óñVóðVò 
ò,Sól.9r[   