§
    §éUg®Q  ã                   óæ  — d dl mZ d dlZd dl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 d dlmZmZmZmZmZ d d	lmZ d d
lmZmZmZmZmZ d dlmZ d dl m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&  ej'        d dgdd gg¦  «        Z(d e(dd…d f<    e)eez   ez   ez   ez   ¦  «        e*e+ej,        ej-        e.ej/        ffd„Z0g  e0ej1         2                    d¦  «         3                    dd¬¦  «        ee+f¬¦  «        ¢d dgdd gg‘d dgg‘ e0e(ee+f¬¦  «        ¢ e0d dgdd gg¦  «        ¢ e0d d gd d gg¦  «        ¢ e0d dgg¦  «        ¢ddgddgg‘ ej'        ddgddgg¦  «        ‘ ej'        ddgddgg¦  «        ‘ e ej'        ddgddgg¦  «        ¦  «        ‘g d¢ ej'        g d¢¦  «         ej'        g d¢ej,        ¬¦  «         ej'        g d¢ej-        ¬¦  «         ej'        g d¢e.¬¦  «         ej'        g d¢ej/        ¬¦  «         ej'        dgd gdgg¦  «         e ej'        g d¢¦  «        ¦  «        g d¢g d¢ ej'        g d¢¦  «         ej'        g d¢e4¬¦  «         ej'        g d¢e4¬¦  «        gg d¢g d¢gddgd d!gg ej'        g d¢g d¢g¦  «         ej'        g d¢g d¢gej,        ¬¦  «         ej'        g d¢g d¢gej-        ¬¦  «         ej'        g d¢g d¢ge.¬¦  «         ej'        g d¢g d¢gej/        ¬¦  «        g e0g d¢g d¢geez   e+ej,        ej-        e.ej/        f¬¦  «        ¢ ej'        ddgd d!gg¦  «        ‘ ej'        ddgd d!gg¦  «        ‘ ej'        ddgd d!gge4¬¦  «        ‘ ej'        g d¢g¦  «        ‘ e ej'        g d¢g¦  «        ¦  «        ‘d dgddgg d g ej'        g d"¢¦  «         ej'        g d"¢e*¬¦  «         ej'        g d"¢ej,        ¬¦  «         ej'        g d"¢ej-        ¬¦  «         ej'        g d"¢e.¬¦  «         ej'        g d"¢ej/        ¬¦  «         ej'        d gdgg¦  «         e ej'        d gdgg¦  «        ¦  «        ddgdd#gdgddgd$d%g ej'        d$d%g¦  «        ddg ej'        d$d%ge4¬¦  «        gd&gd d'g ej'        d gd'gg¦  «         ej'        d gd'ggej/        ¬¦  «        g ej'        d d'gd'd gg¦  «         ej'        d d'gd'd ggej/        ¬¦  «         ej'        d d'gg¦  «        g e0d d'gd'd ggeez   e.ej/        f¬¦  «        ¢ e0d d'ggeez   e.ej/        f¬¦  «        ¢g g ej'        g ge4¬¦  «        d(g ej'         ej'        g ¦  «         ej'        g d)¢¦  «        ge4¬¦  «         ej'        g ¦  «         ej'        g d)¢¦  «        gh d*£ddhg e5g d)¢¦  «         e5ddg¦  «        gddd+œd dig ej'        d ¦  «         ej'        g g g¦  «         ej'        d dgddggd,d#gd-d.ggg¦  «        gd/œZ6ej1         2                    d¦  «         3                    dd¬¦  «        d dgdd ggd dgge(d d gd d ggddgddgg ej'        ddgddgg¦  «         ej'        ddgddgg¦  «         e ej'        ddgddgg¦  «        ¦  «        g	g d¢ ej'        g d¢¦  «         ej'        g d¢ej,        ¬¦  «         ej'        g d¢ej-        ¬¦  «         ej'        g d¢e.¬¦  «         ej'        g d¢ej/        ¬¦  «         ej'        dgd gdgg¦  «         e ej'        g d¢¦  «        ¦  «        g d¢g	g d¢g d¢g ej'        g d¢g d¢g¦  «         ej'        g d¢g d¢gej,        ¬¦  «         ej'        g d¢g d¢gej-        ¬¦  «         ej'        g d¢g d¢ge.¬¦  «         ej'        g d¢g d¢gej/        ¬¦  «         ej'        g d¢g¦  «         e ej'        g d¢g¦  «        ¦  «        gd dgddgg d g ej'        g d"¢¦  «         ej'        g d"¢e*¬¦  «         ej'        g d"¢ej,        ¬¦  «         ej'        g d"¢ej-        ¬¦  «         ej'        g d"¢e.¬¦  «         ej'        g d"¢ej/        ¬¦  «         ej'        d gdgg¦  «         e ej'        d gdgg¦  «        ¦  «        ddgdd#ggd&gd d'g ej'        d gd'gg¦  «         ej'        d gd'ggej/        ¬¦  «        g ej'        d d'gd'd gg¦  «         ej'        d d'gd'd ggej/        ¬¦  «         ej'        d d'gg¦  «        gg gd(g ej'        d ¦  «         ej'        d dgddggd,d#gd-d.ggg¦  «        gd/œZ7h d*£ddd+œd#gd#gd+œd$ e5g d)¢¦  «        dgZ8dgdgd dggg d0¢ ej'        g ddggd1¬¦  «         e ej'        g ddggd1¬¦  «        ¦  «        gZ9d2„ Z:d3„ Z;d4„ Z<d5„ Z=ej>         ?                    d6 e¦   «         ¦  «        d7„ ¦   «         Z@d8„ ZAd9„ ZBd:„ ZCd;„ ZDej>         ?                    d<g d=¢¦  «        d>„ ¦   «         ZEej>         ?                    d?e¦  «        d@„ ¦   «         ZFdA„ ZGdB„ ZHej>         ?                    dCdDdEg¦  «        dF„ ¦   «         ZIdS )Gé    )ÚproductN)Úissparse)Úconfig_contextÚdatasets)ÚShuffleSplit)ÚSVC)Ú)yield_namespace_device_dtype_combinations)Ú_array_api_for_testsÚ_convert_containerÚassert_allcloseÚassert_array_almost_equalÚassert_array_equal)Ú_NotAnArray)ÚCOO_CONTAINERSÚCSC_CONTAINERSÚCSR_CONTAINERSÚDOK_CONTAINERSÚLIL_CONTAINERS)Ú_safe_split)Ú_ovr_decision_functionÚcheck_classification_targetsÚclass_distributionÚis_multilabelÚtype_of_targetÚunique_labelsé   c                 ó$   ‡ ‡— ˆ ˆfd„|D ¦   «         S )Nc                 ó4   •— g | ]}‰D ]} |‰|¬ ¦  «        ‘ŒŒS )©Údtype© )Ú.0Úsparse_containerr    ÚdataÚdtypess      €€úb/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/sklearn/utils/tests/test_multiclass.pyú
<listcomp>z$_generate_sparse.<locals>.<listcomp>3   sP   ø€ ð ð ð àØðð ð ð 	Ð˜ UÐ+Ñ+Ô+ðð ð ð ó    r!   )r$   Úsparse_containersr%   s   ` `r&   Ú_generate_sparser*   (   s4   øø€ ðð ð ð ð à 1ðñ ô ð r(   é*   é   )é
   r-   )Úsize)r)   r%   éÿÿÿÿéýÿÿÿé   )
