Ë
    uwj+U  ã                   óª
  — d dl Z 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 d dlmZmZmZmZmZ g d¢g d¢g d¢g d¢gZej&                  j)                  d	d
dg d¢g d¢g d¢g d¢gdfddg d¢g d¢g d¢g d¢gdfddg d¢g d¢g d¢g d¢gdfd
dg d¢g d¢g d¢g d¢gg d¢fd
dg d¢g d¢g d¢g d¢gg d¢fddg d¢g d¢g d¢g d¢gg d¢fddg d¢g d¢g d¢g d¢gg d¢fddg d¢g d¢g d¢g d¢gg d¢fddg d¢g d¢g d¢g d¢gg d¢fddg d¢g d¢g d¢g d¢gg d¢fg
«      d„ «       Zd„ Zd„ Zej&                  j)                  d	d
dg d¢g d¢g d¢g d¢gdfddg d¢g d¢g d¢g d¢gdfddg d¢g d¢g d¢g d¢gdfddg d¢g d¢g d¢g d¢gdfddg d¢g d¢g d¢g d¢gg d¢fddg d¢g d¢g d¢g d¢gg d¢fddg d¢g d¢g d¢g d¢gg d¢fddg d¢g d¢g d¢g d¢gg d¢fg«      d „ «       Zej&                  j3                  d!«      d"„ «       Zej&                  j)                  d#ddg«      d$„ «       Zej&                  j)                  d#g d%¢«      d&„ «       Zd'„ Zej&                  j)                  d( ed)d*«      «      d+„ «       Zd,„ Z ej&                  j)                  d-d
dg d.¢g d/¢g d0¢fddg d.¢g d1¢g d2¢fddg d3¢g d1¢g d4¢fg«      d5„ «       Z!ej&                  j)                  d6d
g d7¢g d8¢g d9¢g d:¢gdfdg d;¢g d;¢g d<¢g d=¢gdfdg d>¢g d?¢g d@¢g d@¢gdfg«      ej&                  j)                  dAg dB¢«      dC„ «       «       Z"ej&                  j)                  d#g d%¢«      dD„ «       Z#dE„ Z$ej&                  j)                  dFdg dG¢dfdg dG¢dfg«      dH„ «       Z%dI„ Z&ej&                  j)                  dJejN                  ejP                  ejR                  g«      ej&                  j)                  dKdejP                  ejR                  g«      ej&                  j)                  dAg dB¢«      dL„ «       «       «       Z*ej&                  j)                  dMejN                  ejP                  ejR                  g«      ej&                  j)                  dAg dB¢«      dN„ «       «       Z+dO„ Z,ej&                  j)                  dPdQ edR«      D � �cg c]  }  edS«      D ]  }dT| › dU e-|«      › �‘Œ Œ c}} fdV edR«      D � �cg c]  }  edS«      D ]  }dT| › dU e-|«      › �‘Œ Œ c}} fdW edR«      D � cg c]  } dT| › �‘Œ	 c} fg«      dX„ «       Z.ej&                  j)                  d#g d%¢«      dY„ «       Z/dZ„ Z0d[„ Z1yc c}} w c c}} w c c} w )\é    N)Úclone)ÚKBinsDiscretizerÚOneHotEncoder)Úassert_allcloseÚassert_allclose_dense_sparseÚassert_array_almost_equalÚassert_array_equalÚignore_warnings©éþÿÿÿç      ø?éüÿÿÿéÿÿÿÿ)r   ç      @éýÿÿÿç      à¿)r   g      @r   ç      à?)é   g      @r   é   z2strategy, quantile_method, expected, sample_weightÚuniformÚwarn)r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   Úkmeans)r   r   r   r   ÚquantileÚaveraged_inverted_cdf)r   r   r   r   )r   r   r   r   )r   r   é   r   c                 óØ   — t        dd| |¬«      }t        t        ¬«      5  |j                  t        |¬«       d d d «       t        |j                  t        «      |«       y # 1 sw Y   Œ)xY w)Nr   Úordinal©Ún_binsÚencodeÚstrategyÚquantile_method)Úcategory©Úsample_weight)r   r
   ÚUserWarningÚfitÚXr	   Ú	transform)r!   r"   Úexpectedr%   Úests        út/var/www/html/newmanjeet/manjet/venv/lib/python3.12/site-packages/sklearn/preprocessing/tests/test_discretization.pyÚtest_fit_transformr-      sU   € ôD Ø˜¨XÀô€Cô 
