Ë
    ÷Q(hÖc  ã            
       óP  — 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	m
Z
mZmZmZmZ d dlmZmZmZ d dlmZ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  ej@                  «       Z!d
„ Z"d„ Z#d„ Z$d„ Z%ejL                  jO                  dg d¢«      ejL                  jO                  dddg«      d„ «       «       Z(d„ Z)ejL                  jO                  de«      d„ «       Z*ejL                  jO                  d ejV                  g d¢d¬«       ejV                  g d¢d¬«       ejV                  dgd¬«      f ejV                  g d¢e,¬«       ejV                  g d¢e,¬«       ejV                  dge,¬«      f ejV                  g d¢«       ejV                  g d¢«       ejV                  dg«      fgg d ¢¬!«      d"„ «       Z-d#„ Z.ejL                  jO                  dd$d%g«      d&„ «       Z/d'„ Z0ejL                  jO                  d( ejV                  g d¢d¬«       ejV                  g d¢e,¬«       ejV                  g d¢«      gg d ¢¬!«      d)„ «       Z1d*„ Z2ejL                  jO                  de«      d+„ «       Z3d,„ Z4d-„ Z5d.„ Z6d/„ Z7d0„ Z8d1„ Z9d2„ Z:d3„ Z;d4„ Z<d5„ Z=d6„ Z>d7„ Z?d8„ Z@ejL                  jO                  d9ejV                  gez   ez   ez   ez   ez   «      d:„ «       ZAd;„ ZBejL                  jO                  de«      d<„ «       ZCd=„ ZDejL                  jO                  d> e
«        e	«        e«       g«      d?„ «       ZEejL                  jO                  d@ e«       «      ejL                  jO                  dA ejV                  g d¢«       ejV                  g dB¢«       ejV                  g dC¢«      g«      dD„ «       «       ZFy)Eé    N)Úissparse)Úconfig_contextÚdatasets)ÚLabelBinarizerÚLabelEncoderÚMultiLabelBinarizerÚ_inverse_binarize_multiclassÚ_inverse_binarize_thresholdingÚlabel_binarize)Ú_convert_to_numpyÚget_namespaceÚ)yield_namespace_device_dtype_combinations)Ú_array_api_for_testsÚassert_array_equal)ÚCOO_CONTAINERSÚCSC_CONTAINERSÚCSR_CONTAINERSÚDOK_CONTAINERSÚLIL_CONTAINERS)Útype_of_target)Ú_to_object_arrayc                 ó>   — t        | d«      r| j                  «       } | S )NÚtoarray)Úhasattrr   ©Úas    úd/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sklearn/preprocessing/tests/test_label.pyr   r   $   s   € Üˆq�)ÔØ�I‰I‹KˆØ€Hó    c                  óD  — g d¢} t        d¬«      }t        j                  g d¢g«      j                  }|j	                  | «      }t        |j                  dg«       t        ||«       t        |j                  |«      | «       t        d¬«      }|j	                  | «      }t        |«      sJ ‚t        |j                  dg«       t        ||j                  «       «       t        |j                  |j                  «       «      | «       t        d¬«      }g d¢} t        j                  g d¢g«      j                  }|j	                  | «      }t        |j                  d	dg«       t        ||«       t        j                  d
dgdd
gdd
gd
dgg«      }t        |j                  |«      | «       g d¢} t        j                  g d¢g d¢g d¢g d¢g d¢g«      }|j	                  | «      }t        |j                  g d¢«       t        ||«       t        |j                  |«      | «       y )N)Úposr    r    r    F©Úsparse_output©r   r   r   r   r    T)Únegr    r    r$   ©r   é   r&   r   r$   r&   r   )ÚspamÚhamÚeggsr(   Ú0©r   r   r   r&   ©r   r   r&   r   ©r   r&   r   r   ©r&   r   r   r   )r*   r)   r(   r'   )
r   ÚnpÚarrayÚTÚfit_transformr   Úclasses_Úinverse_transformr   r   )ÚinpÚlbÚexpectedÚgotÚ	to_inverts        r   Útest_label_binarizerr:   *   s»  € ò '€CÜ	 eÔ	,€BÜ�x‰xš˜Ó'×)Ñ)€HØ
×
Ñ
˜3Ó
€CÜ�r—{‘{ U GÔ,Ü�x Ô%Ü�r×+Ñ+¨CÓ0°#Ô6ô 
 dÔ	+€BØ
×
Ñ
˜3Ó
€CÜ�CŒ=Ðˆ=Ü�r—{‘{ U GÔ,Ü�x §¡£Ô/Ü�r×+Ñ+¨C¯K©K«MÓ:¸CÔ@ä	 eÔ	,€Bâ
&€CÜ�x‰xš˜Ó'×)Ñ)€HØ
×
Ñ
˜3Ó
€CÜ�r—{‘{ U¨E NÔ3Ü�x Ô%ä—‘˜1˜a˜& 1 a &¨1¨a¨&°1°a°&Ð9Ó:€IÜ�r×+Ñ+¨IÓ6¸Ô<ò .€CÜ�x‰xÚ	’|¢\²<ÂÐNó€Hð ×
Ñ
˜3Ó
€CÜ�r—{‘{Ò$@ÔAÜ�x Ô%Ü�r×+Ñ+¨CÓ0°#Õ6r   c            	      ó  — t        «       } t        j                  g d¢g d¢g d¢g«      }| j                  g d¢«      }t	        ||«       t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g«      }| j                  g d¢«      }t	        ||«       y )N©r&   r   r   ©r   r&   r   ©r   r   r&   )ÚbÚdÚe©r   r   r   )r   r?   Úcr@   rA   Úf)r   r/   r0   r2   r   Ú	transform)r6   r7   r8   s      r   Ú"test_label_binarizer_unseen_labelsrF   S   sr   € Ü	Ó	€Bä�x‰xš¢IªyÐ9Ó:€HØ
×
Ñ
š?Ó
+€CÜ�x Ô%ä�x‰xÚ	’Išyª)²YÂ	ÐJó€Hð �,‰,Ò5Ó
6€CÜ�x Õ%r   c                  ó   — t        dd¬«      } t        j                  g d¢«      }t        j                  g d¢g«      j                  }| j	                  |«      }t        ||«       t        | j                  |«      |«       t        dd¬«      } t        j                  g d¢«      }t        j                  g d¢g d	¢g d
¢g d	¢g d¢g«      }| j	                  |«      }t        ||«       t        | j                  |«      |«       y )Néþÿÿÿr   ©Ú	neg_labelÚ	pos_labelr%   )rH   r   r   rH   é   )é   rL   r&   rL   r   )rH   rH   rH   rL   )rH   rH   rL   rH   )rH   rL   rH   rH   )rL   rH   rH   rH   )r   r/   r0   r1   r2   r   r4   )r6   r5   r7   r8   s       r   Ú'test_label_binarizer_set_label_encodingrN   a   sÓ   € Ü	 "°Ô	2€Bô �(‰(’<Ó
 €CÜ�x‰xšÐ(Ó)×+Ñ+€HØ