r   r   r,   r,   r   é   r,   r2   r2   r2   ©r   r   r,   r   ©r   r   r,   )ÚaÚbÚc)r   r   r,   r,   )r   r2   r,   r2   r5   r6   r7   Úd)
r   r   r   r   r   r   r   r   r   r   é   ÚabcÚdefgñhãˆµøä>ç      à?r!   )r   r,   r1   >   r   r,   r1   ©r   r   r2   é   é   )úmultilabel-indicatorÚ
multiclassúmulticlass-multioutputÚbinaryÚ
continuousúcontinuous-multioutputÚunknown)r!   r,   r=   Úobjectc            
      ó  — t          j        t          ¦  «        5  t          ¦   «          d d d ¦  «         n# 1 swxY w Y   t	          t          t          d¦  «        ¦  «        t          j        d¦  «        ¦  «         t	          t          t          j        d¦  «        ¦  «        t          j        d¦  «        ¦  «         t	          t          g d¢¦  «        t          j        g d¢¦  «        ¦  «         t	          t          t          j        g d¢g d¢g d¢g¦  «        ¦  «        t          j        d¦  «        ¦  «         t	          t          t          j        g d¢g d¢g¦  «        ¦  «        t          j        d¦  «        ¦  «         t	          t          g d¢t          d¦  «        ¦  «        t          j        d¦  «        ¦  «         t	          t          d	d
d¦  «        t          j        d¦  «        ¦  «         t          j        t          ¦  «        5  t          g d¢t          j	        d¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          t          j	        d¦  «        t          j	        d¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   t	          t          t          j	        d¦  «        t          j	        d¦  «        ¦  «        t          j        d¦  «        ¦  «         d S )Nr-   )r2   r   r,   )r   r,   r2   )r   r   r   )r   r   r   )r   r   r   r1   r9   r4   ©r   )r,   r   )r9   r9   )r9   r2   )r2   r9   )
ÚpytestÚraisesÚ
ValueErrorr   r   ÚrangeÚnpÚarangeÚarrayÚonesr!   r(   r&   Útest_unique_labelsrR     sÿ  € å	Œ•zÑ	"Ô	"ð ð Ý‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ •}¥U¨2¡Y¤YÑ/Ô/µ´¸2±´Ñ?Ô?Ð?Ý•}¥R¤Y¨r¡]¤]Ñ3Ô3µR´Y¸r±]´]ÑCÔCÐCÝ•} Y Y YÑ/Ô/µ´¸)¸)¸)Ñ1DÔ1DÑEÔEÐEõ Ý•b”h 	 	 	¨9¨9¨9°i°i°iÐ@ÑAÔAÑBÔBÅBÄIÈaÁLÄLñô ð õ •}¥R¤X¨y¨y¨y¸)¸)¸)Ð.DÑ%EÔ%EÑFÔFÍÌ	ÐRSÉÌÑUÔUÐUõ •} Y Y Yµ°a±´Ñ9Ô9½2¼9ÀQ¹<¼<ÑHÔHÐHÝ•} Y°°fÑ=Ô=½r¼yÈ¹|¼|ÑLÔLÐLõ 
Œ•zÑ	"Ô	"ð 2ð 2Ý�i�i�i¥¤¨¡¤Ñ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2å	Œ•zÑ	"Ô	"ð 8ð 8Ý•b”g˜f‘o”o¥r¤w¨v¡¤Ñ7Ô7Ð7ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8õ •}¥R¤W¨V¡_¤_µb´g¸f±o´oÑFÔFÍÌ	ÐRSÉÌÑUÔUÐUÐUÐUs0   š5µ9¼9È
%H;È;H?ÉH?É5J Ê J$Ê'J$c                  óŒ  — dD ]!} t           |          D ]}t          |¦  «         ŒŒ"t          D ]B}t          j        t
          ¦  «        5  t          |¦  «         d d d ¦  «         n# 1 swxY w Y   ŒCdD ]R}t           |         D ]B}t          j        t
          ¦  «        5  t          |¦  «         d d d ¦  «         n# 1 swxY w Y   ŒCŒSd S )N)rC   rA   r@   )rF   rD   rE   rB   )ÚEXAMPLESr   ÚNON_ARRAY_LIKE_EXAMPLESrJ   rK   rL   )ÚformatÚyÚexampleÚy_types       r&   Útest_unique_labels_non_specificrZ   &  sm  € ð Cð ð ˆÝ˜&Ô!ð 	ð 	ˆAÝ˜!ÑÔÐÐð	õ +ð #ð #ˆÝŒ]�:Ñ&Ô&ð 	#ð 	#Ý˜'Ñ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#øðð 'ð 'ˆõ   Ô'ð 	'ð 	'ˆGÝ”�zÑ*Ô*ð 'ð 'Ý˜gÑ&Ô&Ð&ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'øð	'ð'ð 's$   ÁA#Á#A'	Á*A'	ÂB7Â7B;Â>B;c                  ó®  — t          t          d         t          d         t          d         z   ¦  «        } | D ]‡\  }}t          j        t          ¦  «        5  t          ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          ||¦  «         d d d ¦  «         n# 1 swxY w Y   Œˆt          j        t          ¦  «        5  t          ddggddgg¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          ddg¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          ddgdd	gg¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          dd