¤+Ö	.à�‰” ˆÔ/÷ 
/ô �s—}‘}¤QÓ'¨Õ2÷ 
/Ð	.ús    A Á A)c                  óR  — t        dd¬«      j                  t        «       t        t        j                  dg«      d   d¬«      j                  t        «       t        dd¬«      j                  t        «      j                  j                  t        j                  t        «      k(  sJ ‚y )Nr   r   ©r   r"   r   )	r   Úfit_transformr(   ÚnpÚarrayr'   Ún_bins_ÚdtypeÚint© ó    r,   Útest_valid_n_binsr8   _   s{   € Ü˜AÐ/FÔG×UÑUÔVWÔXÜÜ�x‰x˜˜‹}˜QÑÐ1Hôç�m”AÔÜ 1Ð6MÔN×RÑRÜ	óç�g�e‰e”r—x‘x¤“}ò%ð %ñ %r7   c                  óè  — t        j                  dd«      } t        | d¬«      }d}t        j                  t
        |¬«      5  |j                  t        «       d d d «       g d¢} t        | d¬«      }d}t        j                  t
        |¬«      5  |j                  t        «       d d d «       g d¢} t        | d¬«      }d	}t        j                  t
        |¬«      5  |j                  t        «       d d d «       g d
¢} t        | d¬«      }d}t        j                  t
        |¬«      5  |j                  t        «       d d d «       y # 1 sw Y   ŒîxY w# 1 sw Y   Œ®xY w# 1 sw Y   ŒnxY w# 1 sw Y   y xY w)N)r   é   ç       @r   r/   z:n_bins must be a scalar or array of shape \(n_features,\).©Úmatch)r   r   r   ©r   r   r   r   z{KBinsDiscretizer received an invalid number of bins at indices 0, 3. Number of bins must be at least 2, and must be an int.)çÍÌÌÌÌÌ @r   r?   r   z{KBinsDiscretizer received an invalid number of bins at indices 0, 2. Number of bins must be at least 2, and must be an int.)r1   Úfullr   ÚpytestÚraisesÚ
ValueErrorr0   r(   )r   r+   Úerr_msgs      r,   Útest_invalid_n_bins_arrayrE   i   s(  € ä�W‰W�V˜SÓ!€FÜ
 &Ð:QÔ
R€CØK€GÜ	�‰”z¨Ö	1Ø×Ñœ!Ô÷ 
2ò €FÜ
 &Ð:QÔ
R€CØK€GÜ	�‰”z¨Ö	1Ø×Ñœ!Ô÷ 
2ò €FÜ
 &Ð:QÔ
R€Cð	ð ô
 
�‰”z¨Ö	1Ø×Ñœ!Ô÷ 
2ò €FÜ
 &Ð:QÔ
R€Cð	ð ô
 
�‰”z¨Ö	1Ø×Ñœ!Ô÷ 
2Ð	1÷; 
2Ð	1ú÷ 
2Ð	1ú÷ 
2Ð	1ú÷ 
2Ð	1ús0   ÁEÂEÃEÄ%E(ÅEÅEÅE%Å(E1)r   r   r   r   r>   )r   r   r   r   Úlinear)r   r   r   r   )r   r   r   r   c                 óŒ  — t        g d¢d| |¬«      j                  t        |¬«      }t        |j	                  t        «      |«       t        j                  t        «      j                  d   }|j                  j                  |fk(  sJ ‚t        |j                  |j                  «      D ]  \  }}|j                  |dz   fk(  rŒJ ‚ y )N©r   r   r   r   r   r   r$   r   )r   r'   r(   r	   r)   r1   r2   ÚshapeÚ
bin_edges_Úzipr3   )r!   r"   r*   r%   r+   Ú
n_featuresÚ	bin_edgesr   s           r,   Útest_fit_transform_n_bins_arrayrN   �   s­   € ôl ÚØØØ'ô	÷
 