×
Ñ
˜3Ó
€CÜ�x Ô%Ü�r×+Ñ+¨CÓ0°#Ô6ä	 "°Ô	2€Bô �(‰(’?Ó
#€CÜ�x‰xâÚÚÚÚð	
ó€Hð ×
Ñ
˜3Ó
€CÜ�x Ô%Ü�r×+Ñ+¨CÓ0°#Õ6r   Údtype)ÚInt64ÚFloat64ÚbooleanÚunique_firstTFc                 óô   — t        j                  d«      }|j                  g d¢| ¬«      }|r|j                  «       }t	        «       j                  |«      }|j                  ddg«      }t        |dgdgg«       y)ziChecks that LabelBinarizer works with pandas nullable dtypes.

    Non-regression test for gh-25637.
    Úpandas)	r&   r   r   r&   r   r&   r&   r   r&   ©rO   r&   r   N)ÚpytestÚimportorskipÚSeriesÚuniquer   ÚfitrE   r   )rO   rS   ÚpdÚy_truer6   Úy_outs         r   Ú$test_label_binarizer_pandas_nullabler_   }   sn   € ô 
×	Ñ	˜XÓ	&€Bà�Y‰YÒ2¸%ˆYÓ@€FÙð —‘“ˆÜ	Ó	×	Ñ	˜fÓ	%€BØ�L‰L˜!˜Q˜Ó €Eä�u ˜s Q C˜jÕ)r   c                  óè  — t        j                  g d¢«      } t        «       j                  | «      }g d¢}d}t	        j
                  t        |¬«      5  |j                  |«       d d d «       t        «       }d}t	        j
                  t        |¬«      5  |j                  g «       d d d «       t	        j
                  t        |¬«      5  |j                  g «       d d d «       g d¢}d}t        dd	¬
«      }t	        j
                  t        |¬«      5  |j                  |«       d d d «       d}t        dd¬
«      }t	        j
                  t        |¬«      5  |j                  |«       d d d «       d}t        d	dd¬«      }t	        j
                  t        |¬«      5  |j                  |«       d d d «       g d	dgdgg d¢dgg}d}t	        j
                  t        |¬«      5  t        «       j                  |«       d d d «       d}t	        j
                  t        |¬«      5  t        t        j                  g d¢g d¢g«      dg d¢d¬«       d d d «       d}t	        j
                  t        |¬«      5  t        «       j                  t        j                  d	dgdd	gg«      «       d d d «       t	        j
                  t        |¬«      5  t        t        j                  d	dgdd	gg«      g d¢¬«       d d d «       y # 1 sw Y   �Œ’xY w# 1 sw Y   �Œ^xY w# 1 sw Y   �Œ6x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   �ŒMxY w# 1 sw Y   �Œ