gdd	gg¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr@   rA   rC   r   r,   r5   r8   Ú1r1   Ú2)r   rT   rJ   rK   rL   r   )Úmix_clf_formatÚy_multilabelÚy_multiclasss      r&   Útest_unique_labels_mixed_typesra   >  s;  € åÝÐ'Ô(­(°<Ô*@Å8ÈHÔCUÑ*Uñô €Nð '5ð 6ð 6Ñ"ˆ�lÝŒ]�:Ñ&Ô&ð 	6ð 	6Ý˜,¨Ñ5Ô5Ð5ð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6åŒ]�:Ñ&Ô&ð 	6ð 	6Ý˜,¨Ñ5Ô5Ð5ð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6øõ 
Œ•zÑ	"Ô	"ð .ð .Ý˜˜1�v�h # s  Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .õ 
Œ•zÑ	"Ô	"ð  ð  Ý�s˜A�hÑÔÐð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  õ 
Œ•zÑ	"Ô	"ð *ð *Ý˜˜Q�x ! Q Ð(Ñ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *õ 
Œ•zÑ	"Ô	"ð ,ð ,Ý˜˜S�z A q 6Ð*Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ,ð ,sl   ÁA2Á2A6	Á9A6	ÂB3Â3B7	Â:B7	ÃC;Ã;C?ÄC?ÄD=Ä=EÅEÅ!FÆFÆ
FÆ'G
Ç
GÇGc                  óÆ  ‡— t                                ¦   «         D �]D\  } }| dk    }|D �]4Š|ot          ‰¦  «        }t          ‰¦  «        spt          ‰d¦  «        r»t	          j        ‰¦  «        j        dk    ržt	          j        ‰¦  «        j        j        dv r~t	          j        ‰¦  «        j	        d         dk    r[ˆfd„t          t          z   t          z   t          z   t          z   D ¦   «         }|D ]%}|t          |¦  «        k    sJ d|›d	|› �¦   «         ‚Œ&t          ‰¦  «        r‰                     ¦   «         Š|t          ‰¦  «        k    sJ d‰›d	|› �¦   «         ‚�Œ6�ŒFd S )
Nr@   Ú	__array__r,   Úbiufr   r   c                 ó&   •— g | ]} |‰¦  «        ‘ŒS r!   r!   )r"   r#   rX   s     €r&   r'   z&test_is_multilabel.<locals>.<listcomp>f  s4   ø€ ð 	#ð 	#ð 	#à(ð %Ð$ WÑ-Ô-ð	#ð 	#ð 	#r(   úis_multilabel(ú) should be )rT   Úitemsr   ÚhasattrrN   ÚasarrayÚndimr    ÚkindÚshaper   r   r   r   r   r   Útoarray)ÚgroupÚgroup_examplesÚ	dense_expÚ
sparse_expÚexamples_sparseÚexmpl_sparserX   s         @r&   Útest_is_multilabelru   W  së  ø€ Ý!)§¢Ñ!1Ô!1ð #Cñ #CÑˆˆ~ØÐ3Ò3ˆ	à%ð  	Cñ  	CˆGð #Ð8¥x°Ñ'8Ô'8ˆJå˜Ñ Ô ð QÝ˜ Ñ-Ô-ðQå”J˜wÑ'Ô'Ô,°Ò1Ð1Ý”J˜wÑ'Ô'Ô-Ô2°fÐ<Ð<Ý”J˜wÑ'Ô'Ô-¨aÔ0°1Ò4Ð4ð	#ð 	#ð 	#ð 	#õ 'Ý(ñ)å(ñ)õ )ñ)õ )ñ	)ð	#ñ 	#ô 	#�ð %4ð Qð Q�LØ%­Ø$ñ*ô *ò ð ð àP¨ÐPÐPÀJÐPÐPñô ð ð õ
 ˜Ñ Ô ð ,Ø!Ÿ/š/Ñ+Ô+�à¥Øñ!ô !ò ð ð àB ÐBÐB°yÐBÐBñô ð ñ ñ= 	Cð#Cð #Cr(   z#array_namespace, device, dtype_namec                 óÚ  — t          | |¦  «        }t                               ¦   «         D ]À\  }}|dk    }|D ]²}t          j        |¦  «        j        j        dk    rt          j        ||¬¦  «        }nt          j        |¦  «        }|                     ||¬¦  «        }t          d¬¦  «        5  |t          |¦  «        k    sJ d|›d|› �¦   «         ‚	 d d d ¦  «         n# 1 swxY w Y   Œ³ŒÁd S )	Nr@   Úfr   )ÚdeviceT)Úarray_api_dispatchrf   rg   )	r
   ÚARRAY_API_EXAMPLESrh   rN   rj   r    rl   r   r   )Úarray_namespacerx   Ú