�cŒ!˜=€cÓ)ð ô �s—}‘}¤QÓ'¨Ô2ô —‘œ!“×"Ñ" 1Ñ%€JØ�>‰>×Ñ J =Ò0Ð0Ð0Ü  §¡°·±Ö=Ñˆ	�6Ø�‰ 6¨A¡: -Ó/Ð/Ð/ñ >r7   z&ignore: Bins whose width are too smallc            	      ó  — t        j                  dgdgdgdgdgdgg«      } t        ddd	d
¬«      }|j                  | g d¢¬«       t	        |j
                  d   g d¢«       t	        |j                  | «      dgdgdgdgdgdgg«       y)z;Check the impact of `sample_weight` one computed quantiles.r   r   r   r   iô  iè  é
   r   r   r   r   )r   r   r   r   r   r   r$   r   )r   r   r   r   r   ç        g      ð?ç      @N)r1   r2   r   r'   r   rJ   r)   ©r(   r+   s     r,   Ú*test_kbinsdiscretizer_effect_sample_weightrT   Ô   s–   € ô 	�‰�2�$˜˜˜q˜c A 3¨¨°¨vÐ6Ó7€Aô ØØØØ/ô	€Cð ‡G�GˆAÒ/€GÔ0Ü�C—N‘N 1Ñ%Ò'8Ô9Ü�C—M‘M !Ó$¨ u¨s¨e°c°U¸S¸EÀCÀ5È3È%Ð&PÕQr7   r!   c                 ó  — | dk(  rt        dd| d¬«      }nt        dd| ¬«      }t        j                  g d¢t        j                  ¬«      }t        j                  |«      }|j                  t        |¬	«       t        ||«       y
)z7Make sure that `sample_weight` is not changed in place.r   r   r   r   r   )r   r    r!   )r   r   r   r   ©r4   r$   N)r   r1   r2   Úfloat64Úcopyr'   r(   r   )r!   r+   r%   Úsample_weight_copys       r,   Ú/test_kbinsdiscretizer_no_mutating_sample_weightrZ   å   sp   € ð �:ÒÜØØØØ3ô	
‰ô  a°	ÀHÔMˆÜ—H‘Hš\´·±Ô<€MÜŸ™ Ó/ÐØ‡G�GŒA˜]€GÔ+Ü�MÐ#5Õ6r7   )r   r   r   c                 óì  — t        j                  d«       t        j                  ddgddgddgddgg«      }| dk(  rt	        | ddd	¬
«      }nt	        | dd¬«      }d}t        j                  t        |¬«      5  |j                  |«       d d d «       |j                  d   dk(  sJ ‚|j                  |«      }t        |d d …df   t        j                  |j                  d   «      «       y # 1 sw Y   ŒbxY w)NÚalwaysr   r   r   r   r   r   r   r   )r!   r   r    r"   )r!   r   r    z2Feature 0 is constant and will be replaced with 0.r<   )ÚwarningsÚsimplefilterr1   r2   r   rA   Úwarnsr&   r'   r3   r)   r	   ÚzerosrI   )r!   r(   r+   Úwarning_messageÚXts        r,   Útest_same_min_maxrc   ø   sØ   € ä×Ñ˜(Ô#Ü
�‰�1�b�'˜A˜r˜7 Q¨ F¨Q°¨FÐ3Ó4€AØ�:ÒÜØØØØ3ô	
‰ô ¨¸À9ÔMˆØJ€OÜ	�‰”k¨Ö	9Ø�‰�Œ
÷ 
:à�;‰;�q‰>˜QÒÐÐà	�‰�qÓ	€BÜ�rš!˜Q˜$‘x¤§¡¨!¯'©'°!©*Ó!5Õ6÷ 
:Ð	9ús   Á7C*Ã*C3c                  ó   — t        j                  d«      } t        dd¬«      }t        j                  t
        «      5  |j                  | «       d d d «       t        dd¬«      }|j                  | j                  dd«      «       t        j                  t
        «      5  |j                  | «       d d d «       y # 1 sw Y   ŒkxY w# 1 sw Y   y xY w)Nr:   r   r   r/   r   r   )	r1   Úaranger   rA   rB   rC   r'   Úreshaper)   rS   s     r,   Útest_transform_1d_behaviorrg     s�   € Ü
