
    {Kg]\              
       D   d dl Zd dl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 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j6                         Zd	 Zd
 Zd Zd Z ejB                  jE                  dg d      ejB                  jE                  dddg      d               Z#ed        Z$ejB                  jE                  de      d        Z%ejB                  jE                  d ejL                  g dd       ejL                  g dd       ejL                  dgd      f ejL                  g de'       ejL                  g de'       ejL                  dge'      f ejL                  g d       ejL                  g d       ejL                  dg      fgg d       d!        Z(d" Z)ejB                  jE                  dd#d$g      d%        Z*d& Z+ejB                  jE                  d' ejL                  g dd       ejL                  g de'       ejL                  g d      gg d       d(        Z,d) Z-ejB                  jE                  de      d*        Z.d+ Z/d, Z0d- Z1d. Z2d/ Z3d0 Z4d1 Z5d2 Z6d3 Z7d4 Z8d5 Z9d6 Z:d7 Z;ejB                  jE                  d8ejL                  gez   ez   ez   ez   ez         d9        Z<d: Z=ejB                  jE                  de      d;        Z>d< Z?ejB                  jE                  d= e	        e        e
       g      d>        Z@y)?    N)issparse)datasets)LabelBinarizerLabelEncoderMultiLabelBinarizer_inverse_binarize_multiclass_inverse_binarize_thresholdinglabel_binarize)assert_array_equalignore_warnings)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    j/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/sklearn/preprocessing/tests/test_label.pyr   r      s    q)IIK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_binarizerr6   "   s    'C	e	,Bxx'))H


3
Cr{{UG,x%r++C0#6 
d	+B


3
CC==r{{UG,x/r++CKKM:C@	e	,B
&Cxx'))H


3
Cr{{UEN3x%1a&1a&1a&1a&9:Ir++I6< .Cxx	|\<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<   r=   f)r   r+   r,   r.   r   	transform)r2   r3   r4   s      r   "test_label_binarizer_unseen_labelsrB   K   sr    		BxxIy9:H


?
+Cx%xx	Iy)Y	JH ,,5
6C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 )Nr   	neg_label	pos_labelr!   )rD   r   r   rD      )   rH   r"   rH   r   )rD   rD   rD   rH   )rD   rD   rH   rD   )rD   rH   rD   rD   )rH   rD   rD   rD   )r   r+   r,   r-   r.   r   r0   )r2   r1   r3   r4   s       r   'test_label_binarizer_set_label_encodingrJ   Y   s    	"	2B ((<
 Cxx()++H


3
Cx%r++C0#6	"	2B ((?
#Cxx	
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"   rK   r"   r   N)pytestimportorskipSeriesuniquer   fitrA   r   )rK   rO   pdy_truer2   y_outs         r   $test_label_binarizer_pandas_nullabler[   u   sn     
		X	&BYY2%Y@F 				f	%BLL!Q EusQCj)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   )rH   rI   )r   )r   rH   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.rH   r"   rE   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rF   rG   r   rI   )r   r"   rI   z?You appear to be using a legacy multi-label data representationz!output_type='binary', but y.shaper"   rH   rI   )rH   r"   rI   binaryr   youtput_typeclasses	thresholdz@Multioutput target data is not supported with label binarizationrf   )r+   r,   r   rW   rS   raises