dtype_nameÚxpro   rp   rq   rX   s           r&   Ú'test_is_multilabel_array_api_compliancer~   ~  sx  € õ
 
˜o¨vÑ	6Ô	6€Bå!3×!9Ò!9Ñ!;Ô!;ð Gð GÑˆˆ~ØÐ3Ò3ˆ	Ø%ð 
	Gð 
	GˆGÝŒz˜'Ñ"Ô"Ô(Ô-°Ò4Ð4Ýœ* W°JÐ?Ñ?Ô?��åœ* WÑ-Ô-�Ø—j’j °�jÑ8Ô8ˆGå°4Ð8Ñ8Ô8ð Gð GØ ¥MØñ%ô %ò ð ð àF GÐFÐF¸9ÐFÐFñô ð ð ðGð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gøð
	GðGð Gs   Â-$CÃC"Ã%C"c                  ó.  — t                                ¦   «         D ]z} | dv rUt           |          D ]F}d}t          j        t          |¬¦  «        5  t          |¦  «         d d d ¦  «         n# 1 swxY w Y   ŒGŒ[t           |          D ]}t          |¦  «         ŒŒ{d S )N)rF   rD   rE   zUnknown label type: ©Úmatch)rT   ÚkeysrJ   rK   rL   r   )rY   rX   Úmsgs      r&   Ú!test_check_classification_targetsr„   ”  sò   € Ý—-’-‘/”/ð 6ð 6ˆØÐHÐHÐHÝ# FÔ+ð :ð :�Ø,�Ý”]¥:°SÐ9Ñ9Ô9ð :ð :Ý0°Ñ9Ô9Ð9ð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :øð:õ
 $ FÔ+ð 6ð 6�Ý,¨WÑ5Ô5Ð5Ð5ð6ð6ð 6s   ÁA(Á(A,Á/A,c                  óì  — t                                ¦   «         D ]=\  } }|D ]5}t          |¦  «        | k    s J d|›d| ›dt          |¦  «        ›�¦   «         ‚Œ6Œ>t          D ]F}d}t	          j        t          |¬¦  «        5  t          |¦  «         d d d ¦  «         n# 1 swxY w Y   ŒGt          D ]F}d}t	          j        t          |¬¦  «        5  t          |¦  «         d d d ¦  «         n# 1 swxY w Y   ŒGd S )Nztype_of_target(rg   z, got z6Expected array-like \(array or non-string sequence\).*r€   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.)rT   rh   r   rU   rJ   rK   rL   ÚMULTILABEL_SEQUENCES)ro   rp   rX   Ú	msg_regexrƒ   s        r&   Útest_type_of_targetrˆ   ¡  s«  € Ý!)§¢Ñ!1Ô!1ð ð Ñˆˆ~Ø%ð 	ð 	ˆGå˜wÑ'Ô'¨5Ò0Ð0Ð0Ð0à��Ø��Ý˜wÑ'Ô'Ð'ðñ 1Ô0Ð0Ð0ð	õ +ð $ð $ˆØMˆ	ÝŒ]�:¨YÐ7Ñ7Ô7ð 	$ð 	$Ý˜7Ñ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$øõ (ð $ð $ˆð<ð 	õ
 Œ]�:¨SÐ1Ñ1Ô1ð 	$ð 	$Ý˜7Ñ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$øð$ð $s$   Á>BÂB	Â!B	ÃC(Ã(C,	Ã/C,	c                  ó2  — t          j        d¦  «        } | j                             dt          j        t          j        dt          j        g¦  «        }d}t          j        t          |¬¦  «        5  t          |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚpandasr   z1y cannot be class 'SparseSeries' or 'SparseArray'r€   )	rJ   ÚimportorskipÚarraysÚSparseArrayrN   ÚnanrK   rL   r   )ÚpdrW   rƒ   s      r&   Ú!test_type_of_target_pandas_sparser�   »  sÄ   € Ý	Ô	˜XÑ	&Ô	&€Bà
Œ	×Ò˜q¥"¤&­"¬&°!µR´VÐ<Ñ=Ô=€AØ
=€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ý�qÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á/BÂBÂBc                  ó  — t          j        d¦  «        } dD ]^}|                      g d¢|¬¦  «        }t          |¦  «        dk    sJ ‚|                      g d¢|¬¦  «        }t          |¦  «        dk    sJ ‚Œ_|                      dd	gd	dggd
¬¦  «        }t          |¦  «        dk    sJ ‚|                      ddgddggd¬¦  «        }t          |¦  «        dk    sJ ‚|                      ddgddggd¬¦  «        }t          |¦  «        dk    sJ ‚dS )z<Check that type_of_target works with pandas nullable dtypes.rŠ   )ÚInt32ÚFloat32)r   r   r,   r1   r2   r   rA   )r   r   r   r   rC   gffffffö?gÍÌÌÌÌÌ@r“   rE   r   r   r’   r@   r,   r1   rB   N)rJ   r‹   ÚSeriesr   Ú	DataFrame)r�   r    Úy_trues      r&   Ú#test_type_of_target_pandas_nullabler—   Ä  sB  € å	Ô	˜XÑ	&Ô	&€Bà%ð 2ð 2ˆØ—’˜?˜?˜?°%�Ñ8Ô8ˆÝ˜fÑ%Ô%¨Ò5Ð5Ð5Ð5à—’˜<˜<˜<¨u�Ñ5Ô5ˆÝ˜fÑ%Ô%¨Ò1Ð1Ð1Ð1Ð1à�\Š\˜C ˜:¨¨S zÐ2¸)ˆ\ÑDÔD€FÝ˜&Ñ!Ô!Ð%=Ò=Ð=Ð=Ð=à�\Š\˜A˜q˜6 A q 6Ð*°'ˆ\Ñ:Ô:€FÝ˜&Ñ!Ô!Ð%;Ò;Ð;Ð;Ð;à�\Š\˜A˜q˜6 A q 6Ð*°'ˆ\Ñ:Ô:€FÝ˜&Ñ!Ô!Ð%=Ò=Ð=Ð=Ð=Ð=Ð=r(   r    )ÚInt64ÚFloat64Úbooleanc                 óÖ   — t          j        d¦  «        }|                     g d¢| ¬¦  «        }|                     g d¢d¬¦  «        }t          ||¦  «        }t	          |ddg¦  «         dS )	zgChecks that unique_labels work with pandas nullable dtypes.

    Non-regression test for gh-25634.
    rŠ   )	r   r   r   r   r   r   r   r   r   r   )	r   r   r   r   r   r   r   r   r   Úint64r   r   N)rJ   r‹   r”   r   r   )r    r�   r–   Úy_predictedÚlabelss        r&   Ú"test_unique_labels_pandas_nullablerŸ   Ù  su   € õ 