�	‰	�!‹€AÜ
 !Ð5LÔ
M€CÜ	�‰”zÕ	"Ø�‰�Œ
÷ 
#ô  !Ð5LÔ
M€CØ‡G�GˆA�I‰I�b˜!ÓÔÜ	�‰”zÕ	"Ø�‰�aÔ÷ 
#Ð	"÷ 
#Ð	"ú÷
 
#Ð	"ús   ¼B8ÂCÂ8CÃCÚir   é	   c                 ó  — t        j                  g d¢«      j                  dd«      }t        j                  g d¢«      j                  dd«      }|d| z  z  }t        ddd¬	«      j	                  |«      }t        ||«       y )
N)r;   ç      @g      @g       @g      $@r   r   )r   r   r   r   r   rP   r   r   r   ©r   r    r"   )r1   r2   rf   r   r0   r	   )rh   ÚX_initÚXt_expectedr(   rb   s        r,   Útest_numeric_stabilityro     ss   € ä�X‰XÒ0Ó1×9Ñ9¸"¸aÓ@€FÜ—(‘(š?Ó+×3Ñ3°B¸Ó:€Kð 	��Q‘‰€AÜ	Ø˜Ð4Kô
ç�m�AÓð ô �{ BÕ'r7   c            
      ó  — t        g d¢dd¬«      j                  t        «      } | j                  t        «      }t        g d¢dd¬«      j                  t        «      } | j                  t        «      }t	        j
                  |«      rJ ‚t        t        dD �cg c]  }t        j                  |«      ‘Œ c}d¬«      j                  |«      |«       t        g d¢dd¬«      j                  t        «      } | j                  t        «      }t	        j
                  |«      sJ ‚t        t        dD �cg c]  }t        j                  |«      ‘Œ c}d	¬«      j                  |«      j                  «       |j                  «       «       y c c}w c c}w )