ValueErrorrA   r0   r.   r	   r
   )	one_classr2   multi_labelerr_msginput_labelsy_seq_of_seqss         r   test_label_binarizer_errorsrp      s    &I				i	(B(KPG	z	1
[! 
2 
	B>G	z	1
R 
2	z	1
R  
2  LCG	!q	1B	z	1
| 
2CG	!q	1B	z	1
| 
2	5  
!q	EB	z	1
| 
2 !Q!i!5MOG	z	1&&}5 
2 2G	z	1&hh	9-. 		
 
2 QG	z	1RXX1v1v&678 
2	z	1rxx!Q!Q 019E 
2	1_ 
2	1
 
2	1	1	1 
2	1 
2	1 
2	1 
2	1
 
2	1 
2	1	1	1sx   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 supportedr^   r"   rH   foor   rc   zAThe number of class is not equal to the number of dimension of y.ra   )rS   ri   rj   r	   )rq   rm   s     r   "test_label_binarizer_sparse_errorsrt      s     ,G	z	1&aVaV,-F		
 
2 RG	z	1&aVaV,-		
 
2	1 
2	1 
2	1s   B!BBBzvalues, classes, unknown)rH   r"   rI   r"   rI   int64rR   ra      )r;   r   r?   r   r?   r   r;   r?   r<   )ru   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   rH   r   rH   zunseen labelsr^   )
r   rW   r   r/   rA   r0   r.   rS   ri   rj   )valuesrf   unknownlerets        r   test_label_encoderr      s    0 
BFF6Nr{{G,r||F+_=r++O<fE	B


6
"CsO,	z	9
W 
:	9	9s   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"   rv      r   )r   r   r"   rv   r   )r   r"   rv   rv   r   r   r   )r"   rH   rI   rI   rv   r   r   r      )	r   rW   r   r/   rA   r0   rS   ri   rj   )r~   s    r    test_label_encoder_negative_intsr      s~    	BFFr{{$45r||$;<>ST
235L 
z	"
aV 
#	"	"s   B**B3ry   rx   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orangerR   zshould be a 1d arrayr^   )r   rW   r+   r,   rS   ri   rj   rA   )rK   r~   msgs      r    test_label_encoder_str_bad_shaper     sP    	BFF288Wh'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"   rH   rI   r   r"   z!contains previously unseen labelsr^   rD   )rD   z should be a 1d array.+shape \(\) )r   rS   ri   rj   rA   r0   rW   )r~   r   s     r   test_label_encoder_errorsr     s    	B	z	"
R 
#	z	"
R  
# 
BFF
-C	z	-
bT" 
.	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   rW   rA   r   r+   r,   r0   )r|   r~   transformedinverse_transformeds       r   test_label_encoder_empty_arrayr   ,  sZ     
BFF6N,,r"Krxx|[1..r2rxx|%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r]   r"   )r"   rH    r   r   r   <lambda>z9test_sparse_output_multilabel_binarizer.<locals>.<lambda>C      &r   c                      ddhdhddhfS NrH   rI   r"   r   r   r   r   r   z9test_sparse_output_multilabel_binarizer.<locals>.<lambda>D      !Q!q!f%r   c                  F    t        t        d      t        d      ddhg      S Nr]   r   r"   rH   iterr   r   r   r   z9test_sparse_output_multilabel_binarizer.<locals>.<lambda>E      d6lDJA78r   r   r"   r"   r8   r"   r"   r   r   TFr   ra   )r+   r,   r   r.   r   indicesrK   indptrr   r   r/   r0   rW   rA   )inputsindicator_matinverser   r1   mlbr4   s          r   'test_sparse_output_multilabel_binarizerr   @  sv    	'%8F
 HHiI>?MfQikG&C%MBC##CE*CC=M111{{((CJJ,<,<<<<kkm}c2y#,,7((-888 &MBC''#%.**351CC=M111{{((CJJ,<,<<<<kkm}c2y#,,7((-888/  'r   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)
Nr]   r   r"   rH   Fr   r   )rH   r   r   r   )	r   r   rW   rS   ri   rj   r0   r+   r,   )rq   r1   r   s      r   .test_sparse_output_multilabel_binarizer_errorsr   e  sr    
Vd4j1a&1
2C
E
2CGGCL	z	""((Iy)#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>s  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>t  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>u  r   r   r   r8   r   r   ra   )	r+   r,   r   r.   r   r/   r0   rW   rA   )r   r   r   r1   r   r4   s         r   test_multilabel_binarizerr   p  s     	'%8F
 HHiI>?MfQikG!#&=#.9cll3$$S)W444 "#ggcen&&su-=#.9cll3$$S)W444 r   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"   rH   r   )r   r+   r,   r   r.   )r   rd   Ys      r   &test_multilabel_binarizer_empty_sampler     sR    

C
Q!bA
1a&1a&1a&)*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"   rH   r   zunknown class.* will be ignoredr^   rv   r8   r9   ra   rh   )	r   r+   r,   rS   warnsUserWarningrW   rA   r   )r   rd   r   warning_messagematrixs        r   'test_multilabel_binarizer_unknown_classr     s    

C
QA
1a&1a&!"A7O	k	9%%1v1v&67 
: 	)Y'(A
i
0C	k	9%%1v1v&67 
:vq! 
:	9
 
:	9s   '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   r8   r"   r   r"   r"   rI   rH   rh   )rv   r"   rI   rH   r   ztThe classes argument contains duplicate classes. Remove these duplicates before passing them to MultiLabelBinarizer.)r"   rI   rH   rI   r^   )r+   r,   r   r   r.   r/   rW   rA   hstackr   rS   ri   rj   )r1   r   r   rm   s       r   'test_multilabel_binarizer_given_classesr     s<   
 CHHiI>?M
i
0Cs((-}=s||Y/ i
0Cswws|--c2MBs||Y/ l
3C#		QC!qc?M*J K s||\2 s)C
i
0Cswws|--c2MB	G  l
3C	z	1 
2	1	1s   >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   r8   r   r   r   rh   ra   )r+   r,   r   r   r.   rf   )r1   r   indicator_mat2r   s       r   (test_multilabel_binarizer_multiple_callsr     sn    
 CHHiI>?MXXy)Y?@N i
0Cs((-}=CK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   rH   r9   r8   r:   )r+   r,   r   r   r.   r0   rW   rA   r1   r   r   s      r   .test_multilabel_binarizer_same_length_sequencer     s    3aS/CHHiI>?M