Ô	˜XÑ	&Ô	&€Bà�YŠYÐ2Ð2Ð2¸%ˆYÑ@Ô@€FØ—)’)Ð7Ð7Ð7¸w�)ÑGÔG€Kå˜6 ;Ñ/Ô/€FÝ�v  1˜vÑ&Ô&Ð&Ð&Ð&r(   Úcsc_containerc           	      óþ  — t          j        g d¢g d¢g d¢g d¢g d¢g d¢g¦  «        }t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          j        g d¢¦  «        } | |||fd	¬
¦  «        }t          |¦  «        \  }}}t          |¦  «        \  }	}
}g d¢g d¢dgdgg}g d¢}g d¢g d¢dgdgg}t          |j        d         ¦  «        D ]ª}t          ||         ||         ¦  «         t          ||         ||         ¦  «         t          ||         ||         ¦  «         t          |	|         ||         ¦  «         t          |
|         ||         ¦  «         t          ||         ||         ¦  «         Œ«t          |g d¢¦  «        \  }}}t          |g d¢¦  «        \  }	}
}g d¢g d¢dgdgg}t          |j        d         ¦  «        D ]ª}t          ||         ||         ¦  «         t          ||         ||         ¦  «         t          ||         ||         ¦  «         t          |	|         ||         ¦  «         t          |
|         ||         ¦  «         t          ||         ||         ¦  «         Œ«d S )N)r   r   r   r   )r,   r,   r   r   )r   r1   r   r   )r2   r,   r   r   )r,   r   r   r   )r   r,   r   r2   r,   r   r   r,   r1   r,   r1   r   r   r   r   r   r   )r   r   r,   r1   r2   r9   r   r   r,   r1   r9   r   r   r,   r1   r2   r9   )r   r>   é   r¢   é   )r>   r2   )rm   )r   r,   r2   )r   r,   r1   r   r   )r1   r1   r   r   )r<   çUUUUUUÕ?gUUUUUUÅ?)r¤   r¤   r¤   ç      ð?)r¥   ç       @r¥   r¦   r¥   r¦   )çÇqÇqÜ?r¤   çÇqÇqÌ?)r¨   r§   r¤   )rN   rP   r   rM   rm   r   )r    rW   r$   ÚindicesÚindptrÚy_spÚclassesÚ	n_classesÚclass_priorÚ
classes_spÚn_classes_spÚclass_prior_spÚclasses_expectedÚn_classes_expectedÚclass_prior_expectedÚks                   r&   Útest_class_distributionr¶   è  s  € å
ŒàˆLˆLØˆLˆLØˆLˆLØˆLˆLØˆLˆLØˆLˆLð	
ñ		ô 		€Aõ Œ8ÐGÐGÐGÑHÔH€DÝŒhÐJÐJÐJÑKÔK€GÝŒXÐ(Ð(Ð(Ñ)Ô)€FØˆ=˜$ ¨Ð0¸Ð?Ñ?Ô?€Då&8¸Ñ&;Ô&;Ñ#€GˆY˜Ý/AÀ$Ñ/GÔ/GÑ,€J�˜nØ!˜	˜	 9 9 9¨q¨c°A°3Ð7ÐØ%˜˜ÐØ1Ð1Ð1Ð3HÐ3HÐ3HÈ3È%ÐRUÐQVÐWÐå�1”7˜1”:ÑÔð Nð NˆÝ! '¨!¤*Ð.>¸qÔ.AÑBÔBÐBÝ! )¨A¤,Ð0BÀ1Ô0EÑFÔFÐFÝ! +¨a¤.Ð2FÀqÔ2IÑJÔJÐJå! *¨Q¤-Ð1AÀ!Ô1DÑEÔEÐEÝ! ,¨q¤/Ð3EÀaÔ3HÑIÔIÐIÝ! .°Ô"3Ð5IÈ!Ô5LÑMÔMÐMÐMõ );Ø	Ð)Ð)Ð)ñ)ô )Ñ%€Wˆi˜õ 2DØ	Ð)Ð)Ð)ñ2ô 2Ñ.€Z�˜~ð 2Ð1Ð1Ð3HÐ3HÐ3HÈ3È%ÐRUÐQVÐWÐå�1”7˜1”:ÑÔð Nð NˆÝ! '¨!¤*Ð.>¸qÔ.AÑBÔBÐBÝ! )¨A¤,Ð0BÀ1Ô0EÑFÔFÐFÝ! +¨a¤.Ð2FÀqÔ2IÑJÔJÐJå! *¨Q¤-Ð1AÀ!Ô1DÑEÔEÐEÝ! ,¨q¤/Ð3EÀaÔ3HÑIÔIÐIÝ! .°Ô"3Ð5IÈ!Ô5LÑMÔMÐMÐMðNð Nr(   c                  ó¼  — t          ¦   «         } t          d¬¦  «        }t          j        ¦   «         }|j        |j        }}t          j        ||j        ¦  «        }t          dd¬¦  «        }t          | 
                    |¦  «        ¦  «        d         \  }}t          | |||¦  «        \  }	}