NrH   r   r   rl   úonehot-denseF)Ú
categoriesÚsparse_outputÚonehotT)r   r'   r(   r)   ÚspÚissparser	   r   r1   re   r0   Útoarray)r+   ÚXt_1ÚXt_2rh   ÚXt_3s        r,   Útest_encode_optionsr{   '  s@  € Ü
Ú IÐ?Vôç	�cŒ!ƒfð ð �=‰=œÓ€DÜ
ÚØØ/ô÷ 
�cŒ!ƒfð	 ð
 �=‰=œÓ€DÜ�{‰{˜4Ô Ð Ð ÜÜÙ.:Ó;©l¨œŸ	™	 !�¨lÑ;È5ô	
ç
‰-˜Ó
Øô	ô Ú HÐ>Uôç	�cŒ!ƒfð ð �=‰=œÓ€DÜ�;‰;�tÔÐÐÜÜÙ.:Ó;©l¨œŸ	™	 !�¨lÑ;È4ô	
÷ 
‰�tÓ	ß	‰‹Ø�‰‹õùò <ùò <s   ÂFÄ,FzIstrategy, quantile_method, expected_2bins, expected_3bins, expected_5bins)r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r:   r:   )r   r   r   r   r   r   )r   r   r   r   r   r:   )r   r   r   r   r   r   )r   r   r   r   r:   r:   c                 ó®  — t        j                  g d¢«      j                  dd«      }t        d| |d¬«      }|j	                  |«      }t        ||j                  «       «       t        d| |d¬«      }|j	                  |«      }t        ||j                  «       «       t        d| |d¬«      }|j	                  |«      }t        ||j                  «       «       y )	N)r   r   r   r   ri   rP   r   r   r   r   ©r   r!   r"   r    r   é   )r1   r2   rf   r   r0   r	   Úravel)r!   r"   Úexpected_2binsÚexpected_3binsÚexpected_5binsr(   r+   rb   s           r,   Útest_nonuniform_strategiesrƒ   H  sÅ   € ô" 	�‰Ò&Ó'×/Ñ/°°AÓ6€Aô Ø˜8°_ÈYô€Cð 
×	Ñ	˜1Ó	€BÜ�~ r§x¡x£zÔ2ô Ø˜8°_ÈYô€Cð 
×	Ñ	˜1Ó	€BÜ�~ r§x¡x£zÔ2ô Ø˜8°_ÈYô€Cð 
×	Ñ	˜1Ó	€BÜ�~ r§x¡x£zÕ2r7   z&strategy, expected_inv,quantile_method)ç      ø¿r;   ç      Àr   )r   rR   ç      Àr   )r   rk   r„   r   )r   rk   r„   r   )g      ö¿g      @g      Àg      â¿)g      À¿g      @g      Àg      â?)g      è?g      @g      ô¿g      ú?)r„   r;   r…   g      è¿)r   rR   r†   rQ   )r   rk   r„   g      ô?r    )r   rt   rq   c                 ó†   — t        d| ||¬«      }|j                  t        «      }|j                  |«      }t	        ||«       y )Nr   r}   )r   r0   r(   Úinverse_transformr   )r!   r    Úexpected_invr"   Úkbdrb   ÚXinvs          r,   Útest_inverse_transformrŒ   q  sD   € ôJ Ø˜8°_ÈVô€Cð 
×	Ñ	œ1Ó	€BØ× Ñ  Ó$€DÜ˜l¨DÕ1r7   c                 ó’  — t        j                  g d¢«      d d …d f   }| dk(  rt        d| dd¬«      }nt        d| d¬«      }|j                  |«       t        j                  dd	g«      d d …d f   }|j	                  |«      }t        |j                  d
¬«      dz   |j                  «       t        |j                  d
¬«      d
g«       y )N©r   r   r   r   r   r:   r   r   )r   r!   r    r"   )r   r!   r    r   r~   r   )Úaxisr   )	r1   r2   r   r'   r)   r	   Úmaxr3   Úmin)r!   r(   rŠ   ÚX2ÚX2ts        r,   Ú test_transform_outside_fit_ranger”   ž  s®   € ä
�‰’Óšq $˜wÑ'€Aà�:ÒÜØØØØ3ô	
‰ô  a°(À9ÔMˆØ‡G�GˆA„Jä	�‰�2�q�'Ó	š1˜d˜7Ñ	#€BØ
�-‰-˜Ó
€CÜ�s—w‘w A�w“¨Ñ*¨C¯K©KÔ8Ü�s—w‘w A�w“¨¨Õ,r7   c            	      ó^  — t        j                  g d¢«      d d …d f   } | j                  «       }t        ddd¬«      }|j	                  | «      }t        | |«       |j                  «       }|j                  |«      }t        ||«       t        |t        j                  dgdgdgdgg«      «       y )	NrŽ   r   r   r   )r   r"   r    r   r   r   )r1   r2   rX   r   r0   r	   rˆ   )r(   ÚX_beforer+   rb   Ú	Xt_beforer‹   s         r,   Útest_overwriter˜   ³  s›   € Ü
�‰’Óšq $˜wÑ'€AØ�v‰v‹x€Hä
ØÐ"9À)ô€Cð 
×	Ñ	˜1Ó	€BÜ�q˜(Ô#à—‘“	€IØ× Ñ  Ó$€DÜ�r˜9Ô%Ü�tœRŸX™X¨ u¨s¨e°c°U¸S¸EÐ&BÓCÕDr7   z-strategy, expected_bin_edges, quantile_method)r   r   r   c                 óö   — dgdgdgdgdgdgg}t        d| |d ¬«      }d}t        j                  t        |¬«      5  |j	                  |«       d d d «       t        |j                  d   |«       y # 1 sw Y   Œ#xY w)Nr   r   )r   r!   r"   Ú	subsampleú'Consider decreasing the number of bins.r<   )r   rA   r_   r&   r'   r   rJ   )r!   Úexpected_bin_edgesr"   r(   rŠ   ra   s         r,   Útest_redundant_binsr�   Ã  s{   € ð ˆˆqˆc�A�3˜˜˜a˜S 1 #Ð&€AÜ
Ø˜8°_ÐPTô€Cð @€OÜ	�‰”k¨Ö	9Ø�‰�Œ
÷ 
:ô ˜cŸn™n¨QÑ/Ð1CÕD÷ 
:Ð	9ús   »A/Á/A8c                  óÚ  — t        j                  g d¢«      j                  dd«      } t        j                  g d¢«      }t        j                  g d¢«      j                  dd«      }t        dddd	¬
«      }d}t	        j
                  t        |¬«      5  |j                  | «       d d d «       t        |j                  d   |«       t        |j                  | «      |«       y # 1 sw Y   Œ>xY w)N)çš™™™™™©?rŸ   çffffffî?r   r   )rŸ   gq=