Cs((-}=s,,];SA 
Cswws|--c2M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   rH   rI   ))23)1)r   r   )r   r   r   ))r;   r?   r   )r   r;   rw   ))r   r   )r   )r   r   r   r8   r   rR   r   r;   )r   r+   r,   r   rx   r   r.   r/   r0   rW   rA   rS   ri   	TypeError)tuple_classesr   r   r1   rf   r   indicator_mat_invs          r   ,test_multilabel_binarizer_non_integer_labelsr     sO   $%78M	)?;	)?;	.>F
 HHiI>?MW!#hhs&)3,,S1=A3<<1HHS%:%:=%IQWX,c2 "#3773<11#6F3<<1HHS%:%:=%IQWX,c2   
C	y	!B"sCj!123 
"	!	!s   <FF&c                      dg} t        j                  ddgg      }t               }t        |j	                  |       |       y )Nr"   r"   r"   r   r"   )r+   r,   r   r   r.   r   s      r   $test_multilabel_binarizer_non_uniquer     s:    .CHHq!fX&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"   rI   r   r"   r"   r"   )r   r.   rS   ri   rj   r0   r+   r,   )r1   r   s     r   ,test_multilabel_binarizer_inverse_validationr     s   .C

Cc	z	"bhhAx01 
# "((QF8,-"((QF8,-"((QF8,- 
z	"bhhuo. 
#	z	"bhh	{34 
#	" 
#	" 
#	"	"	"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"   rH   rv   r   rh   r*   r'   )r"   r   rv   rH   r)   )r   r"   rH   rI   )rI   rH   r   r"   r(   )r
   r+   r,   r   )outr3   s     r   $test_label_binarize_with_class_orderr     s    
!Q
6Cxx|45HsH% !Q
6Cxx|45HsH%
|
<Cxx|\<PQHsH%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   rf   rF   rG   r   
multiclassrh   g       @)re   rf   rg   r`   )rS   ri   rj   r
   r   r   r   r   r   r	   r   r.   r0   )rd   rf   rG   rF   r3   r   	binarizedy_typeinversedr2   inverse_outputs              r   check_binarized_resultsr   %  sg   &Ni1n-z*#''"/ +  #'
	 	79-x8	"m333  "\!3IwOH 6"%	1S8	H 	78,gaj9 9M
 $$Q'	79-x8	"m333--i87>2GAJ?'8A;666_ '**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 )Nr9   r   r"   rH   r   )r   r"   rI   )r+   r,   reshaper   rd   rf   rG   rF   r3   s        r   test_label_binarize_binaryr   X  s    A!fGIIxx!R2q'Ar734QT:BB7KHAw	9hG 	A!fGIIxx!Q!Q!Q01!Q$7??HHAw	9h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"   rH   rH   r   rI   r   Tr   )r+   eyer   rS   ri   rj   r
   r   s        r   test_label_binarize_multiclassr   k  sc    AGII266!9}HAw	9h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)
Nr9   r   r>   r   rH   r   r   Tr   )r+   r,   r   rS   ri   rj   r
   )r   y_indrf   rG   rF   r3   rd   s          r   test_label_binarize_multilabelr   z  sw     HHiI67EGII5 HAAw	9h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   rH   r"   )rf   rG   rF   zcontinuous target data is not r^   g333333?g@rh   zmismatch with the labelsrI   ra   )rS   ri   rj   r
   r   r   r   !test_invalid_input_label_binarizer     s    	z	"1v1vaH 
#	z)I	JSzAq62 
K	z)C	DAx3 
E	D	 
#	"	J	J	D	Ds#   B"B.B:"B+.B7:Cc                     t         | g dg dg dg      t        j                  d            }t        |t        j                  g d             y )Nr9   )r   r   r   r>   rI   r   )r   r+   aranger   r,   )rq   r4   s     r    test_inverse_binarize_multiclassr     s:    
&y+y9:BIIaLC sBHHY/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;   rH   N)r   rW   r+   nanrA   r   )r~   y_transs     r   test_nan_label_encoderr     sD    
 
BFFCc266"#llBFF8$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_outputrw   )rd   N)r   r.   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   )Anumpyr+   rS   scipy.sparser   sklearnr   sklearn.preprocessing._labelr   r   r   r   r	   r
   sklearn.utils._testingr   r   sklearn.utils.fixesr   r   r   r   r   sklearn.utils.multiclassr   sklearn.utils.validationr   	load_irisirisr   r6   rB   rJ   markparametrizer[   rp   rt   r,   rx   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     !   G  4 5x&7R&78 "AB$7* 8 C*$ 7F 7Ft .9
 :
,  BHH_G4BHHYg.BHHaS(	
 BHH.f=BHH_F3BHHcU&)	
 BHH./BHH_%BHHcUO	
" 	#'  *+* 	 5("34 5!. 0*&9*+
 	#  ::"9J .9
 :
520" F?B4:>5&&07fH&
 XXJ  	
 

 4 .91 :1	%  02E2GHCCr   