xY w# 1 sw Y   Œ¾xY w# 1 sw Y   y xY w)Nr#   )©rL   rM   )r   )r   rL   z@You appear to be using a legacy multi-label data representation.©Úmatchz.This LabelBinarizer instance is not fitted yet)r   r&   r   r&   z3neg_label=2 must be strictly less than pos_label=1.rL   r&   rI   z3neg_label=2 must be strictly less than pos_label=2.zqSparse binarization is only supported with non zero pos_label and zero neg_label, got pos_label=2 and neg_label=1T©rJ   rK   r"   rM   )r   r&   rM   z?You appear to be using a legacy multi-label data representationz!output_type='binary', but y.shape©r&   rL   rM   )rL   r&   rM   Úbinaryr   ©ÚyÚoutput_typeÚclassesÚ	thresholdz@Multioutput target data is not supported with label binarization©rj   )r/   r0   r   r[   rW   ÚraisesÚ
ValueErrorrE   r4   r2   r
   r   )Ú	one_classr6   Úmulti_labelÚerr_msgÚinput_labelsÚy_seq_of_seqss         r   Útest_label_binarizer_errorsrt   ‘   sÚ  € ä—‘šÓ&€IÜ	Ó	×	Ñ	˜iÓ	(€Bâ(€KØP€GÜ	�‰”z¨Ô	1ñ "Ø
�‰�[Ô!÷"ô 
Ó	€BØ>€GÜ	�‰”z¨Ô	1ñ Ø
�‰�RÔ÷ä	�‰”z¨Ô	1ñ !Ø
×Ñ˜RÔ ÷!ò  €LØC€GÜ	 !¨qÔ	1€BÜ	�‰”z¨Ô	1ñ Ø
�‰ˆ|Ô÷àC€GÜ	 !¨qÔ	1€BÜ	�‰”z¨Ô	1ñ Ø
�‰ˆ|Ô÷ð	5ð ô 
 !¨qÀÔ	E€BÜ	�‰”z¨Ô	1ñ Ø
�‰ˆ|Ô÷ð ˜!˜Q˜ ! ¢i°!°Ð5€MØO€GÜ	�‰”z¨Ô	1ñ 6ÜÓ×&Ñ& }Ô5÷6ð 2€GÜ	�‰”z¨Ô	1ñ 
Ü&Ü�h‰hš	¢9Ð-Ó.Ø ÚØõ		
÷
ð Q€GÜ	�‰”z¨Ô	1ñ 9ÜÓ×ÑœRŸX™X¨¨1 v°°1¨vÐ&6Ó7Ô8÷9ä	�‰”z¨Ô	1ñ FÜ”r—x‘x ! Q ¨!¨Q¨Ð 0Ó1º9ÕE÷Fð F÷_"ñ "ú÷
ñ ú÷!ñ !ú÷ñ ú÷ñ ú÷ñ ú÷6ñ 6ú÷

ñ 
ú÷9ð 9ú÷Fð Fúsx   ÁK4ÂLÃLÄLÅL(ÆL5ÇMÈ+MÉ,3MË)M(Ë4K>ÌLÌLÌL%Ì(L2Ì5L?ÍMÍMÍM%Í(M1Úcsr_containerc                 ó@  — d}t        j                  t        |¬«      5  t         | ddgddgg«      dddgd¬«       d d d «       d}t        j                  t        |¬«      5  t         | ddgddgg«      dg d	¢d¬«       d d d «       y # 1 sw Y   ŒMxY w# 1 sw Y   y xY w)
Nzfoo format is not supportedrb   r&   rL   Úfoor   rg   zAThe number of class is not equal to the number of dimension of y.re   )rW   rm   rn   r
   )ru   rq   s     r   Ú"test_label_binarizer_sparse_errorsrx   Ë   s¬   € ð ,€GÜ	�‰”z¨Ô	1ñ 
Ü&Ù˜a ˜V a¨ VÐ,Ó-ØØ˜�FØõ		
÷
ð R€GÜ	�‰”z¨Ô	1ñ 
Ü&Ù˜a ˜V a¨ VÐ,Ó-ØÚØõ		
÷
ð 
÷
ð 
ú÷
ð 
ús   žBÁ!BÂBÂBzvalues, classes, unknown)rL   r&   rM   r&   rM   Úint64rV   re   é   )r?   r   rC   r   rC   ©r   r?   rC   r@   )ry   ÚobjectÚstr)Úidsc                 ó®  — t        «       }|j                  | «       t        |j                  |«       t        |j	                  | «      g d¢«       t        |j                  g d¢«      | «       t        «       }|j                  | «      }t        |g d¢«       t        j                  t        d¬«      5  |j	                  |«       d d d «       y # 1 sw Y   y xY w)N)r&   r   rL   r   rL   zunseen labelsrb   )
r   r[   r   r3   rE   r4   r2   rW   rm   rn   )Úvaluesrj   ÚunknownÚleÚrets        r   Útest_label_encoderr„   â   sœ   € ô0 
‹€BØ‡F�Fˆ6„NÜ�r—{‘{ GÔ,Ü�r—|‘| FÓ+ª_Ô=Ü�r×+Ñ+ªOÓ<¸fÔEÜ	‹€BØ
×
Ñ
˜6Ó
"€CÜ�sšOÔ,ä	�‰”z¨Ô	9ñ Ø
�‰�WÔ÷÷ ñ ús   Â0CÃCc                  ól  — t        «       } | j                  g d¢«       t        | j                  g d¢«       t        | j	                  g d¢«      g d¢«       t        | j                  g d¢«      g d¢«       t        j                  t        «      5  | j	                  ddg«       d d d «       y # 1 sw Y   y xY w)N©r&   r&   rz   é   éÿÿÿÿr   )rˆ   r   r&   rz   r‡   )r   r&   rz   rz   r‡   rˆ   rˆ   )r&   rL   rM   rM   rz   r   r   r   é   )	r   r[   r   r3   rE   r4   rW   rm   rn   )r‚   s    r   Ú test_label_encoder_negative_intsrŠ     s‡   € Ü	‹€BØ‡F�FÒÔÜ�r—{‘{Ò$4Ô5Ü�r—|‘|Ò$;Ó<Ò>SÔTÜØ
×ÑÒ2Ó3Ò5Lôô 
�‰”zÓ	"ñ Ø
�‰�a˜�VÔ÷÷ ñ ús   ÂB*Â*B3r}   r|   c                 óî   — t        «       }|j                  t        j                  ddg| ¬«      «       d}t	        j
                  t        |¬«      5  |j                  d«       d d d «       y # 1 sw Y   y xY w)NÚappleÚorangerV   zshould be a 1d arrayrb   )r   r[   r/   r0   rW   rm   rn   rE   )rO   r‚   Úmsgs      r   Ú test_label_encoder_str_bad_shaper�     sY   € ä	‹€BØ‡F�FŒ2�8‰8�W˜hÐ'¨uÔ5Ô6Ø
 €CÜ	�‰”z¨Ô	-ñ Ø
�‰�WÔ÷÷ ñ ús   ÁA+Á+A4c                  óä  — t        «       } t        j                  t        «      5  | j	                  g «       d d d «       t        j                  t        «      5  | j                  g «       d d d «       t        «       } | j                  g d¢«       d}t        j                  t        |¬«      5  | j                  dg«       d d d «       t        j                  t        |¬«      5  | j                  g d¢«       d d d «       d}t        j                  t        |¬«      5  | j                  d«       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   ŒfxY w# 1 sw Y   y xY w)N)r&   rL   rM   rˆ   r&   z!contains previously unseen labelsrb   rH   )rH   éýÿÿÿéüÿÿÿz should be a 1d array.+shape \(\)Ú )r   rW   rm   rn   rE   r4   r[   )r‚   rŽ   s     r   Útest_label_encoder_errorsr”     s!  € ä	‹€BÜ	�‰”zÓ	"ñ Ø
�‰�RÔ÷ä	�‰”zÓ	"ñ !Ø
×Ñ˜RÔ ÷!ô 
‹€BØ‡F�FÒÔØ
-€CÜ	�‰”z¨Ô	-ñ #Ø
×Ñ˜b˜TÔ"÷#ä	�‰”z¨Ô	-ñ +Ø
×Ñš\Ô*÷+ð .€CÜ	�‰”z¨Ô	-ñ !Ø
×Ñ˜RÔ ÷!ð !÷!ñ ú÷!ð !ú÷#ð #ú÷+ð +ú÷
!ð !ús;   ¤D5ÁEÂ+EÃ!EÄE&Ä5D?ÅEÅEÅE#Å&E/r€   c                 óú   — t        «       }|j                  | «       |j                  g «      }t        t	        j
                  g «      |«       |j                  g «      }t        t	        j
                  g «      |«       y )N)r   r[   rE   r   r/   r0   r4   )r€   r‚   ÚtransformedÚinverse_transformeds       r   Útest_label_encoder_empty_arrayr˜   3  sZ   € ô 