×£pÍ?g=
×£p=Ú?gáz®Gáâ?g¤p=
×£è?r    )r   r   r:   rP   r   r   rF   r   r›   r<   r   )r1   r2   rf   r   rA   r_   r&   r'   r   rJ   r)   )r(   rM   rb   rŠ   ra   s        r,   Ú!test_percentile_numeric_stabilityr¡   Ö  sµ   € Ü
�‰Ò#Ó$×,Ñ,¨R°Ó3€AÜ—‘Ò=Ó>€IÜ	�‰’)Ó	×	$Ñ	$ R¨Ó	+€BÜ
ØØØØ ô	€Cð @€OÜ	�‰”k¨Ö	9Ø�‰�Œ
÷ 
:ô ˜cŸn™n¨QÑ/°Ô;Ü˜cŸm™m¨AÓ.°Õ3÷	 
:Ð	9ús   ÂC!Ã!C*Úin_dtypeÚ	out_dtypec                 ó@  — t        j                  t        | ¬«      }t        d|d|¬«      }|j	                  |«       |�|}n<|€.|j
                  t         j                  k(  rt         j                  }n|j
                  }|j                  |«      }|j
                  |k(  sJ ‚y ©NrV   r   r   )r   r    r"   r4   )	r1   r2   r(   r   r'   r4   Úfloat16rW   r)   )r¢   r£   r    ÚX_inputrŠ   Úexpected_dtyperb   s          r,   Útest_consistent_dtyper©   ë  sŒ   € ô �h‰h”q Ô)€GÜ
ØØØ/Øô	€Cð ‡G�GˆGÔð ÐØ"‰Ø	Ð	˜wŸ}™}´·
±
Ò:äŸ™‰à Ÿ™ˆØ	�‰�wÓ	€BØ�8‰8�~Ò%Ð%Ñ%r7   Úinput_dtypec                 óN  — t        j                  t        | ¬«      }t        d|dt         j                  ¬«      }|j                  |«       |j                  |«      }t        d|dt         j                  ¬«      }|j                  |«       |j                  |«      }t        ||«       y r¥   )	r1   r2   r(   r   Úfloat32r'   r)   rW   r   )rª   r    r§   Úkbd_32ÚXt_32Úkbd_64ÚXt_64s          r,   Útest_32_equal_64r±     s’   € ô
 �h‰h”q Ô,€Gô ØØØ/Ü�j‰jô	€Fð ‡J�JˆwÔØ×Ñ˜WÓ%€Eô ØØØ/Ü�j‰jô	€Fð ‡J�JˆwÔØ×Ñ˜WÓ%€Eä  ¨Õ.r7   c                  óè  — t        j                  g d¢«      j                  dd«      } t        dddd¬«      }|j	                  | «       t        |«      }|j                  d ¬	«       |j	                  | «       t        |j                  d
   |j                  d
   «      D ]%  \  }}t         j                  j                  ||«       Œ' |j                  j                  |j                  j                  k(  sJ ‚y )Nr   r   r   rP   r   r   r   r   ©rš   r   )r1   r2   rf   r   r'   r   Ú