t          ||||¦  «        \  }}t          |t          j        |	|	j        ¦  «        ¦  «         t          |
|¦  «         t          | ||||¦  «        \  }}t          |||||¦  «        \  }}t          |t          j        ||	j        ¦  «        ¦  «         t          ||¦  «         d S )NÚprecomputed)Úkernelg      Ð?r   )Ú	test_sizeÚrandom_state)r   r   Ú	load_irisr$   ÚtargetrN   ÚdotÚTr   ÚlistÚsplitr   r   )ÚclfÚclfpÚirisÚXrW   ÚKÚcvÚtrainÚtestÚX_trainÚy_trainÚK_trainÚy_train2ÚX_testÚy_testÚK_testÚy_test2s                    r&   Ú'test_safe_split_with_precomputed_kernelrÒ     s=  € Ý
‰%Œ%€CÝ�mÐ$Ñ$Ô$€DåÔÑÔ€DØŒ9�d”k€q€AÝ
Œˆq�!”#‰Œ€Aå	 °1Ð	5Ñ	5Ô	5€BÝ�r—x’x ‘{”{Ñ#Ô# AÔ&�K€Eˆ4å" 3¨¨1¨eÑ4Ô4Ñ€GˆWÝ# D¨!¨Q°Ñ6Ô6Ñ€GˆXÝ˜g¥r¤v¨g°w´yÑ'AÔ'AÑBÔBÐBÝ˜g xÑ0Ô0Ð0å   a¨¨D°%Ñ8Ô8�N€FˆFÝ! $¨¨1¨d°EÑ:Ô:�O€FˆGÝ˜f¥b¤f¨V°W´YÑ&?Ô&?Ñ@Ô@Ð@Ý˜f gÑ.Ô.Ð.Ð.Ð.r(   c                  ó  ‡‡‡— t          j        g d¢g d¢g d¢g d¢g¦  «        Št          j        g d¢g d¢g d¢g d¢g¦  «        ŠdŠt          ‰‰‰¦  «        } t          j        g d¢g d	¢g d¢g d¢g¦  «        }t          || d
¬¦  «         t          j        g d¢¦  «        }t	          t          j        | d¬¦  «        |¦  «         | d         | d         k    sJ ‚ˆˆˆfd„t          d¦  «        D ¦   «         }t          | |d¬¦  «         d S )N)r   r   r   )r   r   r   )ç €à7yÃAÃr   rÔ   )r¥   r¦   g      À)g      Àr¦   g      @)g      à¿gš™™™™™É?r<   r1   r3   )r   r   r   r<   )Úatol)r,   r   r,   r,   r   )Úaxis)r,   r,   )r1   r,   c           	      ó¢   •— g | ]K}t          t          j        ‰|         g¦  «        t          j        ‰|         g¦  «        ‰¦  «        d          ‘ŒLS rI   )r   rN   rP   )r"   ÚiÚconfidencesr­   Úpredictionss     €€€r&   r'   z.test_ovr_decision_function.<locals>.<listcomp>O  sf   ø€ ð ð ð ð õ 	ÝŒH�k !”nÐ%Ñ&Ô&­¬°+¸a´.Ð1AÑ(BÔ(BÀIñ	
ô 	
à
ô	ðð ð r(   r2   g�íµ ÷Æ°>)rN   rP   r   r   r   ÚargmaxrM   )Ú
dec_valuesÚvotesÚexpected_predictionÚdec_values_onerÙ   r­   rÚ   s       @@@r&   Útest_ovr_decision_functionrà   2  sh  øøø€ õ ”(˜I˜I˜I y y y°)°)°)¸Y¸Y¸YÐGÑHÔH€Kå”(Ø	Ð	Ð	Ð,Ð,Ð,Ð.>Ð.>Ð.>Ð@PÐ@PÐ@PÐQñô €Kð €Iå'¨°[À)ÑLÔL€Jõ ŒH�i�i�i   ¨I¨I¨I°y°y°yÐAÑBÔB€Eå�E˜:¨CÐ0Ñ0Ô0Ð0õ
 œ( < < <Ñ0Ô0ÐÝ•r”y °!Ð4Ñ4Ô4Ð6IÑJÔJÐJð �dÔ˜j¨Ô.Ò.Ð.Ð.Ð.ðð ð ð ð ð õ �q‘”ð	ñ ô €Nõ �J °TÐ:Ñ:Ô:Ð:Ð:Ð:r(   Ú
input_typerÀ   rP   c                 ó´   — t          ddg| ¦  «        }d}t          j        t          |¬¦  «        5  t	          |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nó   aó   bz‡Support for labels represented as bytes is deprecated in v1.5 and will error in v1.7. Convert the labels to a string or integer format.r€   )r   rJ   ÚwarnsÚFutureWarningr   )rá   r½   Úerr_msgs      r&   Útest_labels_in_bytes_formatrè   Z  s«   € õ
    t ¨jÑ9Ô9€Fð	Lð õ 