‹€BØ‡F�Fˆ6„Nà—,‘,˜rÓ"€KÜ”r—x‘x “| [Ô1à×.Ñ.¨rÓ2ÐÜ”r—x‘x “|Ð%8Õ9r   c                  ód  — d„ d„ d„ g} t        j                  g d¢g d¢g d¢g«      } | d   «       }dD �]z  }| D �]q  }t        |¬	«      }|j                   |«       «      }t	        |«      |k(  sJ ‚|r?|j
                  j                  |j                  j                  k(  sJ ‚|j                  «       }t        ||«       t        g d
¢|j                  «       |j                  |«      |k(  sJ ‚t        |¬	«      }|j                   |«       «      j                   |«       «      }t	        |«      |k(  sJ ‚|r?|j
                  j                  |j                  j                  k(  sJ ‚|j                  «       }t        ||«       t        g d
¢|j                  «       |j                  |«      |k(  r�ŒrJ ‚ �Œ} y )Nc                  ó
   — g d¢S ©N©ra   ©r&   )r&   rL   © rž   r   r   ú<lambda>z9test_sparse_output_multilabel_binarizer.<locals>.<lambda>J  ó   € Ò&€ r   c                  ó   — ddhdhddhfS ©NrL   rM   r&   rž   rž   r   r   rŸ   z9test_sparse_output_multilabel_binarizer.<locals>.<lambda>K  ó   € �!�Q�˜!˜˜q !˜fÐ%€ r   c                  óF   — t        t        d«      t        d«      ddhg«      S ©Nra   r�   r&   rL   ©Úiterrž   r   r   rŸ   z9test_sparse_output_multilabel_binarizer.<locals>.<lambda>L  ó   € ””d˜6“l¤D¨£J°°A°Ð7Ó8€ r   ©r   r&   r&   r<   ©r&   r&   r   r   ©TFr!   re   )r/   r0   r   r2   r   ÚindicesrO   Úindptrr   r   r3   r4   r[   rE   )ÚinputsÚindicator_matÚinverser"   r5   Úmlbr8   s          r   Ú'test_sparse_output_multilabel_binarizerr²   G  s€  € ñ 	'Ù%Ù8ð€Fô
 —H‘Hšiª²IÐ>Ó?€Màˆf�Q‰i‹k€GØ&ó 9ˆØó 	9ˆCä%°MÔBˆCØ×#Ñ#¡C£EÓ*ˆCÜ˜C“= MÒ1Ð1Ð1Ùà—{‘{×(Ñ(¨C¯J©J×,<Ñ,<Ò<Ð<Ð<Ø—k‘k“m�Ü˜}¨cÔ2Üšy¨#¯,©,Ô7Ø×(Ñ(¨Ó-°Ò8Ð8Ð8ô &°MÔBˆCØ—'‘'™#›%“.×*Ñ*©3«5Ó1ˆCÜ˜C“= MÒ1Ð1Ð1Ùà—{‘{×(Ñ(¨C¯J©J×,<Ñ,<Ò<Ð<Ð<Ø—k‘k“m�Ü˜}¨cÔ2Üšy¨#¯,©,Ô7Ø×(Ñ(¨Ó-°Ô8Ð8Ð8ò/	9ñ9r   c                 óD  — t        t        d«      t        d«      ddhg«      }t        d¬«      }|j                  |«       t        j                  t
        «      5  |j                   | t        j                  g d¢g d¢g d	¢g«      «      «       d d d «       y # 1 sw Y   y xY w)
Nra   r�   r&   rL   Fr!   r©   )rL   r   r   rª   )	r§   r   r[   rW   rm   rn   r4   r/   r0   )ru   r5   r±   s      r   Ú.test_sparse_output_multilabel_binarizer_errorsr´   l  s{   € ä
”�V“œd 4›j¨1¨a¨&Ð1Ó
2€CÜ
¨EÔ
2€CØ‡G�GˆC„LÜ	�‰”zÓ	"ñ 
Ø×ÑÙœ"Ÿ(™(¢Iªyº)Ð#DÓEÓFô	
÷
÷ 
ñ 
ús   Á4BÂBc                  ó  — d„ d„ d„ g} t        j                  g d¢g d¢g d¢g«      } | d   «       }| D ]Ê  }t        «       }|j                   |«       «      }t	        ||«       t	        g d¢|j
                  «       |j                  |«      |k(  sJ ‚t        «       }|j                   |«       «      j                   |«       «      }t	        ||«       t	        g d¢|j
                  «       |j                  |«      |k(  rŒÊJ ‚ y )	Nc                  ó
   — g d¢S r›   rž   rž   r   r   rŸ   z+test_multilabel_binarizer.<locals>.<lambda>z  r    r   c                  ó   — ddhdhddhfS r¢   rž   rž   r   r   rŸ   z+test_multilabel_binarizer.<locals>.<lambda>{  r£   r   c                  óF   — t        t        d«      t        d«      ddhg«      S r¥   r¦   rž   r   r   rŸ   z+test_multilabel_binarizer.<locals>.<lambda>|  r¨   r   r©   r<   rª   r   re   )	r/   r0   r   r2   r   r3   r4   r[   rE   )r®   r¯   r°   r5   r±   r8   s         r   Útest_multilabel_binarizerr¹   w  sé   € ñ 	'Ù%Ù8ð€Fô
 —H‘Hšiª²IÐ>Ó?€MØˆf�Q‰i‹k€GØò 5ˆä!Ó#ˆØ×Ñ¡£Ó&ˆÜ˜=¨#Ô.Üš9 c§l¡lÔ3Ø×$Ñ$ SÓ)¨WÒ4Ð4Ð4ô "Ó#ˆØ�g‰g‘c“e‹n×&Ñ&¡s£uÓ-ˆÜ˜=¨#Ô.Üš9 c§l¡lÔ3Ø×$Ñ$ SÓ)¨WÓ4Ð4Ð4ñ5r   c                  óš   — t        «       } ddgdgg g}t        j                  ddgddgddgg«      }t        | j	                  |«      |«       y )Nr&   rL   r   )r   r/   r0   r   r2   )r±   rh   ÚYs      r   Ú&test_multilabel_binarizer_empty_sampler¼   �  sR   € Ü