set_paramsrK   rJ   Útestingr   rI   )r(   Úkbd_defaultÚkbd_without_subsamplingÚbin_kbd_defaultÚbin_kbd_with_subsamplings        r,   Ú'test_kbinsdiscretizer_subsample_defaultrº   "  sÝ   € ä
�‰Ò"Ó#×+Ñ+¨B°Ó2€AÜ"ØØØØ/ô	€Kð ‡O�O�AÔä# KÓ0ÐØ×&Ñ&°Ð&Ô6Ø×Ñ Ô"ä58Ø×Ñ˜qÑ!Ð#:×#EÑ#EÀaÑ#Hö6Ñ1ˆÐ1ô 	�
‰
×"Ñ" ?Ð4LÕMð6ð ×!Ñ!×'Ñ'Ð+B×+MÑ+M×+SÑ+SÒSÐSÑSr7   zencode, expected_namesrt   r   r:   ÚfeatÚ_rq   r   c                 ó8  — g d¢g d¢g d¢g d¢g}t        d| d¬«      j                  |«      }|j                  |«      }t        d«      D �cg c]  }d	|› �‘Œ	 }}|j	                  |«      }|j
                  d
   |j
                  d   k(  sJ ‚t        ||«       yc c}w )z[Check get_feature_names_out for different settings.
    Non-regression test for #22731
    ©r   r   r   ©r   r   r   ©r   r   r   ©r   r:   r   r:   r   rl   r   r»   r   r   N)r   r'   r)   ÚrangeÚget_feature_names_outrI   r	   )r    Úexpected_namesr(   rŠ   rb   rh   Úinput_featuresÚoutput_namess           r,   Ú*test_kbinsdiscrtizer_get_feature_names_outrÇ   8  sž   € ò4 
’k¢:ªzÐ:€Aä
Ø˜Ð1Hôç	�cˆ!ƒfð ð 
�‰�qÓ	€Bä*/°¬(Ó3©( Q˜˜Q˜C’j¨(€NÐ3Ø×,Ñ,¨^Ó<€LØ�8‰8�A‰;˜,×,Ñ,¨QÑ/Ò/Ð/Ð/ä�| ^Õ4ùò	 4s   Á
Bc                 óz  — t         j                  j                  |«      j                  d«      dz   }| dk(  rt	        | d|d¬«      }nt	        | d|¬«      }|j                  |«       t        |«      }|j                  d ¬«       |j                  |«       t        |j                  d	   |j                  d	   d
¬«       y )N)i † r   r   r   iPÃ  r   )r!   rš   Úrandom_stater"   )r!   rš   rÉ   r³   r   g{®Gáz„?)Úrtol)
r1   ÚrandomÚRandomStateÚrandom_sampler   r'   r   r´   r   rJ   )r!   Úglobal_random_seedr(   Úkbd_subsamplingÚkbd_no_subsamplings        r,   Útest_kbinsdiscretizer_subsamplerÑ   `  s½   € ô 	�	‰	×ÑÐ0Ó1×?Ñ?ÀÓLÈqÑP€Aà�:ÒÜ*ØØØ+Ø3ô	
‰ô +Ø¨Ð=Oô
ˆð ×Ñ˜Ôä˜Ó/ÐØ×!Ñ!¨DÐ!Ô1Ø×Ñ˜1Ôô Ø×"Ñ" 1Ñ%Ð'9×'DÑ'DÀQÑ'GÈdör7   c                  ó¶   — g d¢g d¢g d¢g d¢g} t        j                  t        d¬«      5  t        d¬«      j	                  | «       d d d «       y # 1 sw Y   y xY w)	Nr¾   r¿   rÀ   rÁ   a%  The current default behavior, quantile_method='linear', will be changed to quantile_method='averaged_inverted_cdf' in scikit-learn version 1.9 to naturally support sample weight equivalence properties by default. Pass quantile_method='averaged_inverted_cdf' explicitly to silence this warning.r<   r   )r!   )rA   r_   ÚFutureWarningr   r'   )r(   s    r,   Ú$test_quantile_method_future_warningsrÔ   }  sI   € Ú	’k¢:ªzÐ:€AÜ	�‰Üðö
ô 	 *Ô-×1Ñ1°!Ô4÷
÷ 
ñ 
ús   ªAÁAc                  óÄ   — g d¢g d¢g d¢g d¢g} d}t        j                  t        |¬«      5  t        dd¬	«      j	                  | g d
¢¬«       d d d «       y # 1 sw Y   y xY w)Nr¾   r¿   rÀ   rÁ   z²When fitting with strategy='quantile' and sample weights, quantile_method should either be set to 'averaged_inverted_cdf' or 'inverted_cdf', got quantile_method='linear' instead.r<   r   rF   )r!   r"   )r   r   r   r   r$   )rA   rB   rC   r   r'   )r(   Úexpected_msgs     r,   Ú/test_invalid_quantile_method_with_sample_weightr×   ‹  sb   € Ú	’k¢:ªzÐ:€Að	@ð ô
 