Œ•m¨7Ð	3Ñ	3Ô	3ð ð Ý�vÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   °AÁAÁA)JÚ	itertoolsr   ÚnumpyrN   rJ   Úscipy.sparser   Úsklearnr   r   Úsklearn.model_selectionr   Úsklearn.svmr   Úsklearn.utils._array_apir	   Úsklearn.utils._testingr
   r   r   r   r   Úsklearn.utils.estimator_checksr   Úsklearn.utils.fixesr   r   r   r   r   Úsklearn.utils.metaestimatorsr   Úsklearn.utils.multiclassr   r   r   r   r   r   rP   Úmultilabel_explicit_zeroÚtupleÚboolÚintÚint8Úuint8ÚfloatÚfloat32r*   ÚrandomÚRandomStateÚrandintrG   Ú	frozensetrT   rz   rU   r†   rR   rZ   ra   ru   ÚmarkÚparametrizer~   r„   rˆ   r�   r—   rŸ   r¶   rÒ   rà   rè   r!   r(   r&   ú<module>r     s½  ðØ Ð Ð Ð Ð Ð à Ð Ð Ð Ø €€€Ø !Ð !Ð !Ð !Ð !Ð !à ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø Ð Ð Ð Ð Ð Ø NÐ NÐ NÐ NÐ NÐ Nðð ð ð ð ð ð ð ð ð ð ð ð ð ð 7Ð 6Ð 6Ð 6Ð 6Ð 6ðð ð ð ð ð ð ð ð ð ð ð ð ð ð 5Ð 4Ð 4Ð 4Ð 4Ð 4ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð $˜2œ8 a¨ V¨a°¨VÐ$4Ñ5Ô5Ð Ø!"Ð ˜˜˜˜A˜Ñ ð
 �eØØ
ñ	à
ñ	ð ñ	ð ñ		ñô ð �#�r”w ¤¨%°´Ð<ðð ð ð ð&ð 
Ð	ØŒI×!Ò! "Ñ%Ô%×-Ò-¨a°hÐ-Ñ?Ô?Ø,Ø�6ð

ñ 

ô 

ðð ˆQˆ�!�Q�Ððð ˆQˆˆðð 
Ð	Ø$¸ÐPSÈvð

ñ 

ô 

ðð 
Ð	˜A˜q˜6 A q 6Ð*Ñ	+Ô	+ðð 
Ð	˜A˜q˜6 A q 6Ð*Ñ	+Ô	+ðð 
Ð	˜A˜q˜6˜(Ñ	#Ô	#ðð" ˆaˆ�1�b�'Ðð#ð$ 	ˆŒ�2�q�'˜A˜r˜7Ð#Ñ$Ô$ð%ð& 	ˆŒ�2�q�'˜A˜r˜7Ð#Ñ$Ô$ð'ð( 	ˆ�H�B”H˜r 1˜g¨¨2 wÐ/Ñ0Ô0Ñ1Ô1ð)ð. 	'Ð&Ð&ØˆŒ���ÑÔØˆŒ��� "¤'Ð*Ñ*Ô*ØˆŒ��� "¤(Ð+Ñ+Ô+ØˆŒ��� %Ð(Ñ(Ô(ØˆŒ��� "¤*Ð-Ñ-Ô-ØˆŒ�1�#˜�s˜Q˜C�Ñ!Ô!Øˆ�H�B”H˜Y˜Y˜YÑ'Ô'Ñ(Ô(Øˆ	ˆ	ØˆˆØˆŒ���Ñ!Ô!ØˆŒ���¨Ð/Ñ/Ô/ØˆŒ���¨Ð/Ñ/Ô/ðð  
ˆˆ�|�|�|Ð$Ø
ˆsˆ�c˜3�ZÐ ØˆŒ�,�,�,   Ð-Ñ.Ô.ØˆŒ�,�,�,   Ð-°R´WÐ=Ñ=Ô=ØˆŒ�,�,�,   Ð-°R´XÐ>Ñ>Ô>ØˆŒ�,�,�,   Ð-°UÐ;Ñ;Ô;ØˆŒ�,�,�,   Ð-°R´ZÐ@Ñ@Ô@ðð 
Ð	Øˆ\ˆ\˜<˜<˜<Ð(Ø,¨~Ñ=Ø˜œ "¤(¨E°2´:Ð>ð

ñ 

ô 

ðð 	ˆŒ�3˜�*˜s C˜jÐ)Ñ*Ô*ðð 	ˆŒ�3˜�*˜s C˜jÐ)Ñ*Ô*ðð 	ˆŒ�3˜�*˜s C˜jÐ)°Ð8Ñ8Ô8ðð  	ˆŒ�)�)�)�ÑÔð!ð" 	ˆ�H�B”H˜i˜i˜i˜[Ñ)Ô)Ñ*Ô*ð#ð( 
ˆAˆØ	
ˆAˆØ
Ø	
ˆØˆŒÐ/Ð/Ð/Ñ0Ô0ØˆŒÐ/Ð/Ð/°tÐ<Ñ<Ô<ØˆŒÐ/Ð/Ð/°r´wÐ?Ñ?Ô?ØˆŒÐ/Ð/Ð/°r´xÐ@Ñ@Ô@ØˆŒÐ/Ð/Ð/°uÐ=Ñ=Ô=ØˆŒÐ/Ð/Ð/°r´zÐBÑBÔBØˆŒ�1�#˜�s�ÑÔØˆ�H�B”H˜q˜c A 3˜ZÑ(Ô(Ñ)Ô)Ø	
ˆBˆØ	
ˆAˆØ	ˆØ	ˆcˆ
Ø	�ˆØˆŒ�%˜�Ñ Ô Ø	ˆcˆ
ØˆŒ�%˜� vÐ.Ñ.Ô.ð)ð. 
ˆØ	
ˆCˆØˆŒ�1�#˜�u�ÑÔØˆŒ�1�#˜�u� R¤ZÐ0Ñ0Ô0ð	ð 	ˆŒ�1�c�(˜S !˜HÐ%Ñ&Ô&ØˆŒ�1�c�(˜S !˜HÐ%¨R¬ZÐ8Ñ8Ô8ØˆŒ�1�c�(�ÑÔðð 
Ð	Ø�ˆX˜˜Q�xÐ Ø,¨~Ñ=Ø˜2œ:Ð&ð