Ó
€CØ
ˆQˆ�!��bÐ€AÜ
�‰�1�a�&˜1˜a˜& 1 a &Ð)Ó*€AÜ�s×(Ñ(¨Ó+¨QÕ/r   c                  ó  — t        «       } ddgg}t        j                  ddgddgg«      }d}t        j                  t
        |¬«      5  | j                  |«      j                  ddgddgg«      }d d d «       t        j                  g d¢g d¢g«      }t        g d	¢¬
«      } t        j                  t
        |¬«      5  | j                  |«      j                  ddgddgg«      }d d d «       t        |«       y # 1 sw Y   Œ‰xY w# 1 sw Y   Œ"xY w)Nr&   rL   r   zunknown class.* will be ignoredrb   rz   r<   r=   re   rl   )	r   r/   r0   rW   ÚwarnsÚUserWarningr[   rE   r   )r±   rh   r»   Úwarning_messageÚmatrixs        r   Ú'test_multilabel_binarizer_unknown_classrÂ   —  sî   € Ü
Ó
€CØ
ˆQˆˆ€AÜ
�‰�1�a�&˜1˜a˜&Ð!Ó"€AØ7€OÜ	�‰”k¨Ô	9ñ 8Ø—‘˜“×%Ñ%¨¨1 v°°1¨vÐ&6Ó7ˆ÷8ô 	�‰’)šYÐ'Ó(€AÜ
¢iÔ
0€CÜ	�‰”k¨Ô	9ñ 8Ø—‘˜“×%Ñ%¨¨1 v°°1¨vÐ&6Ó7ˆ÷8ä�v˜qÕ!÷8ð 8ú÷
8ð 8ús   Á'C7Â;'DÃ7D ÄDc                  óJ  — g d¢} t        j                  g d¢g d¢g d¢g«      }t        g d¢¬«      }t        |j	                  | «      |«       t        |j
                  g d¢«       t        g d¢¬«      }t        |j                  | «      j                  | «      |«       t        |j
                  g d¢«       t        g d¢¬«      }t        |j	                  | «      t        j                  dgdgdgg|f«      «       t        |j
                  g d¢«       t        | «      } t        g d¢¬«      }t        |j                  | «      j                  | «      |«       d	}t        g d
¢¬«      }t        j                  t        |¬«      5  |j                  | «       d d d «       y # 1 sw Y   y xY w)Nrœ   r©   r<   ©r&   r   r&   ©r&   rM   rL   rl   )rz   r&   rM   rL   r   ztThe classes argument contains duplicate classes. Remove these duplicates before passing them to MultiLabelBinarizer.)r&   rM   rL   rM   rb   )r/   r0   r   r   r2   r3   r[   rE   Úhstackr§   rW   rm   rn   )r5   r¯   r±   rq   s       r   Ú'test_multilabel_binarizer_given_classesrÇ   ¦  sE  € Ú
 €CÜ—H‘Hšiª²IÐ>Ó?€Mä
¢iÔ
0€CÜ�s×(Ñ(¨Ó-¨}Ô=Ü�s—|‘|¢YÔ/ô ¢iÔ
0€CÜ�s—w‘w˜s“|×-Ñ-¨cÓ2°MÔBÜ�s—|‘|¢YÔ/ô ¢lÔ
3€CÜØ×Ñ˜#Ó¤§	¡	¨Q¨C°!°°q°c¨?¸MÐ*JÓ Kôô �s—|‘|¢\Ô2ô ˆs‹)€CÜ
¢iÔ
0€CÜ�s—w‘w˜s“|×-Ñ-¨cÓ2°MÔBð	Gð ô ¢lÔ
3€CÜ	�‰”z¨Ô	1ñ Ø�‰�Œ÷÷ ñ ús   Å>FÆF"c                  ó  — g d¢} t        j                  g d¢g d¢g d¢g«      }t        j                  g d¢g d¢g d¢g«      }t        g d¢¬«      }t        |j	                  | «      |«       g d¢|_        t        |j	                  | «      |«       y )	Nrœ   r©   r<   rÄ   rª   rÅ   rl   re   )r/   r0   r   r   r2   rj   )r5   r¯   Úindicator_mat2r±   s       r   Ú(test_multilabel_binarizer_multiple_callsrÊ   É  sn   € Ú
 €CÜ—H‘Hšiª²IÐ>Ó?€Mä—X‘Xšyª)²YÐ?Ó@€Nô ¢iÔ
