Ë
    ÜÍ:j�R  ã                   ó¤
  — 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 d/¢fddg d-¢g d0¢g d1¢fddg d2¢g d0¢g d3¢fg«      d4„ «       Z!ej&                  j)                  d5d
g d6¢g d7¢g d8¢g d9¢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)                  d@g dA¢«      dB„ «       «       Z"ej&                  j)                  d"g d$¢«      dC„ «       Z#dD„ Z$ej&                  j)                  dEdg dF¢dfdg dF¢dfg«      dG„ «       Z%dH„ Z&ej&                  j)                  dIejN                  ejP                  ejR                  g«      ej&                  j)                  dJdejP                  ejR                  g«      ej&                  j)                  d@g dA¢«      dK„ «       «       «       Z*ej&                  j)                  dLejN                  ejP                  ejR                  g«      ej&                  j)                  d@g dA¢«      dM„ «       «       Z+dN„ Z,ej&                  j)                  dOdP edQ«      D � �cg c]  }  edR«      D ]  }dS| › dT e-|«      › �‘Œ Œ c}} fdU edQ«      D � �cg c]  }  edR«      D ]  }dS| › dT e-|«      › �‘Œ Œ c}} fdV edQ«      D � cg c]  } dS| › �‘Œ	 c} fg«      dW„ «       Z.ej&                  j)                  d"g d$¢«      dX„ «       Z/dY„ Z0yc c}} w c c}} w c c} w )Zé    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Úaveraged_inverted_cdf)r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   Úkmeans)r   r   r   r   Úquantile)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        ú„/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/sklearn/preprocessing/tests/test_discretization.pyÚtest_fit_transformr,      s\   € ôD Ø˜¨XÀô€Cô 
¤+Ô	.ñ 0à�‰” ˆÔ/÷0ô �s—}‘}¤QÓ'¨Õ2÷0ð 0ú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_binsr7   _   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¤“}ò%ð %ñ %r6   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.)r0   Úfullr   ÚpytestÚraisesÚ
ValueErrorr/   r'   )r   r*   Úerr_msgs      r+   Útest_invalid_n_bins_arrayrD   i   sF  € ä�W‰W�V˜SÓ!€FÜ
 &Ð:QÔ
R€CØK€GÜ	�‰”z¨Ô	1ñ Ø×Ñœ!Ô÷ò €FÜ
 &Ð:QÔ
R€CØK€GÜ	�‰”z¨Ô	1ñ Ø×Ñœ!Ô÷ò €FÜ
 &Ð:QÔ
R€Cð	ð ô
 
�‰”z¨Ô	1ñ Ø×Ñœ!Ô÷ò €FÜ
 &Ð:QÔ
R€Cð	ð ô
 
�‰”z¨Ô	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(   r0   r1   ÚshapeÚ
bin_edges_Úzipr2   )r    r!   r)   r$   r*   Ú
n_featuresÚ	bin_edgesr   s           r+   Útest_fit_transform_n_bins_arrayrM   �   s²   € ôl ÚØØØ'ô	÷
 