ñ 

ô 

ð	ð 
Ð	Ø�ˆXˆJØ,¨~Ñ=Ø˜2œ:Ð&ð

ñ 

ô 

ðð  
ˆØˆŒ�"�˜VÐ$Ñ$Ô$Ø	ˆàˆŒ�(�"”(˜2‘,”,  ¤¨¨¨Ñ 3Ô 3Ð4¸FÐCÑCÔCØ	ˆŒ�"‰Œ�x�r”x 	 	 	Ñ*Ô*Ð+Ø	ˆˆ�Q˜�FÐØ	ˆ�9�9�9Ñ	Ô	˜y˜y¨!¨Q¨Ñ0Ô0Ð1à�SÐ	Ð	˜A˜s˜8Ð$àˆŒ�‰ŒàˆŒ�"�b�ÑÔàˆŒ�A�q�6˜A˜q˜6Ð" a¨ V¨a°¨VÐ$4Ð5Ñ6Ô6ð!ðIvð v€ðt 	Œ	×Ò˜bÑ!Ô!×)Ò)¨!°(Ð)Ñ;Ô;Ø
ˆQˆ�!�Q�ÐØ
ˆQˆˆØ Ø
ˆQˆ�!�Q�ÐØ
ˆaˆ�1�b�'ÐØˆŒ�2�q�'˜A˜r˜7Ð#Ñ$Ô$ØˆŒ�2�q�'˜A˜r˜7Ð#Ñ$Ô$Øˆ�H�B”H˜r 1˜g¨¨2 wÐ/Ñ0Ô0Ñ1Ô1ð
ð 	'Ð&Ð&ØˆŒ���ÑÔØˆŒ��� "¤'Ð*Ñ*Ô*ØˆŒ��� "¤(Ð+Ñ+Ô+ØˆŒ��� %Ð(Ñ(Ô(ØˆŒ��� "¤*Ð-Ñ-Ô-ØˆŒ�1�#˜�s˜Q˜C�Ñ!Ô!Øˆ�H�B”H˜Y˜Y˜YÑ'Ô'Ñ(Ô(Øˆ	ˆ	ð
ð 
ˆˆ�|�|�|Ð$ØˆŒ�,�,�,   Ð-Ñ.Ô.ØˆŒ�,�,�,   Ð-°R´WÐ=Ñ=Ô=ØˆŒ�,�,�,   Ð-°R´XÐ>Ñ>Ô>ØˆŒ�,�,�,   Ð-°UÐ;Ñ;Ô;ØˆŒ�,�,�,   Ð-°R´ZÐ@Ñ@Ô@ØˆŒ�)�)�)�ÑÔØˆ�H�B”H˜i˜i˜i˜[Ñ)Ô)Ñ*Ô*ð	ð 
ˆAˆØ	
ˆAˆØ
Ø	
ˆØˆŒÐ/Ð/Ð/Ñ0Ô0ØˆŒÐ/Ð/Ð/°tÐ<Ñ<Ô<ØˆŒÐ/Ð/Ð/°r´wÐ?Ñ?Ô?ØˆŒÐ/Ð/Ð/°r´xÐ@Ñ@Ô@ØˆŒÐ/Ð/Ð/°uÐ=Ñ=Ô=ØˆŒÐ/Ð/Ð/°r´zÐBÑBÔBØˆŒ�1�#˜�s�ÑÔØˆ�H�B”H˜q˜c A 3˜ZÑ(Ô(Ñ)Ô)Ø	
ˆBˆØ	
ˆAˆðð" 
ˆØ	
ˆCˆØˆŒ�1�#˜�u�ÑÔØˆŒ�1�#˜�u� R¤ZÐ0Ñ0Ô0ð	ð 	ˆŒ�1�c�(˜S !˜HÐ%Ñ&Ô&ØˆŒ�1�c�(˜S !˜HÐ%¨R¬ZÐ8Ñ8Ô8ØˆŒ�1�c�(�ÑÔðð 
ˆØ	ˆØˆŒ�‰ŒØˆŒ�A�q�6˜A˜q˜6Ð" a¨ V¨a°¨VÐ$4Ð5Ñ6Ô6ð	ðyBð BÐ ðL €I€IØ�ÐÐØ	
ˆ��ÐÐØ	Ø€IˆiˆiˆiÑÔØðÐ ð €Sˆ1ˆ#��1ˆvÐØÐÐØ€B„Hˆb�1�a�&ˆ\ Ð*Ñ*Ô*Ø€K��”˜"˜q !˜f˜¨XÐ6Ñ6Ô6Ñ7Ô7ð	Ð ðVð Vð Vð<'ð 'ð 'ð0,ð ,ð ,ð2$Cð $Cð $CðN „×ÒØ)Ø-Ð-Ñ/Ô/ñô ðGð Gñ	ô ðGð$	6ð 	6ð 	6ð$ð $ð $ð4ð ð ð>ð >ð >ð* „×Ò˜Ð"AÐ"AÐ"AÑBÔBð'ð 'ñ CÔBð'ð „×Ò˜¨.Ñ9Ô9ð0Nð 0Nñ :Ô9ð0Nðf/ð /ð /ð,$;ð $;ð $;ðP „×Ò˜¨°Ð'8Ñ9Ô9ð
ð 
ñ :Ô9ð
ð 
ð 
r(   