0€CÜ�s×(Ñ(¨Ó-¨}Ô=â€C„KÜ�s×(Ñ(¨Ó-¨~Õ>r   c                  ón  — dgdgdgg} t        j                  g d¢g d¢g d¢g«      }t        «       }t        |j	                  | «      |«       t        |j                  |«      | «       t        «       }t        |j                  | «      j                  | «      |«       t        |j                  |«      | «       y )Nr&   r   rL   r=   r<   r>   )r/   r0   r   r   r2   r4   r[   rE   ©r5   r¯   r±   s      r   Ú.test_multilabel_binarizer_same_length_sequencerÍ   ×  s–   € àˆ3���a�Sˆ/€CÜ—H‘Hšiª²IÐ>Ó?€Mä
Ó
€CÜ�s×(Ñ(¨Ó-¨}Ô=Ü�s×,Ñ,¨]Ó;¸SÔAô Ó
€CÜ�s—w‘w˜s“|×-Ñ-¨cÓ2°MÔBÜ�s×,Ñ,¨]Ó;¸SÕAr   c                  óR  — t        g d¢«      } g d¢g d¢fg d¢g d¢fg d¢| fg}t        j                  g d¢g d¢g d	¢g«      }|D �]  \  }}t        «       }t        j                  |t        ¬
«      }t        |j                  |«      |«       t        |j                  |«       t        j                  |j                  |«      t        ¬
«      }t        ||«       t        «       }t        |j                  |«      j                  |«      |«       t        |j                  |«       t        j                  |j                  |«      t        ¬
«      }t        ||«       �Œ t        «       }t        j                  t        «      5  |j                  i i ddifg«       d d d «       y # 1 sw Y   y xY w)N)r�   ©rL   ©rM   ))Ú2Ú3)Ú1)rÓ   rÑ   )rÓ   rÑ   rÒ   ))r?   rC   r   )r   r?   r{   ))rÏ   rÐ   )r�   )r�   rÏ   r©   r<   rª   rV   r   r?   )r   r/   r0   r   r|   r   r2   r3   r4   r[   rE   rW   rm   Ú	TypeError)Útuple_classesr®   r¯   r5   rj   r±   Úindicator_mat_invs          r   Ú,test_multilabel_binarizer_non_integer_labelsr×   æ  s]  € Ü$Ò%7Ó8€Mâ	)ª?Ð;Ú	)ª?Ð;Ú	.°Ð>ð€Fô
 —H‘Hšiª²IÐ>Ó?€MØó 3‰ˆˆWä!Ó#ˆÜ�h‰h�s¤&Ô)ˆÜ˜3×,Ñ,¨SÓ1°=ÔAÜ˜3Ÿ<™<¨Ô1ÜŸH™H S×%:Ñ%:¸=Ó%IÔQWÔXÐÜÐ,¨cÔ2ô "Ó#ˆÜ˜3Ÿ7™7 3›<×1Ñ1°#Ó6¸ÔFÜ˜3Ÿ<™<¨Ô1ÜŸH™H S×%:Ñ%:¸=Ó%IÔQWÔXÐÜÐ,¨cÖ2ð3ô  Ó
€CÜ	�‰”yÓ	!ñ 4Ø×Ñ˜B " s¨C jÐ!1Ð2Ô3÷4÷ 4ñ 4ús   Å<FÆF&c                  ó„   — dg} t        j                  ddgg«      }t        «       }t        |j	                  | «      |«       y )N©r&   r&   r&   r   r&   )r/   r0   r   r   r2   rÌ   s      r   Ú$test_multilabel_binarizer_non_uniquerÚ     s:   € Øˆ.€CÜ—H‘H˜q !˜f˜XÓ&€MÜ
Ó
€CÜ�s×(Ñ(¨Ó-¨}Õ=r   c                  ó(  — dg} t        «       }|j                  | «       t        j                  t        «      5  |j                  t        j                  ddgg«      «       d d d «       |j                  t        j                  ddgg«      «       |j                  t        j                  ddgg«      «       |j                  t        j                  ddgg«      «       t        j                  t        «      5  |j                  t        j                  dgg«      «       d d d «       t        j                  t        «      5  |j                  t        j                  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   y xY w)NrÙ   r&   rM   r   ©r&   r&   r&   )r   r2   rW   rm   rn   r4   r/   r0   )r5   r±   s     r   Ú,test_multilabel_binarizer_inverse_validationrÝ   
  s2  € Øˆ.€CÜ
Ó
€CØ×Ñ�cÔä	�‰”zÓ	"ñ 2Ø×ÑœbŸh™h¨¨A¨ xÓ0Ô1÷2ð ×Ñœ"Ÿ(™( Q¨ F 8Ó,Ô-Ø×Ñœ"Ÿ(™( Q¨ F 8Ó,Ô-Ø×Ñœ"Ÿ(™( Q¨ F 8Ó,Ô-ô 
�‰”zÓ	"ñ /Ø×ÑœbŸh™h¨¨ u›oÔ.÷/ä	�‰”zÓ	"ñ 5Ø×ÑœbŸh™hª	 {Ó3Ô4÷5ð 5÷2ñ 2ú÷/ð /ú÷5ð 5ús#   ¸(E/Ã6'E<Ä>(FÅ/E9Å<FÆFc                  ó`  — t        ddgg d¢¬«      } t        j                  g d¢g d¢g«      }t        | |«       t        ddgg d¢¬«      } t        j                  g d¢g d¢g«      }t        | |«       t        g d	¢g d
¢¬«      } t        j                  g d¢g d¢g d¢g d¢g«      }t        | |«       y )Nr&   r‰   )r&   rL   rz   r‰   rl   r.   r+   )r&   r‰   rz   rL   r-   )r   r&   rL   rM   )rM   rL   r   r&   r,   )r   r/   r0   r   )Úoutr7   s     r   Ú$test_label_binarize_with_class_orderrà     s‹   € Ü
˜!˜Q˜ªÔ
6€CÜ�x‰xš¢|Ð4Ó5€HÜ�s˜HÔ%ô ˜!˜Q˜ªÔ
6€CÜ�x‰xš¢|Ð4Ó5€HÜ�s˜HÔ%ä
šª|Ô
<€CÜ�x‰xš¢|²\Â<ÐPÓQ€HÜ�s˜HÕ%r   c           	      óÒ  — dD �]T  }|dk(  s|dk7  r5|r3t        j                  t        «      5  t        | ||||¬«       d d d «       ŒCt        | ||||¬«      }t	        t        |«      |«       t        |«      |k(  sJ ‚t        | «      }|dk(  rt        ||¬«      }nt        |||||z   dz  ¬«      }t	        t        |«      t        | «      «       t        |||¬«      }	|	j                  | «      }t	        t        |«      |«       t        |«      |k(  sJ ‚|	j                  |«      }
t	        t        |
«      t        | «      «       t        |
«      t        | «      k(  r�ŒUJ ‚ y # 1 sw Y   �Œ!xY w)	Nr«   r   ©rj   rJ   rK   r"   Ú
multiclassrl   g       @)ri   rj   rk   rd   )rW   rm   rn   r   r   r   r   r   r	   r
   r   r2   r4   )rh   rj   rK   rJ   r7   r"   Ú	binarizedÚy_typeÚinversedr6   Úinverse_outputs              r   Úcheck_binarized_resultsrè   ,  su  € Ø&ó /7ˆØ˜ŠN˜i¨1šn±-Ü—‘œzÓ*ñ ÜØØ#Ø'Ø'Ø"/õ÷ð ô #ØØØØØ'ô