�cŒ!˜=€cÓ)ð ô �s—}‘}¤QÓ'¨Ô2ô —‘œ!“×"Ñ" 1Ñ%€JØ�>‰>×Ñ J =Ò0Ð0Ð0Ü  §¡°·±Ó=ò 0Ñˆ	�6Ø�‰ 6¨A¡: -Ó/Ð/Ð/ñ0r6   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)r0   r1   r   r&   r   rI   r(   ©r'   r*   s     r+   Ú*test_kbinsdiscretizer_effect_sample_weightrS   Ô   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ÕQr6   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   ©r3   r#   N)r   r0   r1   Úfloat64Úcopyr&   r'   r   )r    r*   r$   Úsample_weight_copys       r+   Ú/test_kbinsdiscretizer_no_mutating_sample_weightrY   å   sp   € ð �:ÒÜØØØØ3ô	
‰ô  a°	ÀHÔMˆÜ—H‘Hš\´·±Ô<€MÜŸ™ Ó/ÐØ‡G�GŒA˜]€GÔ+Ü�MÐ#5Õ6r6   )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Úsimplefilterr0   r1   r   r@   Úwarnsr%   r&   r2   r(   r	   ÚzerosrH   )r    r'   r*   Úwarning_messageÚXts        r+   Útest_same_min_maxrb   ø   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÷ð ú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)Nr9   r   r   r.   r   r   )	r0   Úaranger   r@   rA   rB   r&   Úreshaper(   rR   s     r+   Útest_transform_1d_behaviorrf     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   rO   r   r   r   ©r   r   r!   )r0   r1   re   r   r/   r	   )rg   ÚX_initÚXt_expectedr'   ra   s        r+   Útest_numeric_stabilityrn     ss   € ä�X‰XÒ0Ó1×9Ñ9¸"¸aÓ@€FÜ—(‘(š?Ó+×3Ñ3°B¸Ó:€Kð 	��Q‘‰€AÜ	Ø˜Ð4Kô
ç�m�AÓð ô �{ BÕ'r6   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 )
NrG   r   r   rk   úonehot-denseF)Ú
categoriesÚsparse_outputÚonehotT)r   r&   r'   r(   ÚspÚissparser	   r   r0   rd   r/   Útoarray)r*   ÚXt_1ÚXt_2rg   ÚXt_3s        r+   Útest_encode_optionsrz   '  s8  € Ü
Ú IÐ?Vôç	�cŒ!ƒfð ð �=‰=œÓ€DÜ
ÚØØ/ô÷ 
�cŒ!ƒfð	 ð
 �=‰=œÓ€DÜ�{‰{˜4Ô Ð Ð ÜÜØ.:Ö;¨œŸ	™	 !�Ò;È5ô	
ç
‰-˜Ó
Øô	ô Ú HÐ>Uôç	�cŒ!ƒfð ð �=‰=œÓ€DÜ�;‰;�tÔÐÐÜÜØ.:Ö;¨œŸ	™	 !�Ò;È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   r9   r9   )r   r   r   r   r   r   )r   r   r   r   r   r9   )r   r   r   r   r   r   )r   r   r   r   r9   r9   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   rh   rO   r   r   r   r   ©r   r    r!   r   r   é   )r0   r1   re   r   r/   r	   Úravel)r    r!   Úexpected_2binsÚexpected_3binsÚexpected_5binsr'   r*   ra   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Õ2r6   z&strategy, expected_inv,quantile_method)ç      ø¿r:   ç      Àr   )r   rQ   ç      Àr   )r   rj   rƒ   r   )r   rj   rƒ   r   )g      ö¿g      @g      Àg      â¿)g      À¿g      @g      Àg      â?)g      è?g      @g      ô¿g      ú?)rƒ   r:   r„   g      è¿)r   rQ   r…   rP   )r   rj   rƒ   g      ô?r   )r   rs   rp   c                 ó†   — t        d| ||¬«      }|j                  t        «      }|j                  |«      }t	        ||«       y )Nr   r|   )r   r/   r'   Úinverse_transformr   )r    r   Úexpected_invr!   Úkbdra   ÚXinvs          r+   Útest_inverse_transformr‹   }  sD   € ôJ Ø˜8°_ÈVô€Cð 
×	Ñ	œ1Ó	€BØ× Ñ  Ó$€DÜ˜l¨DÕ1r6   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   r9   r   r   )r   r    r   r!   )r   r    r   r   r}   r   )Úaxisr   )	r0   r1   r   r&   r(   r	   Úmaxr2   Ú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“¨¨Õ,r6   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   )r0   r1   rW   r   r/   r	   r‡   )r'   ÚX_beforer*   ra   Ú	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ÕDr6   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   r@   r^   r%   r&   r   rI   )r    Úexpected_bin_edgesr!   r'   r‰   r`   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÷ð ú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   r9   rO   r   r   rE   r   rš   r;   r   )r0   r1   re   r   r@   r^   r%   r&   r   rI   r(   )r'   rL   ra   r‰   r`   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÷	ð ú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 ©NrU   r   r   )r   r   r!   r3   )	r0   r1   r'   r   r&   r3   Úfloat16rV   r(   )r¡   r¢   r   ÚX_inputr‰   Úexpected_dtypera   s          r+   Útest_consistent_dtyper¨   ÷  sŒ   € ô �h‰h”q Ô)€GÜ
ØØØ/Øô	€Cð ‡G�GˆGÔð ÐØ"‰Ø	Ð	˜wŸ}™}´·
±
Ò:äŸ™‰à Ÿ™ˆØ	�‰�wÓ	€BØ�8‰8�~Ò%Ð%Ñ%r6   Úinput_dtypec                 óN  — t        j                  t        | ¬«      }t        d|dt         j                  ¬«      }|j                  |«       |j                  |«      }t        d|dt         j                  ¬«      }|j                  |«       |j                  |«      }t        ||«       y r¤   )	r0   r1   r'   r   Úfloat32r&   r(   rV   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ä  ¨Õ.r6   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   rO   r   r   r   r   ©r™   r   )r0   r1   re   r   r&   r   Ú
set_paramsrJ   rI   Útestingr   rH   )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ò NÑ1ˆÐ1ô 	�
‰
×"Ñ" ?Ð4LÕMðNð ×!Ñ!×'Ñ'Ð+B×+MÑ+M×+SÑ+SÒSÐSÑSr6   zencode, expected_namesrs   r   r9   ÚfeatÚ_rp   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   r9   r   r9   r   rk   r   rº   r   r   N)r   r&   r(   ÚrangeÚget_feature_names_outrH   r	   )r   Úexpected_namesr'   r‰   ra   rg   Úinput_featuresÚoutput_namess           r+   Ú*test_kbinsdiscrtizer_get_feature_names_outrÆ   D  s�   € ò4 
’k¢:ªzÐ:€Aä
Ø˜Ð1Hôç	�cˆ!ƒfð ð 
�‰�qÓ	€Bä*/°«(Ö3 Q˜˜Q˜C’jÐ3€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)
r0   ÚrandomÚRandomStateÚrandom_sampler   r&   r   r³   r   rI   )r    Úglobal_random_seedr'   Úkbd_subsamplingÚkbd_no_subsamplings        r+   Útest_kbinsdiscretizer_subsamplerÐ   l  s½   € ô 	�	‰	×ÑÐ0Ó1×?Ñ?ÀÓLÈqÑP€Aà�:ÒÜ*ØØØ+Ø3ô	
‰ô +Ø¨Ð=Oô
ˆð ×Ñ˜Ôä˜Ó/ÐØ×!Ñ!¨DÐ!Ô1Ø×Ñ˜1Ôô Ø×"Ñ" 1Ñ%Ð'9×'DÑ'DÀQÑ'GÈdör6   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   rE   )r    r!   )r   r   r   r   r#   )r@   rA   rB   r   r&   )r'   Úexpected_msgs     r+   Ú/test_invalid_quantile_method_with_sample_weightrÓ   ‰  sg   € Ú	’k¢:ªzÐ:€Að	@ð ô
 