�‰ÜØö
ô 	 *¸hÔG×KÑKØÚ&ð 	Lô 	
÷	
÷ 
ñ 
ús   ¬!AÁA)2r]   Únumpyr1   rA   Úscipy.sparseÚsparseru   Úsklearnr   Úsklearn.preprocessingr   r   Úsklearn.utils._testingr   r   r   r	   r
   r(   ÚmarkÚparametrizer-   r8   rE   rN   ÚfilterwarningsrT   rZ   rc   rg   rÂ   ro   r{   rƒ   rŒ   r”   r˜   r�   r¡   r¦   r¬   rW   r©   r±   rº   ÚfloatrÇ   rÑ   rÔ   r×   )Úcol_idÚbin_ids   00r,   Ú<module>rä      sÄ  ðÛ ã Û Ý å ß A÷õ ò Ò+Ò->ÂÐP€ð ‡�×ÑØ8ð ØÚš<ª²|ÐDØð		
ð ØÚš<ª²|ÐDØð		
ð Ø#Úš<ª²|ÐDØð		
ð ØÚš<ª²|ÐDÚð		
ð ØÚš<ª²|ÐDÚð		
ð Ø#Úš<ª²|ÐDÚð		
ð Ø#Úš<ª²|ÐDÚð		
ð Ø#Úš<ª²|ÐDÚð		
ð ØÚš<ª²|ÐDÚð		
ð ØÚš<ª²|ÐDÚð		
ðo=ó@ñB3óC@ðB3ò%ò#ðL ‡�×ÑØ8ð ØÚš<ª²|ÐDØð		
ð ØÚš<ª²|ÐDØð		
ð ØÚš<ª²|ÐDØð		
ð Ø#Úš<ª²|ÐDØð		
ð Ø#Úš<ª²|ÐDÚð		
ð Ø#Úš<ª²|ÐDÚð		
ð Ø#Úš<ª²|ÐDÚð		
ð ØÚš<ª²|ÐDÚð		
ðW1ó4ñj0ók4ðj0ð  ‡�×ÑÐDÓEñRó FðRð  ‡�×Ñ˜ h°
Ð%;Ó<ñ7ó =ð7ð$ ‡�×Ñ˜Ò%FÓGñ7ó Hð7ò*	ð ‡�×Ñ˜™e A q›kÓ*ñ	(ó +ð	(òðB ‡�×ÑØOà	�FÒ.Ò0BÒDVÐWØ	�6Ò-Ò/AÒCUÐVàØ#ÚÚÚð	
ð
óñ3óð3ð6 ‡�×ÑØ,ð â'Ú'Ú%Ú%ð	ð ð		
ð â0Ú0Ú/Ú*ð	ð ð		
ð â(Ú&Ú&Ú&ð	ð $ð		
ð+ó"ðF ‡�×Ñ˜Ò#HÓIñ2ó JóG"ðH2ð ‡�×Ñ˜Ò%FÓGñ-ó Hð-ò(Eð  ‡�×ÑØ3à	’[Ð"9Ð:Ø	’; Ð'ðóñ	Eóð	Eò4ð* ‡�×Ñ˜ b§j¡j°"·*±*¸b¿j¹jÐ%IÓJØ‡�×Ñ˜ t¨R¯Z©Z¸¿¹Ð&DÓEØ‡�×Ñ˜Ò#HÓIñ&ó Jó Fó Kð&ð, ‡�×Ñ˜¨¯©°R·Z±ZÀÇÁÐ(LÓMØ‡�×Ñ˜Ò#HÓIñ/ó Jó Nð/ò8Tð, ‡�×ÑØð ñ $ Aœhôá&�FÙ# Ažh�Fð �v�h˜a¡ f£˜Ò/à&ð 0Ø&òð	
ð ñ $ Aœhôá&�FÙ# Ažh�Fð �v�h˜a¡ f£˜Ò/à&ð 0Ø&òð	
ð 
±5¸´8Ó<±8¨�t˜F˜8’_°8Ñ<Ð=ð#óñ,5ó-ð,5ð$ ‡�×Ñ˜Ò%FÓGñó Hðò85ó
ùó]ùóùò =s   Ò"UÓ"U
Ó>U