ˆ	ô 	œ7 9Ó-¨xÔ8Ü˜	Ó" mÒ3Ð3Ð3ô   Ó"ˆØ�\Ò!Ü3°IÀwÔO‰Hô 6ØØ"ØØ%¨	Ñ1°SÑ8ô	ˆHô 	œ7 8Ó,¬g°a«jÔ9ô Ø¨9ÀMô
ˆð ×$Ñ$ QÓ'ˆ	Üœ7 9Ó-¨xÔ8Ü˜	Ó" mÒ3Ð3Ð3Ø×-Ñ-¨iÓ8ˆÜœ7 >Ó2´G¸A³JÔ?Ü˜Ó'¬8°A«;Ô6Ð6Ð6ñ_/7÷ñ ús   ¬EÅE&	c                  ó@  — g d¢} ddg}d}d}t        j                  ddgddgddgg«      d d …df   j                  d«      }t        | ||||«       g d¢} ddg}d}d}t        j                  ddgddgddgg«      d d …df   j                  d«      }t        | ||||«       y )Nr=   r   r&   rL   rˆ   )rˆ   r&   rM   )r/   r0   Úreshaperè   ©rh   rj   rK   rJ   r7   s        r   Útest_label_binarize_binaryrì   _  s¾   € Ú€AØ�!ˆf€GØ€IØ€IÜ�x‰x˜!˜R˜ 2 q '¨A¨r¨7Ð3Ó4²Q¸°TÑ:×BÑBÀ7ÓK€Hä˜A˜w¨	°9¸hÔGò 	€AØ�!ˆf€GØ€IØ€IÜ�x‰x˜!˜Q˜ ! Q ¨!¨Q¨Ð0Ó1²!°Q°$Ñ7×?Ñ?ÀÓH€Hä˜A˜w¨	°9¸hÕGr   c                  óæ   — g d¢} g d¢}d}d}dt        j                  d«      z  }t        | ||||«       t        j                  t
        «      5  t        | |d|d¬«       d d d «       y # 1 sw Y   y xY w)N©r   r&   rL   rL   r   rM   rˆ   Trâ   )r/   Úeyerè   rW   rm   rn   r   rë   s        r   Útest_label_binarize_multiclassrð   r  sl   € Ú€AÚ€GØ€IØ€IØ”2—6‘6˜!“9‰}€Hä˜A˜w¨	°9¸hÔGä	�‰”zÓ	"ñ 
ÜØ�w¨"¸	ÐQUõ	
÷
÷ 
ñ 
ús   ÁA'Á'A0Úarr_typec                 ó  — t        j                  g d¢g d¢g d¢g«      }g d¢}d}d}||z  } | |«      }t        |||||«       t        j                  t
        «      5  t        ||d|d¬	«       d d d «       y # 1 sw Y   y xY w)
Nr=   rÜ   rB   rî   rL   r   rˆ   Trâ   )r/   r0   rè   rW   rm   rn   r   )rñ   Úy_indrj   rK   rJ   r7   rh   s          r   Útest_label_binarize_multilabelrô   �  s€   € ô �H‰H’i¢ªIÐ6Ó7€EÚ€GØ€IØ€IØ˜5Ñ €HÙ�‹€Aä˜A˜w¨	°9¸hÔGä	�‰”zÓ	"ñ 
ÜØ�w¨"¸	ÐQUõ	
÷
÷ 
ñ 
ús   ÁA6Á6A?c                  óŒ  — t        j                  t        «      5  t        ddgddgdd¬«       d d d «       t        j                  t        d¬«      5  t        ddgddg¬	«       d d d «       t        j                  t        d
¬«      5  t        ddggg d¢¬	«       d d d «       y # 1 sw Y   ŒuxY w# 1 sw Y   ŒLxY w# 1 sw Y   y xY w)Nr   rL   r&   )rj   rK   rJ   zcontinuous target data is not rb   g333333ó?gš™™™™™@rl   zmismatch with the labelsrM   re   )rW   rm   rn   r   rž   r   r   Ú!test_invalid_input_label_binarizerö   š  s¬   € Ü	�‰”zÓ	"ñ IÜ˜˜1�v¨¨1 v¸ÀaÕH÷Iä	�‰”zÐ)IÔ	Jñ 3Ü˜˜S�z¨A¨q¨6Õ2÷3ä	�‰”zÐ)CÔ	Dñ 4Ü˜˜A˜�xªÕ3÷4ð 4÷	Ið Iú÷3ð 3ú÷4ð 4ús#   šB"ÁB.ÂB:Â"B+Â.B7Â:Cc                 ó¢   — t         | g d¢g d¢g d¢g«      t        j                  d«      «      }t        |t        j                  g d¢«      «       y )Nr=   )rˆ   r   rˆ   rB   rM   rª   )r	   r/   Úaranger   r0   )ru   r8   s     r   Ú test_inverse_binarize_multiclassrù   £  s:   € ä
&Ù’y¢+ªyÐ9Ó:¼B¿I¹IÀa»Ló€Cô �sœBŸH™H¢YÓ/Õ0r   c                  ó¸   — t        «       } | j                  dddt        j                  g«       | j	                  t        j                  g«      }t        |dg«       y)z]Check that label encoder encodes nans in transform.

    Non-regression test for #22628.
    r   r?   rL   N)r   r[   r/   ÚnanrE   r   )r‚   Úy_transs     r   Útest_nan_label_encoderrý   «  sD   € ô
 