�‰ÜØô
ñ 
ô 	 *¸hÔG×KÑKØÚ&ð 	Lô 	
÷	
÷ 
ñ 
ús   ¬!AÁA)1r\   Únumpyr0   r@   Úscipy.sparseÚsparsert   Úsklearnr   Úsklearn.preprocessingr   r   Úsklearn.utils._testingr   r   r   r	   r
   r'   ÚmarkÚparametrizer,   r7   rD   rM   ÚfilterwarningsrS   rY   rb   rf   rÁ   rn   rz   r‚   r‹   r“   r—   rœ   r    r¥   r«   rV   r¨   r°   r¹   ÚfloatrÆ   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ð Ø#ÚÚÚð	
ð Ø#ÚÚÚð	
ð Ø#ÚÚÚð	
ðóñ43ó5ð43ð6 ‡�×ÑØ,ð â'Ú'Ú%Ú%ð	ð $ð		
ð â0Ú0Ú/Ú*ð	ð $ð		
ð â(Ú&Ú&Ú&ð	ð $ð		
ð+ó"ðF ‡�×Ñ˜Ò#HÓIñ2ó JóG"ðH2ð ‡�×Ñ˜Ò%FÓGñ-ó Hð-ò(Eð  ‡�×ÑØ3à	’[Ð"9Ð:Ø	’;Ð 7Ð8ðóñ	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÷àÙ# A›hòð ð �v�h˜a¡ f£˜Ò/ðØ/óð	
ð ñ $ A›h÷àÙ# A›hòð ð �v�h˜a¡ f£˜Ò/ðØ/óð	
ð 
±5¸³8Ö<¨�t˜F˜8’_Ò<Ð=ð#óñ,5ó-ð,5ð$ ‡�×Ñ˜Ò%FÓGñó Hðó8
ùóAùóùò =s   Ò"UÓ"UÓ>U