
    -i%                        S SK r S SKrS SKrS SKJr  S SKJrJrJ	r	J
r
  \R                  R                  S\R                  " / SQSS9\R                  " / SQSS94\R                  " S	S
\R                  S
\R                  /SS9\R                  " S
S	\R                  /SS94\R                  " / SQ\S9\R                  " / SQ\S94\R                  " / SQ\S9\R                  " / SQ\S94\R                  " / SQ5      \R                  " / SQ5      4// SQS9S 5       rS rS r\R                  R                  S\R                  " / SQ5      \R                  " / SQ5      S// SQ4\R                  " / SQ5      \R                  " / SQ5      S// SQ4\R                  " S	S
\R                  /5      \R                  " / SQ5      \R                  // SQ4\R                  " S	S
S\R                  /5      \R                  " S	SS
\R                  /5      S// SQ4\R                  " S	S
S\R                  /5      \R                  " / SQ5      S\R                  // SQ4\R                  " / SQ5      \R                  " S	SS
\R                  /5      S// SQ4\R                  " / SQ\S9\R                  " / SQ\S9\R                  " S /\S9/ SQ4\R                  " / S!Q\S9\R                  " / S"Q\S9\R                  " S /\S9/ S#Q4\R                  " / SQ5      \R                  " / SQ5      \R                  " S /5      / SQ4\R                  " / S!Q5      \R                  " / S"Q5      \R                  " S /5      / S#Q4/
5      S$ 5       r\R                  R                  S%S\R                  \" S&5      /5      \R                  R                  S'S(S)/5      S* 5       5       r\R                  R                  S%\R                  S\" S&5      /5      \R                  R                  S'S(S)/5      S+ 5       5       rS, rS- rS. r\R                  R                  S/\R                  " S
/S0-  S	/S-  -   S1/S2-  -   5      \R                  " / SQ5      / S3Q4\R                  " S
/S0-  S	/S-  -   S1/S2-  -   5      \R                  " / S4Q5      / S5Q4\R                  " \R                  /S0-  S	/S-  -   S1/S2-  -   5      \R                  " S	S1\R                  /5      / S6Q4\R                  " S7/S-  S8/S9-  -   S:/S;-  -   \S9/ SQ/ S<Q4\R                  " S7/S-  S8/S9-  -   S:/S;-  -   \S9/ S=Q/ S>Q4\R                  " \R                  /S-  S8/S9-  -   S:/S;-  -   \S9S:\R                  S8// S>Q4\R                  " S7/S-  S8/S9-  -   S:/S;-  -   \S9/ S?Q/ S@Q4/5      SA 5       rg)B    N)assert_array_equal)_check_unknown_encode_get_counts_uniquezvalues, expected)         r	   r
   int64dtyper	   r   r
   r   r	   float32)bacr   r   r   r   r   )r   r   Nr   N)r   r   N)r   zfloat32-nanobjectzobject-Nonestr)idsc                 $   [        U 5      n[        X!5        [        U SS9u  p4[        X15        [        U[        R                  " / SQ5      5        [	        XS9n[        U[        R                  " / SQ5      5        [        U SS9u  p5[        X15        [        U[        R                  " / SQ5      5        [        U SSS9u  p4n[        X15        [        U[        R                  " / SQ5      5        [        U[        R                  " / SQ5      5        g )NTreturn_inverse)r	   r   r   r   r   uniques)return_counts)r   r	   r   )r   r   )r   r   nparrayr   )valuesexpectedr   resultencodedcountss         R/var/www/html/venv/lib/python3.13/site-packages/sklearn/utils/tests/test_encode.pytest_encode_utilr%   
   s    * foGw)fT:OFv(w 9:f.Gw 9:V48NFv(vrxx	23%fTQUVFVv(w 9:vrxx	23    c                     [         R                  " / SQ5      n [         R                  " / SQ5      n[        R                  " [        SS9   [        XSS9  S S S 5        [        XSS9  [         R                  " / SQ[        S	9n [         R                  " / S
Q[        S	9n[        R                  " [        SS9   [        XSS9  S S S 5        g ! , (       d  f       N{= f! , (       d  f       g = f)Nr   r	   r   r
      z#y contains previously unseen labels)matchT)r   check_unknownFr   r   r   r   r   d)r   r   pytestraises
ValueErrorr   r   )r   r   s     r$   test_encode_with_check_unknownr1   3   s    hhy!GXXl#F 
z)N	Ot< 
P F59 hhf5GXX*&9F	z)N	Ou= 
P	O 
P	O 
P	Os   
C
6C

C
C)c                 t    [        X5      n[        XB5        [        XSS9u  pE[        XB5        [        XS5        g )NT)return_mask)r   r   )r   r   expected_diffexpected_maskdiff
valid_masks         r$   _assert_check_unknownr8   F   s3    &*Dt+%f4HDt+z1r&   z-values, uniques, expected_diff, expected_maskr(   r)   )TTTF)r   r	   r)      )r   r9   r	   )TTFT)TTFr9   )TTFFr,   r-   )r-   r   r   r   )r   r   r   )FTTTc                     [        XX#5        g N)r8   )r   r   r4   r5   s       r$   test_check_unknownr<   O   s    f &=Hr&   missing_valuenanpickle_uniquesTFc                    [         R                  " SSSSU /[        S9n[         R                  " SSSU /[        S9nU(       a*  [        R                  " [        R
                  " U5      5      nS/n/ SQn[        X#XE5        [         R                  " SSSSU /[        S9n[         R                  " / SQ[        S9nU(       a*  [        R                  " [        R
                  " U5      5      nSU /n/ SQn[        X#XE5        [         R                  " SU /[        S9n[         R                  " / S	Q[        S9nU(       a*  [        R                  " [        R
                  " U5      5      nU /nS
S/n[        X#XE5        g )Nr-   r   r   r   r   )FTTTT)r   r   r   )FTTTF)r   r   zTF)r   r   r   pickleloadsdumpsr8   )r=   r?   r   r   r4   r5   s         r$   !test_check_unknown_missing_valuesrE      s    XXsCc=9HFhhS#}5VDG,,v||G45EM3M&=HXXsCc=9HFhhf5G,,v||G45-(M4M&=HXXsM*&9Fhhf5G,,v||G45"OM5MM&=Hr&   c                    [         R                  " SSSU S/[        S9n[         R                  " SSSU /[        S9n[        U5      nU c  [	        XC5        O2[	        US S US S 5        [         R
                  " US   5      (       d   eU(       a*  [        R                  " [        R                  " U5      5      n[        X$S9n[	        U[         R                  " / SQ5      5        g )Nr   r   r   r   r   )r   r   r   r
   r	   )
r   r   r   r   r   isnanrB   rC   rD   r   )r=   r?   r   expected_uniquesr   r"   s         r$   'test_unique_util_missing_values_objectsrJ      s     XXsCmS9HFxxc3 >fMfoG7573B<)9#2)>?xx$$$$,,v||G45f.Gw 9:r&   c                     [         R                  " SS[         R                  SS[         R                  /[        S9n [         R                  " SSS[         R                  /[        S9n[         R                  " / SQ5      n[	        U 5      n[        X15        [	        U SS9u  p4[        X15        [        XB5        [        XS9n[        XR5        g )	Nr
   r	   r9   r   )r	   r   r
   r   r	   r
   Tr   r   )r   r   r>   floatr   r   r   )r   rI   expected_inverser   inverser"   s         r$   'test_unique_util_missing_values_numericrO      s    XXq!RVVQ2662%@FxxAq"&& 1?xx 23foGw1vd;Gw1w1f.Gw1r&   c            
          [         R                  " [         R                  SSSS [        S5      S /[        S9n [        U 5      n[        US S / SQ5        [         R                  " US   5      (       d   e/ SQn[        U SS	9u  p4[        XB5        g )
Nr   r   r>   r   rG   )r   r   N)r
   r   r	   r	   r   r
   r   Tr   )r   r   r>   rL   r   r   r   rH   )r   r   rM   _rN   s        r$   (test_unique_util_with_all_missing_valuesrR      sx    XXrvvsCdE%L$GvVFfoGws|%5688GBK    ,5JAw1r&   c            	         [         R                  " [         R                  SSSS [         R                  S /[        S9n [	        U [         R                  " SS/[        S9S9nUS   b   e[         R
                  " US   5      (       d   e[	        U [         R                  " SS/[        S9SS9u  pUS   b   e[         R
                  " US   5      (       d   e[        U/ S	Q5        g )
Nr   r   r   )known_valuesr   r	   T)rT   r3   )FTTTFFF)r   r   r>   r   r   rH   r   )r   r6   r7   s      r$   +test_check_unknown_with_both_missing_valuesrU      s    XXrvvsCdBFFDAPF&rxxc
&/QRD7??88DG%RXXsCj?TD 7??88DGz#QRr&   z values, uniques, expected_counts
   r
      )rV   r)   rW   )r	   r   r
   r9   )rV   r)   rW   r   )r)   rW   rV   r   r      r      )rX   r)   rY   )r   r   r   )rY   r)   rX   )r   r   r   e)rX   r)   rY   r   c                 0    [        X5      n[        X25        g r;   )r   r   )r   r   expected_countsr#   s       r$   test_get_countsr]      s    J )Fv/r&   )rB   numpyr   r.   numpy.testingr   sklearn.utils._encoder   r   r   r   markparametrizer   r>   r   r%   r1   r8   r<   rL   rE   rJ   rO   rR   rU   r]    r&   r$   <module>rd      s      , O O 	/	1288IW3UVHHaBFFArvv.i@HHaBFF^95	

 HH.f=HH_F3	

 HH0?HH%V4	
 
+	,bhh.GH  	A%  (4)(4*>&2 3	,	)!4qc;TU	,	)!4qc;TU	1a.	!288I#6BUVHHaArvv&'HHaArvv&'C%		
 HHaArvv&'HHYK&		
 HH\"HHaArvv&'C%		
 HH)8HH_F3HHcU&)%		
 HH)8HH_F3HHcU&)%		
 HH)*HH_%HHcUO%		
 HH)*HH_%HHcUO%		
Q.1dIe1dI 4u*FG)D%=9I : HI> 2664u*FG)D%=9; : H;(2"2S" &	1#(aS1W$sRx/	0"((92E{SHHaS2Xa'1#(23HH\"	
 HHbffX]aS1W,sRx78HHaBFF^$	
 HHcUQY#+sebj8G	
 HHcUQY#+sebj8G	
 HHbffX\SEBJ.#;6J"&&#	
 HHcUQY#+sebj8G 	
7 #H0I#H0r&   