‹€BØ‡F�FˆC��cœ2Ÿ6™6Ð"Ô#à�l‰lœBŸF™F˜8Ó$€GÜ�w  Õ$r   Úencoderc                 ó†   — t        | d«      rJ ‚| j                  g d¢¬«      }| j                  g d¢«      }t        ||«       y)zxCheck that label encoders do not define set_output and work with y as a kwarg.

    Non-regression test for #26854.
    Ú
set_outputr{   )rh   N)r   r2   r   )rþ   Úy_encoded_with_kwargÚy_encoded_positionals      r   Ú*test_label_encoders_do_not_have_set_outputr  ·  sE   € ô �w Ô-Ð-Ð-Ø"×0Ñ0²?Ð0ÓCÐØ"×0Ñ0²ÓAÐÜÐ+Ð-AÕBr   zarray_namespace, device, dtyperh   r†   )rM   r‡   é	   r‡   r  rM   c                 óœ  — t        ||«      }|j                  | |¬«      }t        d¬«      5  t        «       }t        «       }|j	                  |«      }|j                  |«      }|j                  |«      }	|j	                  | «      }|j                  | «      }
t        |«      d   j                  |j                  k(  sJ ‚t        |	«      d   j                  |j                  k(  sJ ‚t        |j                  «      d   j                  |j                  k(  sJ ‚t        t        ||«      |
«       t        t        |	|«      | «       t        t        |j                  |«      |j                  «       t        «       }t        «       }|j                  |«      }|j                  | «      }
t        |«      d   j                  |j                  k(  sJ ‚t        |j                  «      d   j                  |j                  k(  sJ ‚t        t        ||«      |
«       t        t        |j                  |«      |j                  «       d d d «       y # 1 sw Y   y xY w)N)ÚdeviceT)Úarray_api_dispatchr   )r   Úasarrayr   r   r[   rE   r4   r   Ú__name__r3   r   r   r2   )rh   Úarray_namespacer  rO   ÚxpÚxp_yÚxp_labelÚnp_labelÚxp_transformedÚxp_inv_transformedÚnp_transformeds              r   Ú'test_label_encoder_array_api_compliancer  Å  sõ  € ô 
˜o¨vÓ	6€BØ�:‰:�a ˆ:Ó'€DÜ	¨4Ô	0ñ XÜ“>ˆÜ“>ˆØ—<‘< Ó%ˆØ!×+Ñ+¨DÓ1ˆØ%×7Ñ7¸ÓGÐØ—<‘< “?ˆØ!×+Ñ+¨AÓ.ˆÜ˜^Ó,¨QÑ/×8Ñ8¸B¿K¹KÒGÐGÐGÜÐ/Ó0°Ñ3×<Ñ<ÀÇÁÒKÐKÐKÜ˜X×.Ñ.Ó/°Ñ2×;Ñ;¸r¿{¹{ÒJÐJÐJÜÔ,¨^¸RÓ@À.ÔQÜÔ,Ð-?ÀÓDÀaÔHÜÔ,¨X×->Ñ->ÀÓCÀX×EVÑEVÔWä“>ˆÜ“>ˆØ!×/Ñ/°Ó5ˆØ!×/Ñ/°Ó2ˆÜ˜^Ó,¨QÑ/×8Ñ8¸B¿K¹KÒGÐGÐGÜ˜X×.Ñ.Ó/°Ñ2×;Ñ;¸r¿{¹{ÒJÐJÐJÜÔ,¨^¸RÓ@À.ÔQÜÔ,¨X×->Ñ->ÀÓCÀX×EVÑEVÔW÷-X÷ Xñ Xús   ¬HIÉI)GÚnumpyr/   rW   Úscipy.sparser   Úsklearnr   r   Úsklearn.preprocessing._labelr   r   r   r	   r
   r   Úsklearn.utils._array_apir   r   r   Úsklearn.utils._testingr   r   Úsklearn.utils.fixesr   r   r   r   r   Úsklearn.utils.multiclassr   Úsklearn.utils.validationr   Ú	load_irisÚirisr   r:   rF   rN   ÚmarkÚparametrizer_   rt   rx   r0   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   ú<module>r      sö  ðÛ Û Ý !ç ,÷÷ ÷ñ ÷
÷õ õ 4Ý 5à€x×ÑÓ€òò&7òR&ò7ð8 ‡�×Ñ˜Ò"AÓBØ‡�×Ñ˜¨$°¨Ó7ñ*ó 8ó Cð*ò$7Fðt ‡�×Ñ˜¨.Ó9ñ
ó :ð
ð, ‡�×ÑØð ˆB�H‰H’_¨GÔ4ØˆB�H‰H’Y gÔ.ØˆB�H‰H�a�S Ô(ð	
ð ˆB�H‰HÒ.°fÔ=ØˆB�H‰H’_¨FÔ3ØˆB�H‰H�c�U &Ô)ð	
ð ˆB�H‰HÒ.Ó/ØˆB�H‰H’_Ó%ØˆB�H‰H�c�U‹Oð	
ðò" 	#ð' ó ñ*ó+ð*ò 	ð ‡�×Ñ˜ 5¨(Ð"3Ó4ñó 5ðò!ð. ‡�×ÑØàˆ�‰’¨Ô0Øˆ�‰Ò*°&Ô9Øˆ�‰Ò*Ó+ðò
 	#ð ó ñ:óð:ò"9ðJ ‡�×Ñ˜¨.Ó9ñ
ó :ð
ò5ò20ò"ò òF?òBò4ò:>ò5ò&&ò07òfHò&
ð ‡�×ÑØØ‡X�X€JØñàñð ñð ñ	ð
 ñóñ
óð
ò 4ð ‡�×Ñ˜¨.Ó9ñ1ó :ð1ò	%ð ‡�×ÑØ‘“¡Ó 0Ñ2EÓ2GÐHóñCóðCð ‡�×ÑØ$Ñ&OÓ&Qóð ‡�×ÑØàˆ�‰’Ó!Øˆ�‰Ò$Ó%Øˆ�‰Ò#Ó$ðóñXóóñXr   