ó
    Û£j$µ ã                   ó¶  • S SK r S SKrS SKrS SKJr  S SKrS SKJ	r	J
r
  S SKJrJr  S SKJr  S SKJrJr  S SKJr  S SKJr  S SKJr  S S	KJr  S S
KJr  S SKJrJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/  S SK0J1r1J2r2  S SK3J4r4  S SK5J6r6J7r7  S SK8J9r9J:r:  S SK;J<r<J=r=J>r>J?r?J@r@JArAJBrBJCrCJDrD  S SKEJFrFJGrG  S SKHJIrIJJrJJKrKJLrLJMrMJNrNJOrO  S SKPJQrQ  \R¤                  " 5       rS\R¨                  R«                  S 5      rVSrWSrX\VR³                  SS\WS9rZ\VR³                  SS\WS9r[\VR¹                  \X\W5      \[-  \Z-   r]\]S SS24   R½                  S\W5      r_\]SS2S 4   R½                  \XS5      r`\_RÃ                  5       rb\`RÃ                  5       rcS rdS reS rfS rgS rh\RÒ                  RÕ                  / SQ\h" 5       5      \RÒ                  RÕ                  S / S!Q5      S" 5       5       rk\RÒ                  RÕ                  / SQ\h" 5       5      \RÒ                  RÕ                  S#\:" 5       5      S$ 5       5       rlS% rm\RÒ                  RÕ                  S&S/\K-   \L-   5      \RÒ                  RÕ                  S'S(S)/5      S* 5       5       rn\RÒ                  RÕ                  S+\'" S(S,9\&" S(S-9/5      \RÒ                  RÕ                  S&S/\K-   \L-   5      \RÒ                  RÕ                  S'S(S)/5      \RÒ                  RÕ                  S.\RÞ                  \Rà                  /5      \RÒ                  RÕ                  S// S0Q5      S1 5       5       5       5       5       rq\RÒ                  RÕ                  S2/ S3Q5      \RÒ                  RÕ                  S4/ S5Q5      \RÒ                  RÕ                  S.\RÞ                  \Rà                  /5      \RÒ                  RÕ                  S&S/\K-   \L-   5      S6 5       5       5       5       rrS7 rs\DS8 5       rtS9 ruS: rvS; rwS< rxS= ry\RÒ                  RÕ                  S&\K\L-   5      S> 5       rz\RÒ                  RÕ                  S?S)S/5      \RÒ                  RÕ                  S&\K\L-   5      S@ 5       5       r{\RÒ                  RÕ                  S?S)S/5      SA 5       r|SB r}\RÒ                  RÕ                  SC\:" 5       5      \RÒ                  RÕ                  SD\G/\FSE9\RÒ                  RÕ                  SF\!" 5       \!" S)SG9\"" 5       \"" S)SG9\ " 5       \#" SHSI9\#" SJSI9\#" SKSI9\" 5       /	\FSE9SL 5       5       5       r~\RÒ                  RÕ                  SF\!" 5       \"" 5       \ " 5       /\FSE9SM 5       rSN r€\RÒ                  RÕ                  SC\:" 5       5      \RÒ                  RÕ                  SD\G/\FSE9\RÒ                  RÕ                  S?S)S/5      SO 5       5       5       r�SP r‚SQ rƒSR r„SS r…\RÒ                  RÕ                  S?S)S/5      \RÒ                  RÕ                  S&\K\L-   5      ST 5       5       r†\RÒ                  RÕ                  SUS)S(/5      \RÒ                  RÕ                  SVS)S(/5      \RÒ                  RÕ                  S&S/\K-   \L-   5      SW 5       5       5       r‡SX rˆ\RÒ                  RÕ                  S&\K\L-   5      SY 5       r‰\RÒ                  RÕ                  S&\K\L-   5      SZ 5       rŠ\RÒ                  RÕ                  S&\L\K-   5      S[ 5       r‹\RÒ                  RÕ                  S&\L\K-   5      S\ 5       rŒS] r�S^ rŽ\RÒ                  RÕ                  S_S)S(/5      \RÒ                  RÕ                  S`S)S(/5      \RÒ                  RÕ                  Sa\R¨                  R¹                  SSb5      \N" ScSdSe9/5      Sf 5       5       5       r�\RÒ                  RÕ                  Sg\L5      Sh 5       r�Si r‘\RÒ                  RÕ                  Sj/ SkQ5      \RÒ                  RÕ                  Sl/ SmQ5      Sn 5       5       r’\RÒ                  RÕ                  Sg\L5      So 5       r“Sp r”Sq r•\RÒ                  RÕ                  Sr\K5      Ss 5       r–\RÒ                  RÕ                  Sr\K5      St 5       r—\RÒ                  RÕ                  Sr\K5      Su 5       r˜Sv r™Sw ršSx r›\RÒ                  RÕ                  Sr\K5      Sy 5       rœSz r�\RÒ                  RÕ                  Sr\K5      S{ 5       ržS| rŸS} r \RÒ                  RÕ                  S~SS€/5      S� 5       r¡S‚ r¢Sƒ r£\RÒ                  RÕ                  Sg\L5      S„ 5       r¤S… r¥S† r¦S‡ r§Sˆ r¨\RÒ                  RÕ                  S&\K\L-   5      S‰ 5       r©SŠ rª\RÒ                  RÕ                  Sg\L5      S‹ 5       r«SŒ r¬\RÒ                  RÕ                  Sg\L5      S� 5       r­SŽ r®\RÒ                  RÕ                  S�/ S�Q5      \RÒ                  RÕ                  Sg\L5      S‘ 5       5       r¯\RÒ                  RÕ                  S�/ S�Q5      \RÒ                  RÕ                  S&\J\K-   \M-   5      S’ 5       5       r°\RÒ                  RÕ                  Sg\L5      S“ 5       r±\RÒ                  RÕ                  Sg\L5      S” 5       r²\RÒ                  RÕ                  S•\GRf                  \´/\K-   \L-   5      S– 5       rµ\RÒ                  RÕ                  SC\:" 5       5      S— 5       r¶S˜ r·S™ r¸Sš r¹S› rºSœ r»\RÒ                  RÕ                  S&\J\K-   \L-   5      S� 5       r¼Sž r½\RÒ                  RÕ                  SŸS S¡/5      S¢ 5       r¾\RÒ                  RÕ                  SŸS S¡/5      \RÒ                  RÕ                  S£S)S(/5      \RÒ                  RÕ                  Sa\`\]/5      S¤ 5       5       5       r¿S¥ rÀS¦ rÁS§ rÂ\RÒ                  RÕ                  Sa\]\GR†                  " \]5      \GR†                  " \]5      * \GRˆ                  " \]GRŠ                  5      /5      S¨ 5       rÆ\RÒ                  RÕ                  SŸS S¡/5      S© 5       rÇSª rÈS« rÉ\RÒ                  RÕ                  S¬/ S­Q5      S® 5       rÊS¯ rËS° rÌ\RÒ                  RÕ                  SŸS S¡/5      S± 5       rÍ\RÒ                  RÕ                  SŸS S¡/5      \RÒ                  RÕ                  S£S)S(/5      S² 5       5       rÎ\RÒ                  RÕ                  SŸS S¡/5      \RÒ                  RÕ                  S£S)S(/5      S³ 5       5       rÏ\RÒ                  RÕ                  SŸS S¡/5      \RÒ                  RÕ                  S£S)S(/5      S´ 5       5       rÐSµ rÑ\RÒ                  RÕ                  S¶\N" S·S¸S S¹9/\L V s/ s H%  n U " \GR¥                  S·\GR¦                  Sº95      PM'     sn -   5      S» 5       rÔ\RÒ                  RÕ                  S¼S½S¾/5      S¿ 5       rÕ\RÒ                  RÕ                  SÀ\GRf                  /\K-   \L-   5      SÁ 5       rÖSÂ r×SÃ rØ\RÒ                  RÕ                  SÄ\"\!\&\'\%\$/5      SÅ 5       rÙ\RÒ                  RÕ                  SÄ\"\!\&\'\%\$\#\/5      SÆ 5       rÚSÇ rÛ\RÒ                  RÕ                  S£S)S(/5      SÈ 5       rÜ\RÒ                  GR»                  \ISÉSÊ9SË 5       rÞ\RÒ                  GR¿                  \O\" SÌ5      :  SÍSÊ9SÎ 5       ràSÏ rá\RÒ                  RÕ                  SÐ\$\%/5      SÑ 5       râ\RÒ                  RÕ                  SÐ\$\%/5      SÒ 5       rã\RÒ                  RÕ                  SÓSÔSÕ/5      \SÖ 5       5       rägs  sn f )×é    N)ÚsparseÚstats)Úconfig_contextÚdatasets)Úclone)ÚRecordingCallbackÚskip_callback_test_if_wasm)ÚNotFittedError)Úparse)Úlinear_kernel)Úcross_val_predict)ÚPipeline)Ú	BinarizerÚKernelCentererÚMaxAbsScalerÚMinMaxScalerÚ
NormalizerÚPowerTransformerÚQuantileTransformerÚRobustScalerÚStandardScalerÚadd_dummy_featureÚmaxabs_scaleÚminmax_scaleÚ	normalizeÚpower_transformÚquantile_transformÚrobust_scaleÚscale)ÚBOUNDS_THRESHOLDÚ_handle_zeros_in_scale)ÚSVR)Úgen_batchesÚshuffle)Úmove_toÚ)yield_namespace_device_dtype_combinations)	Ú_array_api_for_testsÚ_convert_containerÚassert_allcloseÚassert_allclose_dense_sparseÚassert_almost_equalÚassert_array_almost_equalÚassert_array_equalÚassert_array_lessÚskip_if_32bit)Ú_get_check_estimator_idsÚ check_array_api_input_and_values)Ú_IS_WASMÚCOO_CONTAINERSÚCSC_CONTAINERSÚCSR_CONTAINERSÚLIL_CONTAINERSÚ_sparse_random_arrayÚ
sp_version)Úmean_variance_axisé   éè  éÿÿÿÿé   ©Úsizeé
   c                 óH   • [        U S5      (       a  U R                  5       n U $ )NÚtoarray)ÚhasattrrB   ©Úas    Ú³C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\sklearn/preprocessing/tests/test_data.pyrB   rB   Z   s   € Üˆq�)×ÑØ�I‰I‹KˆØ€Hó    c                 óH   • [         R                  " U 5      R                  S   $ )Nr   )ÚnpÚasarrayÚshaperD   s    rF   Ú_check_dim_1axisrL   `   s   € Ü�:Š:�a‹=×Ñ˜qÑ!Ð!rG   c                 óJ   • X#:w  a  U S-   U-  U:X  d   eg X-  X!-
  -   U:X  d   eg )Nr=   © )ÚiÚbatch_startÚ
batch_stopÚnÚ
chunk_sizeÚn_samples_seens         rF   Úassert_correct_incrrU   d   s6   € ØƒØ�A‘˜Ñ# ~Ó5Ð5Ñ5à‰~ Ñ!9Ñ:¸nÓLÐLÑLrG   c                  ó`  • SS/n SS/n[        X5       H…  u  p#[        R                  X#5      n[        R                  U5      n[        5       n[        R                  US5      S-  n[        R
                  " [        5         UR                  XEUS9  S S S 5        M‡     g ! , (       d  f       M™  = f)Né   é   r=   ©Úsample_weight)ÚzipÚrngÚrandnr   ÚpytestÚraisesÚ
ValueErrorÚfit)Ú
n_samplessÚn_featuressÚ	n_samplesÚ
n_featuresÚXÚyÚscalerÚsample_weight_notOKs           rF   Ú9test_raises_value_error_if_sample_weights_greater_than_1drj   k   s’   € ð �Q�€JØ�a�&€Kä!$ ZÖ!=Ñˆ	Ü�I‰I�iÓ,ˆÜ�I‰I�iÓ ˆäÓ!ˆô "Ÿi™i¨	°1Ó5¸Ñ:ÐÜ�]Š]œ:Õ&Ø�J‰J�qÐ+>ˆJÑ?÷ 'Ñ&ò ">÷ 'Ö&ús   Â BÂ
B-	c            	   #   ó"  #   • / SQ/ SQ// SQ/ SQ/ SQ/SS/4/ SQ/ SQ// SQ/ SQ/ SQ/ SQ/[         R                  " SS/5      4S[         R                  S/[         R                  [         R                  S//S[         R                  S/[         R                  [         R                  S/[         R                  [         R                  S/[         R                  [         R                  S//[         R                  " SS/5      44 S h  v•N   g  N7f)	N©r=   rW   rX   ©é   é   é   ç       @ç      ð?©r=   r   r=   )r   r   r=   r=   rX   )rI   ÚarrayÚnanrN   rG   rF   Ú_yield_xw_x_sampleweightrv   }   sá   é € ò š	Ð"Úš	¢9Ð-Ø�#ˆJð	
ò š	Ð"Úš	¢9ªiÐ8Ü�HŠH�a˜�VÓð	
ð ”—‘˜ˆ^œbŸf™f¤b§f¡f¨aÐ0Ð1à”B—F‘F˜A�Ü—‘œŸ™ Ð#Ü—‘œŸ™ Ð#Ü—‘œŸ™ Ð#ð	ô �HŠH�a˜�VÓð		
ð÷ ó ùs   ‚DDÄDÄD)ÚXwrf   rZ   Úarray_constructor)rt   Ú
sparse_csrÚ
sparse_cscc                 ó2  • UR                  S5      (       + n[        X5      n[        X5      n [        R                  " U R                  S   5      n[        US9nUR                  XUS9  [        R                  " UR                  S   5      n[        US9nUR                  X5        / SQ/ SQ/n	[        UR                  UR                  5        [        UR                  UR                  5        [        UR                  U	5      UR                  U	5      5        g )Nr   r   ©Ú	with_meanrY   ©ç      ø?ç      @ç      @©r�   g      @g      @)Ú
startswithr(   rI   ÚonesrK   r   ra   r+   Úmean_Úvar_Ú	transform)
rw   rf   rZ   rx   r}   ÚywÚscaler_wrg   rh   ÚX_tests
             rF   Ú"test_standard_scaler_sample_weightr‹   –   sÙ   € ð &×0Ñ0°Ó:Ô:€IÜ˜1Ó0€AÜ	˜BÓ	2€Bô 
�Š�—‘˜!‘Ó	€BÜ¨	Ñ2€HØ‡L�L� }€LÑ5ô 	�Š�—‘˜‘
Ó€AÜ iÑ0€FØ
‡J�JˆqÔâšÐ/€Fä˜Ÿ™ h§n¡nÔ5Ü˜Ÿ™ X§]¡]Ô3Ü˜×(Ñ(¨Ó0°(×2DÑ2DÀVÓ2LÕMrG   z"namespace, device_name, dtype_namec           
      óV  • [        X4U5      u  pg[        R                  " U5      R                  USS9n[        R                  " UR
                  S   5      R                  USS9n[        R                  " U 5      R                  USS9n [        R                  " U R
                  S   5      R                  USS9n	[        R                  " / SQ/ SQ/5      R                  USS9n
[        5       nUR                  X5        [        5       nUR                  X	US9  UR                  XS9nUR                  X‡S9nUR                  XS9nUR                  X—S9nUR                  X§S9nUR                  X'S9n[        5       n[        SS	9   UR                  UUUS9  [        UR                  [        S
S9n[        UR                  [        S
S9nS S S 5        [        UR                  W5        [        UR                  W5        [        5       n[        SS	9   UR                  XÞ5        [        UR                  [        S
S9n[        UR                  [        S
S9nS S S 5        [        UR                  W5        [        UR                  W5        [        UU5        [        UU5        [        SS	9   [        [        UR                  U5      [        S
S9[        UR                  U5      [        S
S95        S S S 5        g ! , (       d  f       GN5= f! , (       d  f       N»= f! , (       d  f       g = f)NF©Úcopyr   r~   r‚   rY   ©ÚdeviceT©Úarray_api_dispatchÚcpu©Úxpr�   )r'   rI   rt   Úastyper„   rK   r   ra   rJ   r   r%   r…   r†   r)   r‡   )rw   rf   rZ   Ú	namespaceÚdevice_nameÚ
dtype_namer•   r�   rg   rˆ   rŠ   rh   r‰   ÚX_xpÚy_xpÚXw_xpÚyw_xpÚ	X_test_xpÚsample_weight_xpÚscaler_w_xpÚw_meanÚw_varÚ	scaler_xpÚuw_meanÚuw_vars                            rF   Ú,test_standard_scaler_sample_weight_array_apir¦   ®   s•  € ô & i¸jÓI�J€Bä
�Š�‹×Ñ˜:¨EÐÐ2€AÜ
�Š�—‘˜‘
Ó×"Ñ" :°EÐ"Ð:€AÜ	�Š�"‹×	Ñ	˜Z¨eÐ	Ð	4€BÜ	�Š�—‘˜!‘Ó	×	$Ñ	$ Z°eÐ	$Ð	<€BÜ�XŠX’ªÐ8Ó9×@Ñ@ÀÐRWÐ@ÐX€FäÓ€FØ
‡J�JˆqÔäÓ€HØ‡L�L� }€LÑ5ð �:‰:�aˆ:Ð'€DØ�:‰:�aˆ:Ð'€DØ�J‰J�rˆJÐ)€EØ�J‰J�rˆJÐ)€EØ—
‘
˜6�
Ð1€IØ—z‘z -�zÐ?Ðä Ó"€KÜ	¨4Ó	0Ø�‰˜˜uÐ4DˆÑEÜ˜×*Ñ*¬r¸%Ñ@ˆÜ˜×(Ñ(¬R¸Ñ>ˆ÷ 
1ô
 �H—N‘N FÔ+Ü�H—M‘M 5Ô)ô Ó €IÜ	¨4Ó	0Ø�‰�dÔ!Ü˜)Ÿ/™/¬b¸Ñ?ˆÜ˜Ÿ™¬B°uÑ=ˆ÷ 
1ô
 �F—L‘L 'Ô*Ü�F—K‘K Ô(ô �G˜VÔ$Ü�F˜EÔ"Ü	¨4Ó	0ÜÜ�I×'Ñ'¨	Ó2´rÀ%ÑHÜ�K×)Ñ)¨)Ó4¼ÀEÑJô	
÷ 
1Ð	0÷+ 
1Ö	0ú÷ 
1Õ	0ú÷ 
1Õ	0ús'   ÆAK7ÈAL	Ê)ALË7
LÌ	
LÌ
L(c                  ó¶  • [         [        [        [        4 GH  n [        5       nUR	                  U 5      R                  U SS9n[        U [        5      (       a  [        R                  " U 5      n [        U 5      S:X  aµ  [        UR                  U R                  5       5        [        UR                  [        R                  " [         5      5        [#        UR%                  SS9[        R&                  " [         5      5        [#        UR)                  SS9[        R&                  " [         5      5        O«[        UR                  U R%                  5       5        [        UR                  U R)                  5       5        [#        UR%                  SS9[        R&                  " [         5      5        [#        UR%                  SS9S5        [#        UR)                  SS9S5        UR*                  U R,                  S   :X  d   eUR/                  U5      n[#        X05        GM     [        R                  " S5      n [        5       nUR	                  U 5      R                  U SS9n[        UR                  S5        [        UR                  S5        [#        UR%                  SS9S5        [#        UR)                  SS9S5        UR*                  U R,                  S   :X  d   eg ©	NTr�   r=   r   ©Úaxisç        rr   ©ro   r=   )ÚX_1rowÚX_1colÚX_list_1rowr   ra   r‡   Ú
isinstanceÚlistrI   rt   rL   r+   r…   ÚravelÚscale_r„   re   r,   ÚmeanÚ
zeros_likeÚstdÚn_samples_seen_rK   Úinverse_transform)rf   rh   ÚX_scaledÚX_scaled_backs       rF   Útest_standard_scaler_1dr»   ë   s  € ä”fœk¬;Ô7ˆÜÓ!ˆØ—:‘:˜a“=×*Ñ*¨1°4Ð*Ð8ˆä�aœ×ÑÜ—’˜“ˆAä˜AÓ !Ó#Ü §¡¨a¯g©g«iÔ8Ü §¡¬r¯wªw´zÓ/BÔCÜ% h§m¡m¸ mÐ&;¼R¿]º]Ì:Ó=VÔWÜ% h§l¡l¸ lÐ&:¼B¿MºMÌ*Ó<UÕVä §¡¨a¯f©f«hÔ7Ü §¡¨q¯u©u«wÔ7Ü% h§m¡m¸ mÐ&;¼R¿]º]Ì:Ó=VÔWÜ% h§m¡m¸ mÐ&;¸SÔAÜ% h§l¡l¸ lÐ&:¸CÔ@Ø×%Ñ%¨¯©°©Ó3Ð3Ð3ð ×0Ñ0°Ó:ˆÜ! -×3ñ- 8ô2 	�Š�‹€AÜÓ€FØ�z‰z˜!‹}×&Ñ& q¨tÐ&Ð4€HÜ˜Ÿ™ cÔ*Ü˜Ÿ™ sÔ+Ü˜hŸm™m°˜mÐ3°SÔ9Ü˜hŸl™l°˜lÐ2°CÔ8Ø×!Ñ! Q§W¡W¨Q¡ZÓ/Ð/Ñ/rG   Úsparse_containerÚadd_sample_weightFTc                 óÎ  • [         R                  R                  S5      nSnSnU (       a  [         R                  " U5      nOS nSnUb!  [         R                  [         R
                  /nO/[         R                  [         R
                  [         R                  /nU HÇ  nUR                  X45      R                  U5      n	Ub
  U" U	5      n	Sn[        US9n
U
R                  X•S9R                  U	5      nU	R                  UR                  :X  d   eU
R                  R                  [         R                  :X  d   eU
R                  R                  [         R                  :X  a  MÇ   e   g )Nr   r@   rX   TFr|   rY   )rI   ÚrandomÚRandomStater„   Úfloat64Úfloat32Úfloat16r]   r–   r   ra   r‡   Údtyper…   r³   )r½   r¼   r\   rd   re   rZ   r}   Úsupported_dtyperÄ   rf   rh   r¹   s               rF   Útest_standard_scaler_dtyperÆ     s  € ô �)‰)×
Ñ
 Ó
"€CØ€IØ€JÞÜŸš 	Ó*‰àˆØ€IØÑ#ô Ÿ:™:¤r§z¡zÐ2‰äŸ:™:¤r§z¡z´2·:±:Ð>ˆÛ ˆØ�I‰I�iÓ,×3Ñ3°EÓ:ˆØÑ'Ù  Ó#ˆAØˆIä¨)Ñ4ˆØ—:‘:˜a�:Ð=×GÑGÈÓJˆØ�w‰w˜(Ÿ.™.Ó(Ð(Ð(Ø�|‰|×!Ñ!¤R§Z¡ZÓ/Ð/Ð/Ø�}‰}×"Ñ"¤b§j¡jÕ0Ð0Ð0ò !rG   rh   r|   ©Úwith_centeringrÄ   Úconstant)r   rr   ç      Y@c                 ól  • [        U 5      n [        U [        5      (       a4  U(       a-  [        R                  " U R
                  R                   S35        [        R                  R                  S5      nSnSnU(       a  [        UR                  US9S-  S9nO0 n[        R                  " Xg4XCS9n	Uc  U	OU" U	5      n
U R                  " U
40 UD6R                  U
5      n[        U [        5      (       a6  [!        U R"                  [        R$                  " U
R&                  S   5      S	S
9  [!        U R(                  [        R*                  " U
R&                  S   5      5        XºLd   e[-        Xº5        [        U [        5      (       a-  U(       d%  [/        X R0                  S9nXÊLd   e[-        XÊ5        g g g )Nz# does not yet support sample_weightr   éd   r=   r>   rW   rY   )rK   Ú
fill_valuerÄ   çH¯¼šò×z>©Úatolr|   )r   r°   r   r^   ÚskipÚ	__class__Ú__name__rI   r¿   rÀ   ÚdictÚuniformÚfullra   r‡   r   r)   r†   ÚzerosrK   r³   r„   r*   r   r}   )rh   r½   r¼   rÄ   rÉ   r\   rd   re   Ú
fit_paramsÚX_arrayrf   r¹   Ú
X_scaled_2s                rF   Ú&test_standard_scaler_constant_featuresrÛ   /  sa  € ô �6‹]€FÜ�&œ,×'Ñ'Ö,=Ü�Š�v×'Ñ'×0Ñ0Ð1Ð1TÐUÔVä
�)‰)×
Ñ
 Ó
"€CØ€IØ€JÞÜ¨¯©¸¨Ð(CÀaÑ(GÑH‰
àˆ
Ü�gŠg˜YÐ3ÀÑV€GØ#Ñ+‰Ñ1AÀ'Ó1J€AØ�zŠz˜!Ñ*˜zÑ*×4Ñ4°QÓ7€Hä�&œ.×)Ñ)ä˜Ÿ™¤R§X¢X¨a¯g©g°a©jÓ%9ÀÒEô �F—M‘M¤2§7¢7¨1¯7©7°1©:Ó#6Ô7àÒÐÐÜ  Ô-ä�&œ.×)Ñ)Ö2Cä˜1×(8Ñ(8Ñ9ˆ
ØÒ"Ð"Ð"Ü$ ZÕ3ð	 3DÐ)rG   rd   )r@   rÌ   i'  Úaverage)g»½×Ùß|Û=r=   ç    _ Bc                 ó8  • Su  pE[         R                  " [        XES-   5       Vs/ s H  nSU-  PM
     snUS9nUR                  S   n[         R                  " X4US9n	X'-   U	S U S-  2S S 24'   X'-
  X�S-  S 2S S 24'   Uc  U	OU" U	5      n
[        SS9R                  U
5      n[         R                  " [         R                  5      R                  nX-  US-  -  U S-  US-  -  US-  -  -   nUS-  U:*  n[         R                  " U5      (       d   e[        UR                  U   XÞ   :*  5      (       d   e[        UR                  U   S	5        U	SS S 24   U	S
S S 24   -
  S:g  n[        UR                  [         R                  " U5         S5        [        UR                  [         R                  " U5         S5        [         R                   " US-  U:„  U5      n[        UR                  U   [         R"                  " UR                  5      U   5        g s  snf )N)iâÿÿÿé   r=   r@   ©rÄ   r   rW   Fr|   rr   r<   )rI   rt   ÚrangerK   Úemptyr   ra   ÚfinforÁ   ÚepsÚanyÚallr†   r)   r³   Úlogical_notÚlogical_andÚsqrt)rd   r¼   rÜ   rÄ   Ú	scale_minÚ	scale_maxrO   Úscalesre   rf   rÙ   rh   rä   ÚboundsÚwithin_boundsÚrepresentable_diffÚcommon_masks                    rF   Ú+test_standard_scaler_near_constant_featuresrñ   ]  sû  € ð #Ñ€IÜ�XŠX¤e¨IÀ1±}Ô&EÓFÒ&E �r˜1”uÑ&EÑFÈeÑT€Fà—‘˜a‘€JÜ
�Š�)Ð(°Ñ6€Aà$Ñ-€AÐˆ	�Q‰ÐšÐÑØ$Ñ-€A�1�nÑšÐÑØ#Ñ+‰aÑ1AÀ!Ó1D€Gä eÑ,×0Ñ0°Ó9€Fô �(Š(”2—:‘:Ó
×
"Ñ
"€Cð ‰_˜v q™yÑ(¨9°a©<¸#¸q¹&Ñ+@À7ÈAÁ:Ñ+MÑM€FØ˜A‘I Ñ'€Mô �6Š6�-× Ñ Ð Ð ô ˆv�{‰{˜=Ñ)¨VÑ-BÑB×CÑCÐCÐCÜ�F—M‘M -Ñ0°#Ô6ð ˜1ša˜4™ 1 Rª U¡8Ñ+¨qÑ0ÐÜ�F—K‘K¤§¢Ð/AÓ BÑCÀQÔGÜ�F—M‘M¤"§.¢.Ð1CÓ"DÑEÀqÔIô
 —.’. ¨¡¨VÑ!3Ð5GÓH€KÜ�F—M‘M +Ñ.´·²¸¿¹Ó0DÀ[Ñ0QÕRùòQ Gs   ¥Hc            	      óô   • / SQn [         R                  " U 5      nX4 HW  n[        U5      n[        UR	                  5       S5        [        UR                  5       S5        [        [        USSS9U5        MY     g )N)rr   ç      @ç      @r«   r«   rr   F©r}   Úwith_std)rI   rt   r   r,   r´   r¶   r-   )ÚX_listÚX_arrrf   r¹   s       rF   Útest_scale_1drù   “  s]   € â!€FÜ�HŠH�VÓ€Eà‹_ˆÜ˜“8ˆÜ! (§-¡-£/°3Ô7Ü! (§,¡,£.°#Ô6Üœ5 ¨e¸eÑDÀaÖHò	 rG   c                  óÆ  • [         R                  " S[         R                  " S5      [         R                  S9n [        R
                  " 5          [        R                  " S[        5        [        U 5        S S S 5        [        [        U 5      [         R                  " S5      5        [         R                  " S[         R                  " S5      [         R                  S9n Sn[        R                  " [        US9   [        U 5      nS S S 5        [        W[         R                  " S5      5        [         R                  " SS[         R                  S9n [        R
                  " 5          [        R                  " S[        5        [        U 5      nS S S 5        [        W[         R                  " S5      5        [         R                  " SS	[         R                  S9nS
n[        R                  " [        US9   [        U5      nS S S 5        [        W[         R                  " S5      5        [        XS5        [        R                  " [        US9   [        USS9nS S S 5        [        W[         R                  " S5      5        [        Xc5        g ! , (       d  f       GN= f! , (       d  f       GNŸ= f! , (       d  f       GN)= f! , (       d  f       NÇ= f! , (       d  f       N�= f)Né   çñhãˆµøä>rà   Úerrorr@   z:standard deviation of the data is probably very close to 0©Úmatchg0Žä.ÿ++g}Ã”%­I²Tz$Dataset may contain too large valuesF©rö   )rI   rÖ   ÚlogrÁ   ÚwarningsÚcatch_warningsÚsimplefilterÚUserWarningr   r,   r×   r^   Úwarns)ÚxÚwarning_messageÚx_scaledÚx_small_scaledÚx_bigÚx_big_scaledÚx_big_centereds          rF   Ú(test_standard_scaler_numerical_stabilityr  Ÿ  sÄ  € ô
 	�Š�”2—6’6˜$“<¤r§z¡zÑ2€Aô 
×	 Ò	 Õ	"Ü×Ò˜g¤{Ô3ÜˆaŒ÷ 
#ô œe A›h¬¯ª°«Ô4ô 	�Š�”B—F’F˜4“L¬¯
©
Ñ3€AØR€OÜ	�Š”k¨Ó	9Ü˜“8ˆ÷ 
:ä˜h¬¯ª°«Ô5ä
�Š��F¤"§*¡*Ñ-€AÜ	×	 Ò	 Õ	"Ü×Ò˜g¤{Ô3Ü˜q›ˆ÷ 
#ô ˜n¬b¯hªh°r«lÔ;ô �GŠG�B˜¤R§Z¡ZÑ0€EØ<€OÜ	�Š”k¨Ó	9Ü˜U“|ˆ÷ 
:ä˜l¬B¯HªH°R«LÔ9Ü˜lÔ;Ü	�Š”k¨Ó	9Ü˜u¨uÑ5ˆ÷ 
:ä˜n¬b¯hªh°r«lÔ;Ü˜nÕ=÷9 
#Ö	"ú÷ 
:Ö	9ú÷
 
#Ö	"ú÷ 
:Õ	9ú÷ 
:Õ	9ús<   Á'JÃ9JÅ&'J/Ç4KÉKÊ
JÊ
J,Ê/
J>Ë
KË
K c                  óN  • [         R                  R                  S5      n SnSnU R                  X!5      nSUS S 2S4'   [	        5       nUR                  U5      R                  USS9n[         R                  " [         R                  " U5      5      (       a   eUR                  U:X  d   e[        UR                  SS9US/-  5        [        UR                  SS9/ SQ5        XSLd   eUR                  U5      nXcLd   eXeLd   e[        Xc5        [        US	S
S9n[         R                  " [         R                  " U5      5      (       a   e[        UR                  S	S9US/-  5        [        US	SS9n[         R                  " [         R                  " U5      5      (       a   e[        UR                  S	S9US/-  5        [        UR                  S	S9US/-  5        XSLd   eUR                  U5      R                  US
S9n[         R                  " [         R                  " U5      5      (       a   e[        UR                  SS9US/-  5        [        UR                  SS9/ SQ5        XSL d   eU R                  SS5      nSUS S 2S4'   [	        5       nUR                  U5      R                  USS9n[         R                  " [         R                  " U5      5      (       a   e[        UR                  SS9US/-  5        [        UR                  SS9/ SQ5        XSLd   eg )Nr   ro   rn   r«   Tr�   r©   ©r«   rr   rr   rr   rr   r=   F)rª   rö   rr   )rI   r¿   rÀ   r]   r   ra   r‡   rå   Úisnanr·   r,   r´   r¶   r¸   r   )r\   re   rd   rf   rh   r¹   rº   s          rF   Útest_scaler_2d_arraysr  Æ  sÎ  € ä
�)‰)×
Ñ
 Ó
"€CØ€JØ€IØ�	‰	�)Ó(€AØ€A‚aˆ€d�GäÓ€FØ�z‰z˜!‹}×&Ñ& q¨tÐ&Ð4€HÜ�vŠv”b—h’h˜xÓ(×)Ñ)Ð)Ð)Ø×!Ñ! YÓ.Ð.Ð.ä˜hŸm™m°˜mÐ3°ZÀ3À%Ñ5GÔHÜ˜hŸl™l°˜lÐ2Ò4MÔNàÒÐÐð ×,Ñ,¨XÓ6€MØÒ!Ð!Ð!ØÒ(Ð(Ð(Ü˜mÔ/ä�Q˜Q¨Ñ/€HÜ�vŠv”b—h’h˜xÓ(×)Ñ)Ð)Ð)Ü˜hŸm™m°˜mÐ3°YÀ#ÀÑ5FÔGÜ�Q˜Q¨Ñ.€HÜ�vŠv”b—h’h˜xÓ(×)Ñ)Ð)Ð)Ü˜hŸm™m°˜mÐ3°YÀ#ÀÑ5FÔGÜ˜hŸl™l°˜lÐ2°IÀÀÑ4EÔFàÒÐÐà�z‰z˜!‹}×&Ñ& q¨uÐ&Ð5€HÜ�vŠv”b—h’h˜xÓ(×)Ñ)Ð)Ð)Ü˜hŸm™m°˜mÐ3°ZÀ3À%Ñ5GÔHÜ˜hŸl™l°˜lÐ2Ò4MÔNàŠ=Ðˆ=à�	‰	�!�Q‹€AØ€A‚aˆ€d�GÜÓ€FØ�z‰z˜!‹}×&Ñ& q¨tÐ&Ð4€HÜ�vŠv”b—h’h˜xÓ(×)Ñ)Ð)Ð)Ü˜hŸm™m°˜mÐ3°ZÀ3À%Ñ5GÔHÜ˜hŸl™l°˜lÐ2Ò4MÔNàÒÐÑrG   c                  ó8  • [         R                  R                  S5      n U R                  SSSS/5      R	                  [         R
                  5      n[         R                  " SS9   [        5       R                  U5      nUR                  U5      nS S S 5        [        5       R                  UR	                  [         R                  5      5      n[         R                  " [         R                  " W5      5      (       d   e[        X4SS	9  g ! , (       d  f       N€= f)
Nr   ro   r@   i@ r=   Úraise)ÚoverrW   ©Údecimal)rI   r¿   rÀ   rÕ   r–   rÃ   Úerrstater   ra   r‡   Úfit_transformrÁ   ræ   Úisfiniter,   )r\   rf   rh   r¹   ÚX_scaled_f64s        rF   Útest_scaler_float16_overflowr  ú  sÈ   € ä
�)‰)×
Ñ
 Ó
"€Cð 	�‰�A�r˜F A˜;Ó'×.Ñ.¬r¯z©zÓ:€Aä	�Š˜'Ó	"ÜÓ!×%Ñ% aÓ(ˆØ×#Ñ# AÓ&ˆ÷ 
#ô
 "Ó#×1Ñ1°!·(±(¼2¿:¹:Ó2FÓG€Lô
 �6Š6”"—+’+˜hÓ'×(Ñ(Ð(Ð(ô
 ˜h¸aÓ@÷ 
#Õ	"ús   Á&+DÄ
Dc                  óÐ   • [         R                  " / SQ5      n [        U SS9n[        U [         R                  " / SQ5      5        [        U[         R                  " / SQ5      5        g )N)r   g¼‰Ø—²Òœ<r=   rW   rX   Tr�   )r=   r=   r=   rW   rX   )rI   rt   r!   r)   )Ús1Ús2s     rF   Útest_handle_zeros_in_scaler     sD   € Ü	�ŠÒ%Ó	&€BÜ	 ¨Ñ	.€Bä�BœŸšÒ!4Ó5Ô6Ü�BœŸš¢Ó1Õ2rG   c                  óh  • [         n U R                  S   nSSSXS-   4 GH�  n[        5       R                  U 5      n[        5       n[	        [
        U5       H  nUR                  X   5      nM     [        UR                  UR                  5        [        UR                  UR                  5        UR                  UR                  :X  d   e[        UR                  UR                  5        [        UR                  UR                  5        [        UR                  UR                  5        [        SU5      n[        5       R                  X   5      n[        5       R                  X   5      n[        UR                  UR                  5        [        UR                  UR                  5        UR                  UR                  :X  d   e[        UR                  UR                  5        [        UR                  UR                  5        [        UR                  UR                  5        [        5       R                  U 5      n[        5       n[        [	        [
        U5      5       HD  u  puUR                  X   5      n[!        UUR"                  UR$                  UUUR                  S9  MF     GM’     g )Nr   r=   rW   é2   é*   ©rP   rQ   rR   rS   rT   )ÚX_2drK   r   ra   r#   rd   Úpartial_fitr,   Ú	data_min_Ú	data_max_r·   Údata_range_r³   Úmin_ÚsliceÚ	enumeraterU   ÚstartÚstop©rf   rR   rS   Úscaler_batchÚscaler_incrÚbatchÚbatch0rO   s           rF   Útest_minmax_scaler_partial_fitr4    s  € ô 	€AØ	�‰�‰
€Aà˜!˜R ¨¡FÔ+ˆ
ä#“~×)Ñ)¨!Ó,ˆä"“nˆÜ ¤¨JÖ7ˆEØ%×1Ñ1°!±(Ó;ŠKñ 8ô 	" ,×"8Ñ"8¸+×:OÑ:OÔPÜ! ,×"8Ñ"8¸+×:OÑ:OÔPØ×+Ñ+¨{×/JÑ/JÓJÐJÐJÜ! ,×":Ñ":¸K×<SÑ<SÔTÜ! ,×"5Ñ"5°{×7IÑ7IÔJÜ! ,×"3Ñ"3°[×5EÑ5EÔFô �q˜*Ó%ˆÜ#“~×)Ñ)¨!©)Ó4ˆÜ"“n×0Ñ0°±Ó;ˆä! ,×"8Ñ"8¸+×:OÑ:OÔPÜ! ,×"8Ñ"8¸+×:OÑ:OÔPØ×+Ñ+¨{×/JÑ/JÓJÐJÐJÜ! ,×":Ñ":¸K×<SÑ<SÔTÜ! ,×"5Ñ"5°{×7IÑ7IÔJÜ! ,×"3Ñ"3°[×5EÑ5EÔFô $“~×)Ñ)¨!Ó,ˆÜ"“nˆÜ!¤+¬i¸Ó"DÖE‰HˆAØ%×1Ñ1°!±(Ó;ˆKÜØØ!ŸK™KØ Ÿ:™:ØØ%Ø*×:Ñ:ôô Fò= ,rG   c                  ó  • [         n U R                  S   nSSSXS-   4 GHa  n[        SS9R                  U 5      n[        SS9n[	        [
        U5       H  nUR                  X   5      nM     [        UR                  UR                  5        UR                  UR                  :X  d   eUR                  UR                  :X  d   e[        SU5      n[        5       R                  X   5      nUS:X  aw  [        [        R                  " [        [        R                  S9UR                  5        [        [        R                   " [        [        R                  S9UR"                  5        OV[        [        R$                  " X   SS	9UR                  5        [        [        R&                  " X   SS	9UR"                  5        [        5       R                  U 5      n[        5       n[)        [	        [
        U5      5       HD  u  puUR                  X   5      n[+        UUR,                  UR.                  UUUR                  S
9  MF     [        UR                  UR                  5        UR                  UR                  :X  a  GMb   e   g )Nr   r=   rW   r"  r#  Fr   rà   r©   r$  )r%  rK   r   ra   r#   rd   r&  r,   r…   r†   r·   r+  rI   r×   re   rÁ   r„   r³   Úvarr¶   r,  rU   r-  r.  r/  s           rF   Ú test_standard_scaler_partial_fitr7  K  s  € ô 	€AØ	�‰�‰
€Aà˜!˜R ¨¡FÔ+ˆ
ä%¨uÑ5×9Ñ9¸!Ó<ˆä$¨eÑ4ˆÜ ¤¨JÖ7ˆEØ%×1Ñ1°!±(Ó;ŠKñ 8ä! ,×"4Ñ"4°k×6GÑ6GÔHØ× Ñ  K×$4Ñ$4Ó4Ð4Ð4Ø×+Ñ+¨{×/JÑ/JÓJÐJÐJô �q˜*Ó%ˆÜ$Ó&×2Ñ2°1±9Ó=ˆØ˜‹?Ü%Ü—’œ¬2¯:©:Ñ6¸×8HÑ8Hôô &Ü—’œ
¬"¯*©*Ñ5°{×7IÑ7Iõô &¤b§f¢f¨Q©Y¸QÑ&?À×AQÑAQÔRÜ%Ü—’�q‘y qÑ)¨;×+=Ñ+=ôô
 &Ó'×+Ñ+¨AÓ.ˆÜ$Ó&ˆÜ!¤+¬i¸Ó"DÖE‰HˆAØ%×1Ñ1°!±(Ó;ˆKÜØØ!ŸK™KØ Ÿ:™:ØØ%Ø*×:Ñ:ôñ Fô 	" ,×"3Ñ"3°[×5EÑ5EÔFØ×+Ñ+¨{×/JÑ/JÖJÐJÐJòU ,rG   c                 óæ  • [         R                  R                  S5      nSnSnUR                  SSUS9nUR                  SSUS9nUR	                  X25      U-  U-   n[        5       R                  U5      n[        5       nU H$  n	UR                  U	R                  S	U5      5      nM&     S
n
[        UR                  UR                  U
S9  [        UR                  UR                  U
S9  [        UR                  UR                  U
S9  SnSnU " UR                  SSU5      R                  [         R                  5      U-  5      n[        SS9R                  U5      n[        SS9nU H6  n	U	R                   S	:X  a  U	R                  S	S5      n	UR                  U	5      nM8     S
n
UR                  c   e[        UR                  UR                  U
S9  [        UR                  UR                  U
S9  g )Nr   rW   rÌ   g  4&õkÃg  4&õkCr>   g     @�@ç    €„.Ar=   g�íµ ÷Æ°>©Úrtol)rÌ   rX   g@Œµx¯DFr|   r<   )rI   r¿   rÀ   rÕ   r]   r   ra   r&  Úreshaper)   r…   r†   r³   Úrandintr–   rÁ   Úndim)r¼   r\   re   rd   Úoffsetsrì   rf   r0  r1  ÚchunkÚtolr?   r   rh   s                 rF   Ú4test_standard_scaler_partial_fit_numerical_stabilityrB  ~  sÃ  € ô �)‰)×
Ñ
 Ó
"€CØ€JØ€IØ�k‰k˜% ¨JˆkÐ7€GØ�[‰[˜˜c¨
ˆ[Ð3€FØ�	‰	�)Ó(¨6Ñ1°GÑ;€Aä!Ó#×'Ñ'¨Ó*€LÜ Ó"€KÛˆØ!×-Ñ-¨e¯m©m¸A¸zÓ.JÓKŠñ ð €CÜ�K×%Ñ% |×'9Ñ'9ÀÒDÜ�K×$Ñ$ l×&7Ñ&7¸cÒBÜ�K×&Ñ&¨×(;Ñ(;À#ÒFð
 €DØ€EÙ˜Ÿ™ Q¨¨4Ó0×7Ñ7¼¿
¹
ÓCÀeÑKÓL€Aô  eÑ,×0Ñ0°Ó3€FÜ ¨5Ñ1€KãˆØ�:‰:˜‹?ð —M‘M ! RÓ(ˆEØ!×-Ñ-¨eÓ4Šñ ð €CØ�<‰<Ñ#Ð#Ð#Ü�K×$Ñ$ f§k¡k¸Ò<Ü�K×&Ñ&¨¯©¸CÓ@rG   rZ   c                 ó  • U" [         R                  " S/S/S/S//5      5      nU (       a"  [        R                  UR                  S   5      n [        SSSS9nUR                  X S9R                  U5      n[        UR                  5       UR                  5       5        UR                  U5      n[        UR                  5       UR                  5       5        [        UR                  5       UR                  5       5        g )	Nrr   r«   rô   r   FT©r}   rö   rŽ   rY   )rI   rt   r\   ÚrandrK   r   r&  r‡   r-   rB   r¸   )rZ   r¼   rf   Únull_transformÚX_nullÚX_origs         rF   Útest_partial_fit_sparse_inputrI  ­  sÄ   € ñ 	œŸš C 5¨3¨%°#°¸¸Ð">Ó?Ó@€AæÜŸ™ §¡¨¡Ó,ˆä#¨e¸eÈ$ÑO€NØ×'Ñ'¨Ð'ÐG×QÑQÐRSÓT€FÜ�v—~‘~Ó'¨¯©«Ô5Ø×-Ñ-¨fÓ5€FÜ�v—~‘~Ó'¨¯©Ó)9Ô:Ü�v—~‘~Ó'¨¯©«Õ5rG   c                 ó
  • [         S S2S S 24   nU (       a"  [        R                  UR                  S   5      n [	        5       n[        [        UR                  S   S5      5       GHš  u  p4US US-   2S S 24   nUR                  5       nU c-  [	        5       R                  U5      nUR                  X   5      nO1[	        5       R                  XPS US-    S9nUR                  X   X   S9nUR                  U5      n[        Xx5        [        XV5        UR                  U5      n	[        XY5        [        R                  " UR                  S   5      n
[        R                  " [         5      R"                  n[%        X¢R&                  U-   5        [%        X¢R(                  U-   5        U c  US-   UR*                  :X  d   eGMZ  [        R,                  " U S US-    5      [.        R0                  " UR*                  5      :X  a  GM›   e   g )NrÌ   r   r=   rY   )r%  r\   rE  rK   r   r,  r#   rŽ   r  r&  r‡   r,   r¸   rI   r×   rã   Úfloaträ   r.   r†   r³   r·   Úsumr^   Úapprox)rZ   rf   r1  rO   r2  ÚX_sofarÚchunks_copyÚscaled_batchÚscaled_incrÚright_inputÚzeroÚepsilons               rF   Ú/test_standard_scaler_transform_with_partial_fitrU  ¾  sÉ  € ô 	ˆTˆcˆT’1ˆW‰€AæÜŸ™ §¡¨¡Ó,ˆä Ó"€KÜœk¨!¯'©'°!©*°aÓ8×9‰ˆØ�I�q˜1‘u�Išq�L‘/ˆØ—l‘l“nˆØÑ Ü)Ó+×9Ñ9¸'ÓBˆLØ%×1Ñ1°!±(Ó;‰Kä)Ó+×9Ñ9Ø°W°q¸1±uÐ'=ð :ð ˆLð &×1Ñ1Ø‘¨Ñ(<ð 2ð ˆKð "×+Ñ+¨GÓ4ˆä! ,Ô<Ü! 'Ô7Ø!×3Ñ3°KÓ@ˆÜ! 'Ô7ä�xŠx˜Ÿ™ ™
Ó#ˆÜ—(’(œ5“/×%Ñ%ˆÜ˜$× 0Ñ 0°7Ñ :Ô;Ü˜$× 2Ñ 2°WÑ <Ô=ØÑ à˜‘E˜k×9Ñ9Ó9Ð9Ó9ä—6’6˜-¨¨!¨a©%Ð0Ó1´V·]²]Ø×+Ñ+ó6ö ð ð ò9 :rG   c            	      óÆ   • [         R                  " / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/[         R                  S9n [        5       nUR	                  U 5        UR                  U 5        g )N)r=   r=   r=   r   r=   r   )r   rû   r   r=   r   r   )r=   rn   r=   r=   r   r   )r   r=   r   r   r=   r   )r   rn   r   r=   r   r=   rà   )rI   rt   Úint32r   ra   r¸   )r  rh   s     rF   Ú.test_standard_check_array_of_inverse_transformrX  è  sW   € ô 	�ŠâÚÚÚÚÚð	
ô �h‰hñ
	€Aô Ó€FØ
‡J�Jˆq„Mð
 ×Ñ˜QÕrG   z(array_namespace, device_name, dtype_nameÚcheck)ÚidsÚ	estimator©ÚclipÚl1©ÚnormÚl2Úmaxc                 óD   • U R                   R                  nU" UU UUUS9  g )N©r˜   r™   )rÒ   rÓ   )r[  rY  Úarray_namespacer˜   r™   Únames         rF   Ú'test_preprocessing_array_api_compliancerg     s,   € ð6 ×Ñ×'Ñ'€DÙ	ØØØØØórG   c                 ó4  • [        SSSS9u  p[        R                  " / SQ/ SQ/ SQ/[        R                  S9nUR                  X2S	9n[	        S
S9   U R                  U5      nS S S 5        WR                  UR                  :X  d   eg ! , (       d  f       N+= f©NÚtorchÚmpsrÂ   rd  rl   rm   )é   rû   r@   rà   r�   Tr‘   )r'   rI   rJ   Úint64r   r  rÄ   rÂ   )r[  r•   r�   ÚX_nprš   ÚX_outs         rF   Ú;test_preprocessing_integer_array_api_on_float32_only_devicerp  %  s   € ô & g¸5ÈYÑW�J€Bô �:Š:’y¢)ªZÐ8ÄÇÁÑI€DØ�:‰:�dˆ:Ð*€Dä	¨4Ó	0Ø×'Ñ'¨Ó-ˆ÷ 
1ð �;‰;˜"Ÿ*™*Ó$Ð$Ñ$÷ 
1Õ	0ús   ÁB	Â	
Bc                  ó(  • [        SSSS9u  p[        R                  " / SQ/ SQ/ SQ/[        R                  S9nU R                  X!S	9n[	        S
S9   [        U5      nS S S 5        WR                  U R                  :X  d   eg ! , (       d  f       N+= fri  )r'   rI   rJ   rm  r   r   rÄ   rÂ   )r•   r�   rn  rš   ro  s        rF   Ú7test_normalize_integer_array_api_on_float32_only_devicerr  <  sv   € Ü% g¸5ÈYÑW�J€Bô �:Š:’y¢)ªZÐ8ÄÇÁÑI€DØ�:‰:�dˆ:Ð*€Dä	¨4Ó	0Ü˜$“ˆ÷ 
1ð �;‰;˜"Ÿ*™*Ó$Ð$Ñ$÷ 
1Õ	0ús   ÁBÂ
Bc           	      óZ   • [        5       nUR                  R                  nU " UUUUUUS9  g )N)r˜   r™   Úcheck_sample_weight)r   rÒ   rÓ   )rY  rZ   re  r˜   r™   r[  rf  s          rF   Ú)test_standard_scaler_array_api_complianceru  J  s7   € ô Ó €IØ×Ñ×'Ñ'€DÙ	ØØØØØØ)órG   c                  ó2  • [         R                  n [        5       nUR                  U 5      n[	        UR                  SS9S5        [	        UR                  SS9S5        UR                  U5      n[	        X5        [        SS9nUR                  U 5      n[	        UR                  SS9S5        [	        UR                  SS9S5        UR                  U5      n[	        X5        [        SS9nUR                  U 5      n[	        UR                  SS9S5        [	        UR                  SS9S	5        UR                  U5      n[	        X5        [        S
S9n[        R                  " [        5         UR                  U 5        S S S 5        g ! , (       d  f       g = f)Nr   r©   r=   ©r=   rW   ©Úfeature_rangerW   )ç      à¿ç333333ã?rz  r{  )rW   r=   )ÚirisÚdatar   r  r,   Úminrb  r¸   r^   r_   r`   ra   )rf   rh   ÚX_transÚX_trans_invs       rF   Útest_min_max_scaler_irisr�  c  sO  € Ü�	‰	€AÜ‹^€Fà×"Ñ" 1Ó%€GÜ˜gŸk™k¨q˜kÐ1°1Ô5Ü˜gŸk™k¨q˜kÐ1°1Ô5Ø×*Ñ*¨7Ó3€KÜ˜aÔ-ô ¨Ñ/€FØ×"Ñ" 1Ó%€GÜ˜gŸk™k¨q˜kÐ1°1Ô5Ü˜gŸk™k¨q˜kÐ1°1Ô5Ø×*Ñ*¨7Ó3€KÜ˜aÔ-ô ¨Ñ4€FØ×"Ñ" 1Ó%€GÜ˜gŸk™k¨q˜kÐ1°4Ô8Ü˜gŸk™k¨q˜kÐ1°3Ô7Ø×*Ñ*¨7Ó3€KÜ˜aÔ-ô ¨Ñ/€FÜ	�Š”zÕ	"Ø�
‰
�1Œ÷ 
#×	"Ö	"ús   Å-FÆ
Fc                  óÌ  • / SQ/ SQ/ SQ/n / SQ/ SQ/ SQ/n[        5       nUR                  U 5      n/ SQ/ SQ/ S	Q/n[        X45        UR                  U5      n[        X5        UR	                  U5      n/ SQ/ S
Q/ SQ/n[        XgSS9  [        SS9nUR                  U 5      n/ SQ/ SQ/ SQ/n[        X85        [        U 5      n[        X45        [        U SS9n[        X85        g )N©r«   rr   ç      à?©r«   rr   gš™™™™™¹¿©r«   rr   gš™™™™™ñ?©r«   rq   r„  ©ç      ð¿rr   r«   ©r«   rr   r   )r«   r«   r„  ©r«   r«   r«   ©r«   r«   rr   )r‰  r«   gsh‘í|?µ?)r«   r«   g‡ÙÎ÷Sõ?rW   r  rw  rx  )rr   rr   r   ©rr   rr   rr   )rr   rr   rq   )r   r  r,   r¸   r‡   r   )	rf   ÚX_newrh   r  ÚX_expected_0_1r€  ÚX_trans_newÚX_expected_0_1_newÚX_expected_1_2s	            rF   Ú*test_min_max_scaler_zero_variance_featuresr“  ƒ  sã   € â	Ò+Ò-=Ð>€AâÒ/Ò1AÐB€Eô ‹^€FØ×"Ñ" 1Ó%€GÚ%¢ºÐH€NÜ˜gÔ6Ø×*Ñ*¨7Ó3€KÜ˜aÔ-à×"Ñ" 5Ó)€KÚ,Ò.@ÒBTÐUÐÜ˜kÀqÒIô ¨Ñ/€FØ×"Ñ" 1Ó%€GÚ%¢ºÐH€NÜ˜gÔ6ô ˜1‹o€GÜ˜gÔ6Ü˜1¨FÑ3€GÜ˜gÕ6rG   c                  ó´   • [         R                  n [        U SS9n[        [        R
                  " USS9S5        [        [        R                  " USS9S5        g )Nr=   r©   r   )r|  r}  r   r,   rI   r~  rb  )rf   r  s     rF   Útest_minmax_scale_axis1r•  ¢  sA   € Ü�	‰	€AÜ˜1 1Ñ%€GÜœbŸfšf W°1Ñ5°qÔ9ÜœbŸfšf W°1Ñ5°qÕ9rG   c                  ó\  • [         [        [        [        4 GH7  n [        SS9nUR	                  U 5      R                  U 5      n[        U [        5      (       a  [        R                  " U 5      n [        U 5      S:X  ac  [        UR                  SS9[        R                  " [        5      5        [        UR                  SS9[        R                  " [        5      5        O2[        UR                  SS9S5        [        UR                  SS9S5        UR                   U R"                  S   :X  d   eUR%                  U5      n[        X05        GM:     [        R&                  " S5      n [        5       nUR	                  U 5      R                  U 5      nUR                  5       S:¼  d   eUR                  5       S::  d   eUR                   U R"                  S   :X  d   e[         R)                  5       nUR                  5       nUR                  5       n[        XE-
  Xe-
  -  [+        USS95        g r¨   )r­   r®   r¯   r   ra   r‡   r°   r±   rI   rt   rL   r,   r~  r×   re   rb  r·   rK   r¸   r„   r²   r   )rf   rh   r¹   rº   ÚX_1dr*  Úmax_s          rF   Útest_min_max_scaler_1dr™  ©  s¬  € ä”fœk¬;Ô7ˆÜ 4Ñ(ˆØ—:‘:˜a“=×*Ñ*¨1Ó-ˆä�aœ×ÑÜ—’˜“ˆAä˜AÓ !Ó#Ü% h§l¡l¸ lÐ&:¼B¿HºHÄZÓ<PÔQÜ% h§l¡l¸ lÐ&:¼B¿HºHÄZÓ<PÕQä% h§l¡l¸ lÐ&:¸CÔ@Ü% h§l¡l¸ lÐ&:¸CÔ@Ø×%Ñ%¨¯©°©Ó3Ð3Ð3ð ×0Ñ0°Ó:ˆÜ! -×3ñ# 8ô( 	�Š�‹€AÜ‹^€FØ�z‰z˜!‹}×&Ñ& qÓ)€HØ�<‰<‹>˜SÓ Ð Ð Ø�<‰<‹>˜SÓ Ð Ð Ø×!Ñ! Q§W¡W¨Q¡ZÓ/Ð/Ð/ô �<‰<‹>€DØ�8‰8‹:€DØ�8‰8‹:€DÜØ	‰˜™Ñ%¤|°D¸tÑ'DõrG   c                 ó”  • [         R                  R                  S5      nUR                  SS5      nSUS S 2S4'   U" U5      nU (       a  UR	                  UR
                  S   5      n [        R                  " [        5         [        5       R                  U5        S S S 5        [        SS9R                  X0S9nUR                  US	S
9n[         R                  " [         R                  " U5      5      (       a   e[        SS9R                  X@S9nUR                  US	S
9n[         R                  " [         R                  " UR                  5      5      (       a   e[        UR                   UR                   5        [        UR"                  UR"                  5        [        UR$                  UR$                  5        [        UR&                  UR&                  5        U c7  [        UR)                  SS9/ SQS5        [        UR+                  SS9/ SQ5        [-        US5      u  pš[        X–R)                  SS95        [        X¦R/                  SS95        XcLd   eX„Ld   eUR1                  U5      nX³Ld   eX¶Ld   e[        X³5        UR1                  U5      nXÄLd   eXÈLd   e[        UR3                  5       U5        U[4        ;   an  [        SSS	S9nUR7                  U5      n[9        UR                  UR                  5        UR1                  U5      n[9        UR                  UR                  5        g g ! , (       d  f       GN£= f)Nr#  rn   ro   r«   r   Fr|   rY   Tr�   r©   ©r«   g{®Gáz„¿gìQ¸…ë@gffffffÖ¿gö(\�Âõè¿rW   r  rD  )rI   r¿   rÀ   r]   rE  rK   r^   r_   r`   r   ra   r‡   rå   r  r}  r,   r…   r†   r³   r·   r´   r¶   r9   r6  r¸   rB   r5   r  r-   )rZ   r¼   r\   rf   ÚX_sparserh   r¹   Úscaler_sparseÚX_sparse_scaledÚX_sparse_scaled_meanÚX_sparse_scaled_varrº   ÚX_sparse_scaled_backrF  rG  rH  s                   rF   Útest_scaler_without_centeringr¢  Ï  sÒ  € ô �)‰)×
Ñ
 Ó
#€CØ�	‰	�!�Q‹€AØ€A‚aˆ€d�GÙ Ó"€HæØŸ™ §¡¨¡Ó,ˆä	�Š”zÕ	"ÜÓ×Ñ˜XÔ&÷ 
#ô  eÑ,×0Ñ0°Ð0ÐP€FØ×Ñ ¨ÐÐ-€HÜ�vŠv”b—h’h˜xÓ(×)Ñ)Ð)Ð)ä"¨UÑ3×7Ñ7Øð 8ð €Mð $×-Ñ-¨h¸TÐ-ÐB€OÜ�vŠv”b—h’h˜×3Ñ3Ó4×5Ñ5Ð5Ð5ä˜fŸl™l¨M×,?Ñ,?Ô@Ü˜fŸk™k¨=×+=Ñ+=Ô>Ü˜fŸm™m¨]×-AÑ-AÔBÜ˜f×4Ñ4°m×6SÑ6SÔTàÑÜ!Ø�M‰M˜qˆMÐ!Ò#CÀQô	
ô 	" (§,¡,°A ,Ð"6Ò8QÔRä0BÀ?ÐTUÓ0VÑ-ÐÜÐ2·M±MÀq°MÐ4IÔJÜÐ1·<±<ÀQ°<Ð3GÔHð ÒÐÐØÒ*Ð*Ð*à×,Ñ,¨XÓ6€MØÒ!Ð!Ð!ØÒ(Ð(Ð(Ü˜mÔ/à(×:Ñ:¸?ÓKÐØÒ/Ð/Ð/ØÒ6Ð6Ð6ÜÐ2×:Ñ:Ó<¸aÔ@àœ>Ó)Ü'°%À%ÈdÑSˆØ×-Ñ-¨hÓ7ˆÜ˜6Ÿ;™;¨¯©Ô6Ø×1Ñ1°&Ó9ˆÜ˜6Ÿ;™;¨¯©Õ6ð *÷U 
#Ö	"ús   ÂL8Ì8
Mr}   rö   c                 óÎ  • [         R                  " / SQ[         R                  SS/SS[         R                  /SS[         R                  //[         R                  S9nUb  U" U5      n[        R
                  " U5      (       a  U (       a  [        R                  " S	5        [        XS
9nUR                  U5        [        UR                  [         R                  " / SQ5      5        g )N©r   r=   rX   rp   r@   ro   rn   rû   r   rà   z3'with_mean=True' cannot be used with sparse matrix.rõ   )rX   rn   rW   )rI   rt   ru   rÁ   r   Úissparser^   rÑ   r   ra   r-   r·   )r}   rö   r¼   rf   Útransformers        rF   Ú#test_scaler_n_samples_seen_with_nanr§    s¡   € ô 	�ŠÚ	”R—V‘V˜Q �O a¨¬B¯F©F ^°a¸¼B¿F¹F°^ÐDÌBÏJÉJñ	€Að Ñ#Ù˜QÓˆä‡‚�q×ÑžiÜ�ŠÐIÔJä ¨9ÑH€KØ‡O�O�AÔä�{×2Ñ2´B·H²HºYÓ4GÕHrG   c                 ó  • U R                   UR                   s=L a  b   e   eU R                  UR                  s=L a  b   e   eU R                  UR                  s=L a  b   e   eU R                  UR                  :X  d   eg ©N)r…   r†   r³   r·   )Úscaler_1Úscaler_2s     rF   Ú"_check_identity_scalers_attributesr¬    sp   € Ø�>‰>˜XŸ^™^Ö3Ð3Ñ3Ð3Ð3Ø�=‰=˜HŸM™MÖ1Ð1Ñ1Ð1Ð1Ø�?‰?˜hŸo™oÖ5Ð5Ñ5Ð5Ð5Ø×#Ñ# x×'?Ñ'?Ó?Ð?Ñ?rG   c                 óÐ  • [         R                  " / SQ/ SQ/ SQ/[         R                  S9nU " U5      n[        SSS9nUR	                  U5      n[        XA5        [        U5      nUR	                  U5      n[        Xb5        [        X55        UR                  U5        UR                  U5        [        X55        UR                  U5        UR                  U5        [        X55        g )Nr¤  )ro   rp   r   )rû   r   r@   rà   Frõ   )rI   rt   rÁ   r   r  r)   r   r*   r¬  r&  ra   )r¼   ÚX_denserœ  Útransformer_denseÚX_trans_denseÚtransformer_sparseÚX_trans_sparses          rF   Útest_scaler_return_identityr³  &  sÅ   € ô �hŠhš	¢9ªjÐ9ÄÇÁÑL€GÙ Ó(€Hä&°ÀÑGÐØ%×3Ñ3°GÓ<€MÜ�MÔ+äÐ0Ó1ÐØ'×5Ñ5°hÓ?€NÜ  Ô:ä&Ð'8ÔMà×!Ñ! 'Ô*Ø×"Ñ" 8Ô,Ü&Ð'8ÔMà×Ñ˜'Ô"Ø×Ñ˜8Ô$Ü&Ð'8ÕMrG   c                 óª  • [         R                  R                  S5      nUR                  SSS9nSUS S 2S4'   U " U5      n[        R
                  " SS9   [        SS	9R                  U5      nUR                  USS
9nS S S 5        [         R                  " [         R                  " W5      5      (       a   e[        R
                  " SS9   [        SS	9R                  U5      nUR                  USS
9nS S S 5        [         R                  " [         R                  " WR                  5      5      (       a   e[        WR                  WR                  5        [        UR                  UR                  5        [        UR                  UR                  5        [        UR!                  SS9/ SQS5        [        UR#                  SS9/ SQ5        [%        UR'                  [(        5      S5      u  p‰[        X…R!                  SS95        [        X•R#                  SS95        XRLd   eXsLd   eUR+                  U5      n
X¢Ld   eX¥Ld   e[        X¢5        UR+                  U5      nX³Ld   eX·Ld   e[        UR-                  5       U5        U [.        ;   a‹  [        SSSS9n[        R
                  " SS9   UR1                  U5      nS S S 5        [3        WR                  UR                  5        UR+                  U5      n[3        UR                  UR                  5        g g ! , (       d  f       GN©= f! , (       d  f       GNE= f! , (       d  f       N…= f)Nr#  é   ©rn   ro   r>   r   T©ÚrecordFr|   r�   r©   )r«   gX9´Èv¾ñ?gV-²ý?g      5@g‹lçû©ñø?rW   r  rD  )rI   r¿   rÀ   r=  r  r  r   ra   r‡   rå   r  r}  r,   r…   r†   r³   r´   r¶   r9   r–   rK  r¸   rB   r5   r  r-   )r¼   r\   rf   rœ  rh   r¹   r�  rž  rŸ  ÚX_sparse_scaled_stdrº   r¡  rF  rG  rH  s                  rF   Útest_scaler_intrº  @  sÎ  € ô �)‰)×
Ñ
 Ó
#€CØ�‰�B˜VˆÐ$€AØ€A‚aˆ€d�GÙ Ó"€Hä	×	 Ò	 ¨Ó	-Ü¨%Ñ0×4Ñ4°QÓ7ˆØ×#Ñ# A¨DÐ#Ð1ˆ÷ 
.ô �vŠv”b—h’h˜xÓ(×)Ñ)Ð)Ð)ä	×	 Ò	 ¨Ó	-Ü&°Ñ7×;Ñ;¸HÓEˆØ'×1Ñ1°(ÀÐ1ÐFˆ÷ 
.ô �vŠv”b—h’h˜×3Ñ3Ó4×5Ñ5Ð5Ð5ä˜fŸl™l¨M×,?Ñ,?Ô@Ü˜fŸk™k¨=×+=Ñ+=Ô>Ü˜fŸm™m¨]×-AÑ-AÔBäØ�‰˜1ˆÐÒ?Àôô ˜hŸl™l°˜lÐ2Ò4MÔNä0BØ×ÑœuÓ% qó1Ñ-Ðô Ð2·M±MÀq°MÐ4IÔJÜÐ1·<±<ÀQ°<Ð3GÔHð ÒÐÐØÒ*Ð*Ð*à×,Ñ,¨XÓ6€MØÒ!Ð!Ð!ØÒ(Ð(Ð(Ü˜mÔ/à(×:Ñ:¸?ÓKÐØÒ/Ð/Ð/ØÒ6Ð6Ð6ÜÐ2×:Ñ:Ó<¸aÔ@àœ>Ó)Ü'°%À%ÈdÑSˆÜ×$Ò$¨DÓ1Ø#×1Ñ1°(Ó;ˆF÷ 2ä˜6Ÿ;™;¨¯©Ô6Ø×1Ñ1°&Ó9ˆÜ˜6Ÿ;™;¨¯©Õ6ð *÷O 
.Ö	-ú÷
 
.Ö	-ú÷H 2Õ1ús$   Á)L Ã)L2Ê3MÌ 
L/Ì2
MÍ
Mc                 ó�  • [         R                  R                  S5      nUR                  SS5      nSUS S 2S4'   U " U5      nUR	                  5       n[        SS9R                  U5        [        X$5        UR	                  5       n[        SSS9R                  U5        [        UR                  5       UR                  5       5        g )	Nr#  rn   ro   r«   r   Fr�   )r}   rŽ   )	rI   r¿   rÀ   r]   rŽ   r   ra   r-   rB   )r¼   r\   rf   rœ  ÚX_copyÚX_sparse_copys         rF   Útest_scaler_without_copyr¾  y  s    € ô �)‰)×
Ñ
 Ó
#€CØ�	‰	�!�Q‹€AØ€A‚aˆ€d�GÙ Ó"€Hà�V‰V‹X€FÜ˜Ñ×"Ñ" 1Ô%Ü�qÔ!à—M‘M“O€MÜ˜U¨Ñ/×3Ñ3°HÔ=Ü�x×'Ñ'Ó)¨=×+@Ñ+@Ó+BÕCrG   c                 óü  • [         R                  R                  S5      nUR                  SS5      nU " U5      n[        R
                  " [        5         [        USS9  S S S 5        [        R
                  " [        5         [        SS9R                  U5        S S S 5        [        SS9R                  U5      n[        R
                  " [        5         UR                  U5        S S S 5        U " UR                  U5      5      n[        R
                  " [        5         UR                  U5        S S S 5        g ! , (       d  f       Ná= f! , (       d  f       N·= f! , (       d  f       N|= f! , (       d  f       g = f)Nr#  rn   ro   Tr|   )rI   r¿   rÀ   r]   r^   r_   r`   r   r   ra   r‡   r¸   )r¼   r\   rf   rœ  rh   ÚX_transformed_sparses         rF   Ú+test_scale_sparse_with_mean_raise_exceptionrÁ  Š  s  € ä
�)‰)×
Ñ
 Ó
#€CØ�	‰	�!�Q‹€AÙ Ó"€Hô 
�Š”zÕ	"Üˆh $Ò'÷ 
#ä	�Š”zÕ	"Ü Ñ&×*Ñ*¨8Ô4÷ 
#ô  dÑ+×/Ñ/°Ó2€FÜ	�Š”zÕ	"Ø×Ñ˜Ô"÷ 
#ñ ,¨F×,<Ñ,<¸QÓ,?Ó@ÐÜ	�Š”zÕ	"Ø× Ñ Ð!5Ô6÷ 
#Ð	"÷ 
#Õ	"úç	"Õ	"ú÷
 
#Õ	"ú÷ 
#Õ	"ús0   ÁD:ÂEÃEÄE-Ä:
EÅ
EÅ
E*Å-
E;c                  ó¬   • [         R                  SSSS//n [        R                  " [        SS9   [        U 5        S S S 5        g ! , (       d  f       g = f)Nro   rp   rl  rû   z8Input X contains infinity or a value too large for dtyperþ   )rI   Úinfr^   r_   r`   r   ©rf   s    rF   Ú&test_scale_input_finiteness_validationrÅ     sD   € ä
�&‰&�!�Q˜˜1Ð	Ð€AÜ	�ŠÜÐUó
ô 	ˆaŒ÷
÷ 
ö 
ús   °AÁ
Ac                  ó¸   • [        S5      n [        SS9nSn[        R                  " [        US9   UR                  U 5        S S S 5        g ! , (       d  f       g = f)N)r;   r@   TrÇ   zCannot center sparse matricesrþ   )r7   r   r^   r_   r`   ra   )rœ  rh   Úerr_msgs      rF   Útest_robust_scaler_error_sparserÈ  ©  sA   € Ü# JÓ/€HÜ¨Ñ.€FØ-€GÜ	�Š”z¨Ó	1Ø�
‰
�8Ô÷ 
2×	1Ö	1ús   °AÁ
ArÈ   Úwith_scalingrf   rX   )r@   rX   r„  ©Údensityc                 ó°  • U(       a1  [         R                  " U 5      (       a  [        R                  " S5        [	        XS9nUR                  U 5        U(       a,  [        UR                  [        R                  5      (       d   eOUR                  b   eU(       a,  [        UR                  [        R                  5      (       d   eg UR                  b   eg )Nz(RobustScaler cannot center sparse matrix)rÈ   rÉ  )r   r¥  r^   rÑ   r   ra   r°   Úcenter_rI   Úndarrayr³   )rf   rÈ   rÉ  rh   s       rF   Útest_robust_scaler_attributesrÏ  ±  s“   € ö œ&Ÿ/š/¨!×,Ñ,Ü�ŠÐ>Ô?ä¨ÑS€FØ
‡J�Jˆq„MæÜ˜&Ÿ.™.¬"¯*©*×5Ñ5Ð5Ñ5à�~‰~Ñ%Ð%Ð%ÞÜ˜&Ÿ-™-¬¯©×4Ñ4Ð4Ñ4à�}‰}Ñ$Ð$Ñ$rG   Úcsr_containerc                 ó~  • [         R                  R                  SS5      nSUS S 2S4'   U " U5      n[        SS9nUR	                  U5        UR
                  S   [        R                  " S5      :X  d   eUR                  U5      n[        US S 2S/4   R                  5       US S 2S/4   R                  5       5        g )Nr@   ro   r   FrÇ   r=   )rI   r¿   r]   r   ra   r³   r^   rM  r‡   r)   rB   )rÐ  rf   rh   r  s       rF   Ú"test_robust_scaler_col_zero_sparserÒ  È  s¤   € ô 	�	‰	�‰˜˜AÓ€AØ€A‚aˆ€d�GÙ�aÓ€Aä¨Ñ/€FØ
‡J�Jˆq„MØ�=‰=˜ÑœvŸ}š}¨QÓ/Ó/Ð/Ð/à×Ñ˜qÓ!€GÜ�A’a˜!˜�f‘I×%Ñ%Ó'¨²°Q°C°©×)@Ñ)@Ó)BÕCrG   c                  óJ  • [         R                  R                  S5      n U R                  SS5      nSUS S 2S4'   [	        5       nUR                  U5      R                  U5      n[        [         R                  " USS9SS/-  5        [        UR                  SS9S   S5        g )Nr   rn   ro   r«   r©   )
rI   r¿   rÀ   r]   r   ra   r‡   r,   Úmedianr¶   )r\   rf   rh   r¹   s       rF   Útest_robust_scaler_2d_arraysrÕ  Ø  s†   € ä
�)‰)×
Ñ
 Ó
"€CØ�	‰	�!�Q‹€AØ€A‚aˆ€d�Gä‹^€FØ�z‰z˜!‹}×&Ñ& qÓ)€HäœbŸiši¨°qÑ9¸1À¸u¹9ÔEÜ˜hŸl™l°˜lÐ2°1Ñ5°qÕ9rG   rË  )r   gš™™™™™©?çš™™™™™¹?r„  r=   Ústrictly_signed)ÚpositiveÚnegativer×   Nc                 ó2  • [        SU S9R                  5       nUS:X  a&  [        R                  " UR                  5      Ul        OoUS:X  a'  [        R                  " UR                  5      * Ul        OBUS:X  a<  [        R
                  " UR                  R                  [        R                  S9Ul        UR                  5       n[        SS9n[        SS9nUR                  U5        UR                  U5        [        UR                  UR                  5        g )	N)r;   ro   rÊ  rØ  rÙ  r×   rà   FrÇ   )r7   ÚtocscrI   Úabsr}  r×   rK   rÁ   rB   r   ra   r)   r³   )rË  r×  rœ  r®  r�  Úscaler_denses         rF   Ú+test_robust_scaler_equivalence_dense_sparserÞ  å  sÐ   € ô $ I°wÑ?×EÑEÓG€HØ˜*Ó$ÜŸš˜xŸ}™}Ó-ˆ�Ø	˜JÓ	&ÜŸš §¡Ó.Ð.ˆ�Ø	˜GÓ	#ÜŸš §¡×!4Ñ!4¼B¿J¹JÑGˆŒØ×ÑÓ €Gä °Ñ6€MÜ¨uÑ5€Là×Ñ�hÔØ×Ñ�WÔä�M×(Ñ(¨,×*=Ñ*=Õ>rG   c                 óž  • [         R                  R                  S5      nUR                  SS5      n[         R                  " / SQ/5      n[        SS9nUR                  U5      nUR                  U " U5      5      nX4R                  -  n[        UR                  5       U5        UR                  U5      n[        X7R                  5       5        g )Nr   rn   ro   )rÖ  rr   rq   r«   r‰  FrÇ   )rI   r¿   rÀ   r]   rt   r   ra   r‡   r³   r,   rB   r¸   )rÐ  r\   rf   Ú
single_rowrh   Ú	row_transÚrow_expectedÚrow_scaled_backs           rF   Ú(test_robust_scaler_transform_one_row_csrrä  û  s¥   € ô �)‰)×
Ñ
 Ó
"€CØ�	‰	�!�Q‹€AÜ—’Ò5Ð6Ó7€JÜ¨Ñ/€FØ�Z‰Z˜‹]€FØ× Ñ ¡¨zÓ!:Ó;€IØ§¡Ñ-€LÜ˜i×/Ñ/Ó1°<Ô@Ø×.Ñ.¨yÓ9€OÜ˜j×*AÑ*AÓ*CÕDrG   c                  ó*  • [         R                  n [        5       nUR                  U 5      n[	        [
        R                  " USS9S5        UR                  U5      n[	        X5        [
        R                  " USSS9nUS   US   -
  n[	        US5        g )Nr   r©   ©é   éK   ©Úqrª   r=   ©	r|  r}  r   r  r,   rI   rÔ  r¸   Ú
percentile)rf   rh   r  r€  rê  Úiqrs         rF   Útest_robust_scaler_irisrî  
  s|   € Ü�	‰	€AÜ‹^€FØ×"Ñ" 1Ó%€GÜœbŸiši¨°aÑ8¸!Ô<Ø×*Ñ*¨7Ó3€KÜ˜aÔ-Ü
�Š�g °Ñ2€AØ
ˆA‰$��1‘‰+€CÜ˜c 1Õ%rG   c                  ó(  • [         R                  n [        SS9nUR                  U 5      n[	        [
        R                  " USS9S5        UR                  U5      n[	        X5        [
        R                  " USSS9nUS   US   -
  n[	        US5        g )N)r@   éZ   ©Úquantile_ranger   r©   ré  r=   rë  )rf   rh   r  r€  rê  Úq_ranges         rF   Ú!test_robust_scaler_iris_quantilesrô    s   € Ü�	‰	€AÜ¨Ñ2€FØ×"Ñ" 1Ó%€GÜœbŸiši¨°aÑ8¸!Ô<Ø×*Ñ*¨7Ó3€KÜ˜aÔ-Ü
�Š�g °Ñ2€AØ�‰d�Q�q‘T‰k€GÜ˜g qÕ)rG   Úcsc_containerc                 ó¢  • [         R                  n[        SS9nUR                  U5      nUR	                  U5      n[        X5        [        SSS9nUR                  U5      nUR	                  U5      n[        X5        U " U5      nUR                  U5      nUR	                  U5      n[        UR                  5       UR                  5       5        g )Nr:   ©Ún_quantilesÚnormal)rø  Úoutput_distribution)r|  r}  r   r  r¸   r,   rB   )rõ  rf   r¦  r  r€  rœ  ÚX_sparse_tranÚX_sparse_tran_invs           rF   Útest_quantile_transform_irisrý  "  s»   € ä�	‰	€Aä%°"Ñ5€KØ×'Ñ'¨Ó*€GØ×/Ñ/°Ó8€KÜ˜aÔ-ä%°"È(ÑS€KØ×'Ñ'¨Ó*€GØ×/Ñ/°Ó8€KÜ˜aÔ-ñ ˜QÓ€HØ×-Ñ-¨hÓ7€MØ#×5Ñ5°mÓDÐÜ˜h×.Ñ.Ó0Ð2C×2KÑ2KÓ2MÕNrG   c                 ó  • [         R                  " / SQ/ SQ/ SQ/5      nU " U5      n[         R                  " / SQ/ SQ/ SQ/5      nU " U5      nSn[        R                  " [        US9   [        SS9R                  U5        S S S 5        [        SS	9nS
n[        R                  " [        US9   UR                  U5        S S S 5        UR                  U5        S
n[        R                  " [        US9   UR                  U5        S S S 5        [         R                  " / SQ/ SQ/5      nSn[        R                  " [        US9   UR                  U5        S S S 5        [        SS	9R                  U5      n[        R                  " [        SS9   UR                  S5        S S S 5        [        SS	9nSn[        R                  " [        US9 nUR                  U5        S S S 5        [        W5      S:X  d   eUR                  UR                  S   :X  d   eg ! , (       d  f       GNž= f! , (       d  f       GNr= f! , (       d  f       GN>= f! , (       d  f       Nþ= f! , (       d  f       NÄ= f! , (       d  f       N—= f)N)
r   rç  r"  r   r   r   rè  r   r   rÌ   )
rW   rn   r   r   rp   rû   r   r@   r   r   )
r   r   çÍÌÌÌÌÌ@çffffff@r   r   çffffff@r   ç      #@rÖ  )
éþÿÿÿrn   r   r   rp   rû   r   r@   r   r   zmThe number of quantiles cannot be greater than the number of samples used. Got 1000 quantiles and 10 samples.rþ   r@   )Ú	subsampler÷  z>QuantileTransformer only accepts non-negative sparse matrices.zKX has 2 features, but QuantileTransformer is expecting 3 features as input.z+Expected 2D array, got scalar array insteadrÌ   zn_quantiles is set to n_samplesr=   r   )rI   Ú	transposer^   r_   r`   r   ra   r‡   r¸   r  r  ÚlenÚn_quantiles_rK   )rõ  rf   ÚX_negrÇ  r¦  Ú
X_bad_featÚwarn_msgr¸  s           rF   Ú#test_quantile_transform_check_errorr  7  sþ  € ä
�Šâ/Ú+Ú4ð	
ó	€Añ 	�aÓ€AÜ�LŠLâ/Ú,Ú4ð	
ó€Eñ ˜%Ó €Eð	ð ô
 
�Š”z¨Ó	1Ü bÑ)×-Ñ-¨aÔ0÷ 
2ô &°"Ñ5€KØN€GÜ	�Š”z¨Ó	1Ø�‰˜Ô÷ 
2à‡O�O�AÔØN€GÜ	�Š”z¨Ó	1Ø×Ñ˜eÔ$÷ 
2ô —’Ú	,Ò.VÐWó€Jð 	Vð ô 
�Š”z¨Ó	1Ø×%Ñ% jÔ1÷ 
2ô &°"Ñ5×9Ñ9¸!Ó<€Kä	�Š”zÐ)VÓ	WØ×Ñ˜bÔ!÷ 
Xô &°#Ñ6€KØ0€HÜ	�Š”k¨Ò	2°fØ�‰˜Ô÷ 
3äˆv‹;˜!ÓÐÐØ×#Ñ# q§w¡w¨q¡zÓ1Ð1Ñ1÷? 
2Ö	1ú÷
 
2Ö	1ú÷ 
2Ö	1ú÷ 
2Õ	1ú÷
 
XÕ	Wú÷
 
3Õ	2úsH   Á*HÂ/H,Ã5H>ÅIÆI!ÇI2È
H)È,
H;È>
IÉ
IÉ!
I/É2
J c                 ó¦  • [         R                  " SS/SS/SS/SS/SS//5      nU " U5      n[        SSS9nSn[        R                  " [
        US9   UR                  U5        S S S 5        [         R                  " SS/SS/SS/SS/SS//5      nUR                  U5      n[        XVR                  5       5        [         R                  " / S	Q5      n[         R                  " / S
Q5      n[         R                  " / SQ5      n	U " XyU445      nUR                  U5      n[         R                  " SS/SS/SS/SS/SS/SS/SS/SS/SS//	5      n[        XVR                  5       5        [        SSS9n[         R                  " / SQ5      n[         R                  " / SQ5      n[         R                  " / SQ5      n	U " XyU445      nUR                  U5      n[         R                  " SS/SS/SS/SS/SS/SS/SS//5      n[        XVR                  5       5        [        UR                  5       UR                  U5      R                  5       5        [        SSSSS9nUR                  U5      n[        XVR                  5       5        [        UR                  5       UR                  U5      R                  5       5        g ! , (       d  f       GNc= f)Nr   r=   rW   Tro   )Úignore_implicit_zerosrø  z['ignore_implicit_zeros' takes effect only with sparse matrix. This parameter has no effect.rþ   )r   r   r=   r   rW   rW   r=   r   r=   rW   r   )r   r   r=   r=   r=   r=   r=   r=   r=   r=   r=   )r   rn   r   r=   rW   rX   rn   ro   rp   rl  rû   r«   r„  rr   )	r<   r<   r=   r   r   r   r=   r<   r=   )	r   r   r=   r=   r=   r=   r=   r=   r=   )	r   rn   r   r=   rW   rX   rn   ro   rp   g      Ø?rû   )r  rø  r  Úrandom_state)rI   rt   r   r^   r  r  ra   r  r+   rB   r¸   )
rõ  rf   rœ  r¦  r  Ú
X_expectedr  ÚX_dataÚX_colÚX_rows
             rF   Ú+test_quantile_transform_sparse_ignore_zerosr  q  s¬  € ä
�Š�1�a�&˜1˜a˜& 1 a &¨1¨a¨&°1°a°&Ð9Ó:€AÙ˜QÓ€HÜ%¸DÈaÑP€Kð	ð ô
 
�Š”k¨Ó	9Ø�‰˜Ô÷ 
:ô —’˜A˜q˜6 A q 6¨A¨q¨6°A°q°6¸A¸q¸6ÐBÓC€JØ×'Ñ'¨Ó1€GÜ˜
§O¡OÓ$5Ô6ô �XŠXÒ7Ó8€FÜ�HŠHÒ6Ó7€EÜ�HŠHÒ6Ó7€EÙ˜f¨e nÐ5Ó6€HØ×'Ñ'¨Ó1€GÜ—’à�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJð
	
ó€Jô ˜
§O¡OÓ$5Ô6ä%¸DÈaÑP€KÜ�XŠXÒ4Ó5€FÜ�HŠHÒ0Ó1€EÜ�HŠHÒ0Ó1€EÙ˜f¨e nÐ5Ó6€HØ×'Ñ'¨Ó1€GÜ—’Ø
ˆQˆ�!�U�˜a ˜Z¨!¨U¨°a¸°V¸aÀ¸VÀaÈÀVÐLó€Jô ˜
§O¡OÓ$5Ô6ÜØ×ÑÓ˜K×9Ñ9¸'ÓB×JÑJÓLôô
 &Ø"°¸QÈQñ€Kð ×'Ñ'¨Ó1€GÜ˜
§O¡OÓ$5Ô6ÜØ×ÑÓ˜K×9Ñ9¸'ÓB×JÑJÓLõ÷c 
:Ö	9ús   ÁKË
Kc                  ó*  • [         R                  " / SQ/ SQ/ SQ/ SQ/ SQ/5      n [        SS9nUR                  U 5        UR	                  U 5      n[         R
                  " [         R                  " SS	SS
9S5      R                  n[        [         R                  " USS9U5        [         R                  " / SQ/ SQ/5      n[         R                  " / SQ/ SQ/5      n[        UR                  U5      U5        UR                  U5      n[        X5        g )N)r   rW   rÿ  )rç  rn   r   )r"  rp   r  )rè  rû   r  )rÌ   r@   rÖ  ro   r÷  r   r=   ©Únum)rX   r=   r©   )r<   r=   r   )ée   é   r@   )r   r   r   ©r=   r=   r=   )rI   rt   r   ra   r  ÚtileÚlinspaceÚTr+   Úsortr,   r‡   r¸   )rf   r¦  r  r  rŠ   r€  s         rF   Ú!test_quantile_transform_dense_toyr  ³  sã   € Ü
�ŠÚ	’l¢L²,ÂÐOó	€Aô &°!Ñ4€KØ‡O�O�AÔð ×'Ñ'¨Ó*€GÜ—’œŸš Q¨¨qÑ1°6Ó:×<Ñ<€JÜœŸš ¨aÑ0°*Ô=ä�XŠXâÚð	
ó€Fô —’âÚð	
ó€Jô ˜k×3Ñ3°FÓ;¸ZÔHà×/Ñ/°Ó8€KÜ˜aÕ-rG   c                  ó  • Sn Sn[         R                  " [         R                  R                  U S45      SS9nSn/ n[	        U5       Hž  n[        UUU S-  S9nUR                  U5        [         R                  " SSU5      [         R                  " UR                  5      -
  n[         R                  " [         R                  " U5      5      nUS	:  d   eUR                  U5        M      [        [         R                  " U5      5      [        U5      :X  d   e[        U S4S
SSS9n/ n[	        U5       Hž  n[        UUU S-  S9nUR                  U5        [         R                  " SSU5      [         R                  " UR                  5      -
  n[         R                  " [         R                  " U5      5      nUS:  d   eUR                  U5        M      [        [         R                  " U5      5      [        U5      :X  d   eg )Né@B r;   r=   r   r©   ro   r@   )r  rø  r  ç{®Gáz„?g®Gáz®ï?Úcsc)rË  Úformatr  rÖ  )rI   r  r¿   Úsamplerá   r   ra   r  r²   Ú
quantiles_rb  rÜ  Úappendr  Úuniquer7   )	rd   rø  rf   ÚROUNDÚinf_norm_arrr  r¦  ÚdiffÚinf_norms	            rF   Ú#test_quantile_transform_subsamplingr,  Ó  s¯  € ð €IØ€KÜ
�Š”—	‘	× Ñ  )¨Q Ó0°qÑ9€AØ€EØ€LÜ˜ežˆÜ)Ø%Ø#Ø 2‘oñ
ˆð
 	�‰˜ÔÜ�{Š{˜1˜a Ó-´·²¸×9OÑ9OÓ0PÑPˆÜ—6’6œ"Ÿ&š& ›,Ó'ˆØ˜$‹ÐˆØ×Ñ˜HÖ%ñ %ô Œr�yŠy˜Ó&Ó'¬3¨|Ó+<Ó<Ð<Ð<ô 	˜i¨˜^°TÀ%ÐVWÑX€AØ€LÜ˜ežˆÜ)Ø%Ø#Ø 2‘oñ
ˆð
 	�‰˜ÔÜ�{Š{˜1˜a Ó-´·²¸×9OÑ9OÓ0PÑPˆÜ—6’6œ"Ÿ&š& ›,Ó'ˆØ˜$‹ÐˆØ×Ñ˜HÖ%ñ %ô Œr�yŠy˜Ó&Ó'¬3¨|Ó+<Ó<Ð<Ñ<rG   c                  ó€  • [         R                  R                  S5      R                  SS9n Sn[	        USS9R                  U 5      n[         R                  " SSU5      n[        UR                  U5        [         R                  " U R                  5       U5      n[        UR                  R                  5       U5        g)zCCheck the behaviour of `QuantileTransformer` when `subsample=None`.r   )éÈ   r=   r>   ro   N)rø  r  r=   )rI   r¿   rÀ   rù  r   ra   r  r)   Úreferences_Úquantiler²   r%  )rf   rø  r¦  Úexpected_referencesÚexpected_quantiless        rF   Ú,test_quantile_transform_subsampling_disabledr3    s—   € ä
�	‰	×Ñ˜aÓ ×'Ñ'¨XÐ'Ð6€Aà€KÜ%°+ÈÑN×RÑRÐSTÓU€KäŸ+š+ a¨¨KÓ8ÐÜ�K×+Ñ+Ð-@ÔAÜŸš Q§W¡W£YÐ0CÓDÐÜ�K×*Ñ*×0Ñ0Ó2Ð4FÕGrG   c                 óŒ  • [         R                  " / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ S	Q/ S
Q/
5      nU " U5      n[        SS9nUR                  U5        UR	                  U5      n[        [         R                  " UR                  5       SS9S5        [        [         R                  " UR                  5       SS9S5        UR                  U5      n[        UR                  5       UR                  5       5        [        SS9R                  UR                  5       5      nUR                  U5      n[        [         R                  " UR                  5       SS9S5        [        [         R                  " UR                  5       SS9S5        UR                  U5      n[        UR                  5       UR                  5       5        g )N)r«   rq   r«   )g      9@ç      @r«   )g      I@r«   rÿ  )r«   r«   r   )r«   ç      @r«   )r«   g       @r«   )g     ÀR@r«   r  )r«   g      $@r«   )r«   r«   r  )rÊ   r«   rÖ  r@   r÷  r   r©   r«   rr   )rI   rt   r   ra   r  r,   r~  rB   rb  r¸   r‡   )rõ  rf   r¦  r  r€  r¯  s         rF   Ú"test_quantile_transform_sparse_toyr7    sS  € ä
�ŠâÚÚÚÚÚÚÚÚÚð	
ó	€Añ 	�aÓ€Aä%°"Ñ5€KØ‡O�O�AÔà×'Ñ'¨Ó*€GÜœbŸfšf W§_¡_Ó%6¸QÑ?ÀÔEÜœbŸfšf W§_¡_Ó%6¸QÑ?ÀÔEà×/Ñ/°Ó8€KÜ˜aŸi™i›k¨;×+>Ñ+>Ó+@ÔAä+¸Ñ;×?Ñ?ÀÇ	Á	ÃÓLÐà×)Ñ)¨!Ó,€GÜœbŸfšf W§_¡_Ó%6¸QÑ?ÀÔEÜœbŸfšf W§_¡_Ó%6¸QÑ?ÀÔEà#×5Ñ5°gÓ>€KÜ˜aŸi™i›k¨;×+>Ñ+>Ó+@ÕArG   c                  ó¬   • [         R                  " / SQ/ SQ/ SQ/5      n [        U R                  SSS9n[        U SSS9n[	        XR                  5        g )N)r   rç  r"  rè  rÌ   )rW   rn   rp   rû   r@   )rÿ  r   r  r  rÖ  r   ro   )rª   rø  r=   )rI   rt   r   r  r,   )rf   Ú
X_trans_a0Ú
X_trans_a1s      rF   Útest_quantile_transform_axis1r;  6  sF   € Ü
�ŠÒ&Ò(8Ò:SÐTÓU€Aä# A§C¡C¨a¸QÑ?€JÜ# A¨A¸1Ñ=€JÜ˜j¯,©,Õ7rG   c                 ó¢  • [         R                  " SS/SS/SS//5      nU " U5      n[        SSS9R                  U5      n[	        X15        [        SSS9R                  U5      n[	        UR                  5       U5        [	        X4R                  5       5        [         R                  " SS/SS/SS//5      n[         R                  " SS/SS/SS//5      n[        SS9R                  U5      nUR                  U5      n[	        X65        [         R                  R                  S5      n[        5       nUR                  U5        UR                  S	//5      UR                  [         R                  " U5      //5      :X  d   eUR                  S
//5      UR                  [         R                  " U5      //5      :X  d   eUR                  S	//5      UR                  [         R                  " UR                  5      //5      :X  d   eUR                  S
//5      UR                  [         R                  " UR                  5      //5      :X  d   eg )Nr   r=   rX   ©rø  r  r„  rÖ  r÷  )r;   r=   éöÿÿÿr@   )rI   rt   r   r  r,   rB   ra   r‡   r¿   r~  rb  r¸   r/  )rõ  r®  rœ  r  Ú
X_trans_sprf   ÚX1r¦  s           rF   Útest_quantile_transform_boundsrA  >  s!  € ô �hŠh˜˜A˜  A ¨¨A¨Ð/Ó0€GÙ˜WÓ%€Hô "¨a¸aÑ@×NÑNÈwÓW€GÜ˜gÔ/Ü$°ÀÑC×QÑQØó€Jô ˜j×0Ñ0Ó2°GÔ<Ü˜g×'9Ñ'9Ó';Ô<ô 	�Š�1�a�&˜1˜c˜( Q¨ FÐ+Ó,€AÜ	�Š�A�s�8˜a ˜X¨¨3 xÐ0Ó	1€BÜ%°!Ñ4×8Ñ8¸Ó;€KØ×#Ñ# BÓ'€GÜ˜gÔ*ô 	�	‰	×Ñ˜Ó#€AÜ%Ó'€KØ‡O�O�AÔØ× Ñ  3 % Ó)¨[×-BÑ-BÄRÇVÂVÈAÃYÀKÀ=Ó-QÓQÐQÐQØ× Ñ  2 $ Ó(¨K×,AÑ,AÄBÇFÂFÈ1ÃIÀ;À-Ó,PÓPÐPÐPØ×(Ñ(¨3¨%¨Ó1°[×5RÑ5RÜ
�&Š&�×(Ñ(Ó
)Ð	*Ð+ó6ó ð ð ð ×(Ñ(¨2¨$¨Ó0°K×4QÑ4QÜ
�&Š&�×(Ñ(Ó
)Ð	*Ð+ó5ó ð ñ rG   c            	      óú   • [         R                  n [        R                  " S/[        S-  /S/S/S/S/S//5      nX4 H9  n[        SSS	9nUR                  U5      nUR                  U5      n[        X%S
S9  M;     g )Nr«   r@   r   rW   rX   rn   r;   r   r=  é	   r  )	r|  r}  rI   rt   r    r   r  r¸   r,   )ÚX_1ÚX_2rf   r¦  r  r€  s         rF   Ú#test_quantile_transform_and_inverserF  d  s   € Ü
�)‰)€CÜ
�(Š(�S�EÔ,¨rÑ1Ð2°S°E¸A¸3ÀÀÀaÀSÈ1È#ÐNÓ
O€CØ‹ZˆÜ)°dÈÑKˆØ×+Ñ+¨AÓ.ˆØ!×3Ñ3°GÓ<ˆÜ! !¸!Ô<ò	 rG   c                  óè  • [         R                  " [         R                  SSS/[         R                  [         R                  SS/[         R                  SSS//5      n [        SSS9nUR	                  U 5        [         R
                  " UR                  S S 2S4   5      R                  5       (       d   e[         R
                  " UR                  S S 2SS 24   5      R                  5       (       a   eg )Nr   r=   r„  r@   r#  r=  )	rI   rt   ru   r   r  r  r%  ræ   rå   )rf   r¦  s     rF   Útest_quantile_transform_nanrH  n  s½   € Ü
�Š”2—6‘6˜1˜a Ð#¤b§f¡f¬b¯f©f°a¸Ð%=ÄÇÁÈÈ1ÈaÐ?PÐQÓR€Aä%°"À2ÑF€KØ×Ñ˜aÔ ô �8Š8�K×*Ñ*ª1¨a¨4Ñ0Ó1×5Ñ5×7Ñ7Ð7Ð7ä�xŠx˜×.Ñ.ªq°!±"¨uÑ5Ó6×:Ñ:×<Ñ<Ð<Ð<Ð<rG   Ú
array_typert   r   c                 óH  • [         R                  " / SQS-  5      nSUR                  SS5      -  n[        X5      nSn[	        US9R                  U5      nUR                  S S 2S4   n[        U5      S:X  d   e[        [         R                  " U5      S:¬  5      (       d   eg )	N)r   r=   r=   rW   rW   rX   rX   rn   ro   ro   r=   r=   rC  rC  rC  rû   rû   rl  r@   rÖ  r<   r=   rÌ   r÷  r   )
rI   rt   r<  r(   r   ra   r%  r  ræ   r*  )rI  rf   rø  ÚqtÚ	quantiless        rF   Ú*test_quantile_transformer_sorted_quantilesrM  z  s–   € ô 	�ŠÒGÈ"ÑLÓM€AØˆa�i‰i˜˜AÓÑ€AÜ˜1Ó)€Aà€KÜ	¨Ñ	5×	9Ñ	9¸!Ó	<€Bð —‘ša ˜dÑ#€IÜˆy‹>˜SÓ Ð Ð ÜŒr�wŠw�yÓ! QÑ&×'Ñ'Ð'Ñ'rG   c            	      óN  • Sn [        SU SSS9nSU S-  -  Sp2[        R                  " SS/U S-
  U S-   /5      n[        R                  " U S-  5      n[        R                  " [        R
                  " SSU S-
  S9[        R
                  " SSU S-   S945      n[        R                  " XeU44X#4S	9nUR                  U5        UR                  R                  nUR                  S:„  R                  5       (       d   e[        R                  " US   US   S   :H  5      (       a   e[        R                  " US   US   S
S9(       d   e[        U5      R                  SS9nUR                  U5      R                  n[        R                  " US5      R!                  5       S:”  d   eg )Niô  Tr"  r   )r  r  rø  r  rW   r=   r  )rK   rÖ  r:  F)r  gÍÌÌÌÌÌì?)r   rI   ÚrepeatÚarangeÚconcatenater  r   Ú	csc_arrayra   r%  r  ræ   Úallcloser   Ú
set_paramsÚiscloser´   )	r  rK  rR   ÚdÚcolÚrowr}  rf   rL  s	            rF   Ú,test_quantile_transformer_sparse_subsamplingrY  Ž  sˆ  € ð €IÜ	Ø"ØØØñ	
€Bð ˆy˜!‰|Ñ˜Q€qä
�)Š)�Q˜�F˜Y¨™]¨I¸©MÐ:Ó
;€Cä
�)Š)�I ‘MÓ
"€Cä�>Š>ä�KŠK˜˜1 )¨a¡-Ñ0Ü�KŠK˜˜1 )¨a¡-Ñ0ð	
ó€Dô 	×Ò˜$ c 
Ð+°A°6Ñ:€Aà‡F�Fˆ1„IØ—‘—‘€Ià�M‰M˜AÑ×"Ñ"×$Ñ$Ð$Ð$ô �vŠv�i ‘l i°¡l°1¡oÑ5×6Ñ6Ð6Ð6ô �;Š;�y ‘| Y¨q¡\¸×<Ð<Ð<ô 
ˆr‹×	Ñ	°EÐ	Ð	:€BØ—‘�q“	×$Ñ$€IÜ�:Š:�i Ó#×(Ñ(Ó*¨SÓ0Ð0Ñ0rG   c                  óÎ   • S HM  n [        U S9n[        R                  " [        SS9   UR	                  [
        R                  5        S S S 5        MO     g ! , (       d  f       Ma  = f)N))r<   rð  )r  éýÿÿÿ)r@   r  )g      Y@r  )rð  r"  rñ  zInvalid quantile range: \(rþ   )r   r^   r_   r`   ra   r|  r}  )Úrange_rh   s     rF   Ú test_robust_scaler_invalid_ranger]  ½  sL   € óˆô ¨VÑ4ˆä�]Š]œ:Ð-JÓKØ�J‰J”t—y‘yÔ!÷ LÑKò÷ LÖKús   ¨ AÁ
A$	c                 óÆ  • [         R                  R                  S5      nUR                  SS5      nSUS S 2S4'   U " U5      n[	        USS9n[         R
                  " [         R                  " U5      5      (       a   e[	        USS9n[         R
                  " [         R                  " UR                  5      5      (       a   e[	        UR                  5       SS9n[        XFR                  5       5        [        R                  " [        5         [	        USSS	9  S S S 5        [        UR                  SS
9/ SQS5        [        UR                  SS
9/ SQ5        XBLd   e[!        US5      u  px[        XtR                  SS
95        [        X„R                  SS
95        [	        USSSS9n[        UR                  5       UR                  5       5        g ! , (       d  f       N¾= f)Nr#  rn   ro   r«   r   Fr|   r=   )r}   rª   r©   r›  rW   r  TrD  )rI   r¿   rÀ   r]   r   rå   r  r}  rÛ  r,   rB   r^   r_   r`   r´   r¶   r9   )	rÐ  r\   rf   ÚX_csrr¹   ÚX_csr_scaledÚX_csc_scaledÚX_csr_scaled_meanÚX_csr_scaled_stds	            rF   Ú%test_scale_function_without_centeringrd  Ë  s‡  € ä
�)‰)×
Ñ
 Ó
#€CØ�	‰	�!�Q‹€AØ€A‚aˆ€d�GÙ˜!Ó€Eä�Q %Ñ(€HÜ�vŠv”b—h’h˜xÓ(×)Ñ)Ð)Ð)ä˜¨%Ñ0€LÜ�vŠv”b—h’h˜|×0Ñ0Ó1×2Ñ2Ð2Ð2ô ˜Ÿ™›°%Ñ8€LÜ˜h×(<Ñ(<Ó(>Ô?ô 
�Š”zÕ	"Üˆe˜u¨1Ò-÷ 
#ô Ø�‰˜1ˆÐÒ?Àôô ˜hŸl™l°˜lÐ2Ò4MÔNàÒÐÐä*<¸\È1Ó*MÑ'ÐÜÐ/·±ÀA°Ð1FÔGÜÐ.·±À!°Ð0DÔEô ˜¨%¸%ÀdÑK€LÜ˜eŸm™m›o¨|×/CÑ/CÓ/EÕF÷! 
#Õ	"ús   ÄGÇ
G c                  óÐ   • [         R                  n [        U SS9n[        [        R
                  " USS9S5        [        R                  " USSS9nUS   US   -
  n[        US5        g )Nr=   r©   r   ræ  ré  ©r|  r}  r   r,   rI   rÔ  rì  ©rf   r  rê  rí  s       rF   Útest_robust_scale_axis1rh  ð  sY   € Ü�	‰	€AÜ˜1 1Ñ%€GÜœbŸiši¨°aÑ8¸!Ô<Ü
�Š�g °Ñ2€AØ
ˆA‰$��1‘‰+€CÜ˜c 1Õ%rG   c                  óà   • [         R                  S S 2S4   n [        U 5      n[        [        R
                  " U5      S5        [        R                  " USS9nUS   US   -
  n[        US5        g )Nr=   r   ræ  )rê  rf  rg  s       rF   Útest_robust_scale_1d_arrayrj  ù  sZ   € Ü�	‰	’!�Q�$‰€AÜ˜1‹o€GÜœbŸiši¨Ó0°!Ô4Ü
�Š�g Ñ*€AØ
ˆA‰$��1‘‰+€CÜ˜c 1Õ%rG   c                  ó  • / SQ/ SQ/ SQ/n [        5       nUR                  U 5      n/ SQ/ SQ/ SQ/n[        X#5        UR                  U5      n[        X5        / SQ/ SQ/ S	Q/nUR	                  U5      n/ S
Q/ SQ/ SQ/n[        XgSS9  g )Nrƒ  r…  r†  r‹  )r«   r«   r‰  rŒ  r‡  rˆ  rŠ  )r«   rr   r«   )r‰  r«   g_Ò­£ªê¿)r«   r«   gÑ–s)®ªú?rX   r  )r   r  r,   r¸   r‡   )rf   rh   r  r  r€  rŽ  r�  ÚX_expected_news           rF   Ú)test_robust_scaler_zero_variance_featuresrm    s�   € â	Ò+Ò-=Ð>€Aä‹^€FØ×"Ñ" 1Ó%€Gò #Ò$4Ò6FÐG€JÜ˜gÔ2Ø×*Ñ*¨7Ó3€KÜ˜aÔ-ò Ò/Ò1AÐB€EØ×"Ñ" 5Ó)€KÚ'Ò)>Ò@UÐV€NÜ˜kÀ1ÓErG   c                  ó2  • [         R                  R                  S5      n U R                  SS5      n[         R                  " U[         R
                  " S5      S-  [         R
                  " S5      S-  /5      nSn[        USS	9R                  U5      nUR                  U5      nUR                  [        R                  " S
SS9:X  d   eUR                  [        R                  " SSS9:X  d   eUR                  5       [        R                  " SSS9:X  d   eg )Nr#  r   r=   )rÌ   r=   rÌ   iœÿÿÿ)r=   éc   T)rò  Úunit_variancer   çü©ñÒMbP?)rÜ  r!  )rI   r¿   rÀ   r]   Úvstackr„   r   ra   r‡   rÍ  r^   rM  r³   r¶   )r\   rf   ÚX_with_outliersrò  Úrobust_scalerr  s         rF   Ú test_robust_scaler_unit_varianceru    sè   € ô �)‰)×
Ñ
 Ó
#€CØ�	‰	�'˜1Ó€AÜ—i’i ¤B§G¢G¨HÓ$5¸Ñ$;¼R¿WºWÀXÓ=NÐQUÑ=UÐ VÓW€Oà€NÜ °ÈdÑS×WÑWØó€Mð ×%Ñ% aÓ(€Gà× Ñ ¤F§M¢M°!¸Ñ$>Ó>Ð>Ð>Ø×Ñ¤6§=¢=°¸Ñ#=Ó=Ð=Ð=Ø�;‰;‹=œFŸMšM¨!°Ñ6Ó6Ð6Ñ6rG   c                 ó$  • / SQ/ SQ/ SQ/ SQ/n[        5       nUR                  U5      n/ SQ/ SQ/ SQ/ SQ/n[        X45        UR                  U5      n[        X5        / SQ/ S	Q/ SQ/nUR	                  U5      n/ S
Q/ S	Q/ SQ/n[        XxSS9  [        U5      n[        X45        U " U5      n	UR                  U	5      n
/ SQ/ SQ/ SQ/ SQ/n[        U
R                  5       U5        UR                  U
5      n[        XR                  5       5        g )Nrƒ  )r«   rr   ç333333Ó¿rŠ  r‹  )r«   rr   çUUUUUUÕ?)r«   rr   gš™™™™™É¿)r«   rr   rr   r‡  rˆ  )r«   rq   rx  rW   r  )r   r  r,   r¸   r‡   r   rB   )r¼   rf   rh   r  r  r€  rŽ  r�  rl  rœ  r²  ÚX_trans_sparse_invs               rF   Ú)test_maxabs_scaler_zero_variance_featuresrz  -  s  € ò 
Ò+Ò-=Ò?OÐP€Aä‹^€FØ×"Ñ" 1Ó%€GâÚÚÚð	€Jô ˜gÔ2Ø×*Ñ*¨7Ó3€KÜ˜aÔ-ò Ò/Ò1AÐB€EØ×"Ñ" 5Ó)€KÚ,Ò.>Ò@PÐQ€Nä˜kÀ1ÒEô ˜1‹o€GÜ˜gÔ2ñ   Ó"€HØ×)Ñ)¨(Ó3€NâÚÚÚð	€Jô ˜n×4Ñ4Ó6¸
ÔCØ×1Ñ1°.ÓAÐÜ˜a×!;Ñ!;Ó!=Õ>rG   c                  óˆ   • / SQ/ SQ/ SQ/ SQ/n [        5       nUR                  U 5      n/ SQ/ SQ/ SQ/ SQ/n[        X#5        g )	N)r«   rr   r„  r‰  )r«   rr   rw  rz  )r«   rr   g      YÀr«   )r«   r«   r«   g       À)r«   rr   g{®Gázt?rz  )r«   rr   gú~j¼t“h¿g      Ð¿)r«   rr   r‰  r«   )r«   r«   r«   r‰  )r   r  r,   )rf   rh   r  r  s       rF   Ú'test_maxabs_scaler_large_negative_valuer|  W  sM   € ò 	ÚÚÚð		€Aô ‹^€FØ×"Ñ" 1Ó%€GâÚ!ÚÚð	€Jô ˜gÕ2rG   c                 óJ  • U " / SQ/5      n[        5       nUR                  U5      nUR                  U5      nU " / SQ/5      n[        UR	                  5       UR	                  5       5        UR                  U5      n[        UR	                  5       UR	                  5       5        g )N)r„  rr   rr   r�  )r   ra   r‡   r,   rB   r¸   )rÐ  rf   rh   r  r  rº   s         rF   Ú(test_maxabs_scaler_transform_one_row_csrr~  k  s…   € ñ 	’Ð'Ó(€AÜ‹^€FØ�Z‰Z˜‹]€FØ×Ñ˜qÓ!€GÙ¢Ð0Ó1€JÜ˜gŸo™oÓ/°×1CÑ1CÓ1EÔFØ×,Ñ,¨WÓ5€MÜ˜aŸi™i›k¨=×+@Ñ+@Ó+BÕCrG   c            	      ó  • [         [        [        [        4 GH  n [        SS9nUR	                  U 5      R                  U 5      n[        U [        5      (       a  [        R                  " U 5      n [        U 5      S:X  aF  [        [        R                  " UR                  SS95      [        R                  " [        5      5        O-[        [        R                  " UR                  SS95      S5        UR                   U R"                  S   :X  d   eUR%                  U5      n[        X05        GM     [        R                  " S5      n [        5       nUR	                  U 5      R                  U 5      n[        [        R                  " UR                  SS95      S5        UR                   U R"                  S   :X  d   e[         R'                  5       n[        R                  " U5      R                  5       n[        XE-  [)        USS95        g )NTr�   r=   r   r©   rr   r¬   )r­   r®   r¯   r   ra   r‡   r°   r±   rI   rt   rL   r,   rÜ  rb  r„   re   r·   rK   r¸   r²   r   )rf   rh   r¹   rº   r—  Úmax_abss         rF   Útest_maxabs_scaler_1dr�  x  sw  € ä”fœk¬;Ô7ˆÜ 4Ñ(ˆØ—:‘:˜a“=×*Ñ*¨1Ó-ˆä�aœ×ÑÜ—’˜“ˆAä˜AÓ !Ó#Ü%¤b§f¢f¨X¯\©\¸q¨\Ð-AÓ&BÄBÇGÂGÌJÓDWÕXä%¤b§f¢f¨X¯\©\¸q¨\Ð-AÓ&BÀCÔHØ×%Ñ%¨¯©°©Ó3Ð3Ð3ð ×0Ñ0°Ó:ˆÜ! -×3ñ 8ô$ 	�Š�‹€AÜ‹^€FØ�z‰z˜!‹}×&Ñ& qÓ)€HÜœbŸfšf X§\¡\°q \Ð%9Ó:¸CÔ@Ø×!Ñ! Q§W¡W¨Q¡ZÓ/Ð/Ð/ô �<‰<‹>€DÜ�fŠf�T‹l×ÑÓ €GÜ˜d™n¬l¸4ÀdÑ.KÕLrG   c                 ó’  • [         S S2S S 24   nUR                  S   nSSSX"S-   4 GH  n[        5       R                  U5      n[        5       n[        5       n[        5       n[	        X#5       HL  nUR                  X   5      nU " X   5      n	UR                  U	5      nU " X   5      n
UR                  U
5      nMN     [        UR                  UR                  5        [        UR                  UR                  5        [        UR                  UR                  5        UR                  UR                  :X  d   eUR                  UR                  :X  d   eUR                  UR                  :X  d   e[        UR                  UR                  5        [        UR                  UR                  5        [        UR                  UR                  5        [        UR                  U5      UR                  U5      5        [        SU5      n[        5       R                  X   5      n[        5       R                  X   5      n[        UR                  UR                  5        UR                  UR                  :X  d   e[        UR                  UR                  5        [        UR                  U5      UR                  U5      5        [        5       R                  U5      n[        5       n[        [	        X#5      5       HD  u  pÈUR                  X   5      n[        UUR                  UR                  UUUR                  S9  MF     GM     g )NrÌ   r   r=   rW   r"  r#  r$  )r%  rK   r   ra   r#   r&  r,   Úmax_abs_r·   r³   r‡   r+  r,  rU   r-  r.  )rÐ  rf   rR   rS   r0  r1  Úscaler_incr_csrÚscaler_incr_cscr2  r_  ÚX_cscr3  rO   s                rF   Útest_maxabs_scaler_partial_fitr‡  ˜  s·  € ô 	ˆTˆcˆT’1ˆW‰€AØ	�‰�‰
€Aà˜!˜R ¨¡FÔ+ˆ
ä#“~×)Ñ)¨!Ó,ˆä"“nˆÜ&›.ˆÜ&›.ˆÜ  Ö/ˆEØ%×1Ñ1°!±(Ó;ˆKÙ! !¡(Ó+ˆEØ-×9Ñ9¸%Ó@ˆOÙ! !¡(Ó+ˆEØ-×9Ñ9¸%Ó@ŠOñ 0ô 	" ,×"7Ñ"7¸×9MÑ9MÔNÜ! ,×"7Ñ"7¸×9QÑ9QÔRÜ! ,×"7Ñ"7¸×9QÑ9QÔRØ×+Ñ+¨{×/JÑ/JÓJÐJÐJØ×+Ñ+¨×/NÑ/NÓNÐNÐNØ×+Ñ+¨×/NÑ/NÓNÐNÐNÜ! ,×"5Ñ"5°{×7IÑ7IÔJÜ! ,×"5Ñ"5°×7MÑ7MÔNÜ! ,×"5Ñ"5°×7MÑ7MÔNÜ! ,×"8Ñ"8¸Ó";¸[×=RÑ=RÐSTÓ=UÔVô �q˜*Ó%ˆÜ#“~×)Ñ)¨!©)Ó4ˆÜ"“n×0Ñ0°±Ó;ˆä! ,×"7Ñ"7¸×9MÑ9MÔNØ×+Ñ+¨{×/JÑ/JÓJÐJÐJÜ! ,×"5Ñ"5°{×7IÑ7IÔJÜ! ,×"8Ñ"8¸Ó";¸[×=RÑ=RÐSTÓ=UÔVô $“~×)Ñ)¨!Ó,ˆÜ"“nˆÜ!¤+¨aÓ"<Ö=‰HˆAØ%×1Ñ1°!±(Ó;ˆKÜØØ!ŸK™KØ Ÿ:™:ØØ%Ø*×:Ñ:ôô >òM ,rG   c                 ó  • U S:X  aS  [         R                  " U5      R                  SS9n[        S5       H  n[	        X#   S5        M     [	        US   S5        g	U S:X  aX  [        S5       H%  n[	        [
        R                  " X   5      S5        M'     [	        [
        R                  " US   5      S5        g	U S:X  aH  [        U5      R                  SS9n[        S5       H  n[	        XC   S5        M     [	        US   S5        g	g	)
zf
Convenient checking function for `test_normalizer_l1_l2_max` and
`test_normalizer_l1_l2_max_non_csr`
r^  r=   r©   rX   rr   r«   ra  rb  N)rI   rÜ  rL  rá   r+   Úlar`  rb  )r`  ÚX_normÚrow_sumsrO   Úrow_maxss        rF   Úcheck_normalizerr�  Ñ  s×   € ð
 ˆtƒ|Ü—6’6˜&“>×%Ñ%¨1Ð%Ð-ˆÜ�q–ˆAÜ ¡¨SÖ1ñ ä˜H Q™K¨Õ-Ø	�‹Ü�q–ˆAÜ¤§¢¨©	Ó 2°CÖ8ñ äœBŸGšG F¨1¡IÓ.°Õ4Ø	�‹Ü�v“;—?‘?¨�?Ð*ˆÜ�q–ˆAÜ ¡¨SÖ1ñ ä˜H Q™K¨Õ-ð	 
rG   r`  ©r^  ra  rb  c                 óà  • [         R                  R                  S5      nUR                  SS5      nU" U5      nSUSS S 24'   UR                  S   nUR                  S   nSUR
                  XV& U" U5      nX7U4 Hp  n[        U SS9n	U	R                  U5      n
X¨Ld   e[        U
5      n
[        U SS9n	U	R                  U5      nX¸L d   e[        U5      nX«4 H  n[        X5        M     Mr     g )	Nr   rn   ro   r«   rX   T©r`  rŽ   F)
rI   r¿   rÀ   r]   Úindptrr}  r   r‡   rB   r�  )r`  rÐ  r\   r®  ÚX_sparse_unprunedÚindptr_3Úindptr_4ÚX_sparse_prunedrf   Ú
normalizerÚX_norm1ÚX_norm2rŠ  s                rF   Útest_normalizer_l1_l2_maxr™  æ  s	  € ô �)‰)×
Ñ
 Ó
"€CØ�i‰i˜˜1‹o€GÙ% gÓ.Ðð €GˆAŠqˆD�Mð !×'Ñ'¨Ñ*€HØ ×'Ñ'¨Ñ*€HØ03Ð×Ñ˜8Ð-ñ $ GÓ,€Oð Ð(9Ó:ˆÜ T°Ñ5ˆ
Ø×&Ñ& qÓ)ˆØÒÐÐÜ˜'Ó"ˆä T°Ñ6ˆ
Ø×&Ñ& qÓ)ˆØŠ|Ðˆ|Ü˜'Ó"ˆàÓ(ˆFÜ˜TÖ*ó )ò ;rG   c                 óL  • [         R                  R                  S5      nUR                  SS5      nSUSS S 24'   U" U5      n[	        U SS9R                  U5      nXTLd   e[        R                  " U5      (       a  UR                  S:X  d   e[        U5      n[        X5        g )	Nr   rn   ro   r«   rX   Fr�  Úcsr)rI   r¿   rÀ   r]   r   r‡   r   r¥  r#  rB   r�  )r`  r¼   r\   r®  rf   rŠ  s         rF   Ú!test_normalizer_l1_l2_max_non_csrrœ    s’   € ô
 �)‰)×
Ñ
 Ó
"€CØ�i‰i˜˜1‹o€Gð €GˆAŠqˆD�Má˜Ó!€AÜ˜T¨Ñ.×8Ñ8¸Ó;€FàŠ?Ðˆ?Ü�?Š?˜6×"Ñ" v§}¡}¸Ó'=Ð=Ð=ä�V‹_€FÜ�TÕ"rG   c           	      óö  • [         R                  R                  S5      nUR                  SS5      nSUSS S 24'   US[	        USS S 24   5      R                  5       4==   S-  ss'   [         R                  " U5      * nU " U5      nX#U4 Hk  n[        SS	9nUR                  U5      nXuLd   e[        U5      n[        [         R                  " U5      [         R                  " [        U5      5      5        Mm     g )
Nr   rn   ro   r«   rX   rW   r<   rb  r_  )rI   r¿   rÀ   r]   rÜ  Úargmaxr   r‡   rB   r-   Úsign)rÐ  r\   r®  Ú	X_all_negÚX_all_neg_sparserf   r–  rŠ  s           rF   Útest_normalizer_max_signr¢    sØ   € ô �)‰)×
Ñ
 Ó
"€CØ�i‰i˜˜1‹o€Gà€GˆAŠqˆD�Mð ˆAŒs�7˜1ša˜4‘=Ó!×(Ñ(Ó*Ð*Ó+¨rÑ1Ó+Ü—’˜“Ð €IÙ$ YÓ/ÐàÐ"2Ó3ˆÜ UÑ+ˆ
Ø×%Ñ% aÓ(ˆØŠÐˆÜ˜“ˆÜœ2Ÿ7š7 6›?¬B¯GªG´G¸A³JÓ,?Ö@ò 4rG   c           	      ó(  • [         R                  R                  S5      R                  SS5      n[	        [        USS9[        UR                  SSS9R                  5        [         R                  R                  S5      nUR                  SS	5      nU " U5      n[         R                  " S5      nX44 H³  n[         R                  [         R                  4 HŒ  nS
 Hƒ  nUR                  U5      n[        XS9nUR                  U:X  d   e[        U5      nUS:X  a$  [         R                  " U5      R                  SS9n	OUS-  n
U
R                  SS9n	[        X•5        M…     MŽ     Mµ     [         R                   " / SQ/ SQ/ SQ/5      nS H…  n[        X7SS9u  p¼US:X  a$  [        U[         R                   " / SQ5      5        M9  US:X  a$  [        U[         R                   " / SQ5      5        Mc  [        U[         R                   " / SQ5      5        M‡     U " U5      nS
 H0  n["        R$                  " [&        5         [        XGSS9  S S S 5        M2     [        USSS9u  p¼[        U[         R                   " / SQ5      5        g ! , (       d  f       Ms  = f)Né%   rX   rW   Fr�   r   )rª   rŽ   r@   ro   )r^  ra  r_  r^  r=   r©   )ró   r   r5  )rr   r«   r«   )rq   ró   r«   rŽ  T)r`  Úreturn_norm)ç      @rr   rô   ra  )rô   rr   g1œ¥C+Ø@)r5  rr   ró   rb  )rI   r¿   rÀ   r]   r-   r   r  r„   rÂ   rÁ   r–   rÄ   rB   rÜ  rL  r,   rt   r^   r_   ÚNotImplementedError)rÐ  rf   Úrsr®  rœ  r„   rÄ   r`  rŠ  r‹  ÚX_norm_squaredÚ_Únormss                rF   Útest_normalizer¬  2  s  € ô 	�	‰	×Ñ˜bÓ!×'Ñ'¨¨1Ó-€AÜ”y ¨Ñ/´¸1¿3¹3ÀQÈUÑ1S×1UÑ1UÔVä	�‰×	Ñ	˜qÓ	!€BØ�h‰h�r˜1‹o€GÙ˜WÓ%€HÜ�7Š7�B‹=€DØÓ ˆÜ—j‘j¤"§*¡*Ó-ˆEÛ$�Ø—H‘H˜U“O�Ü" 1Ñ0�Ø—|‘| uÓ,Ð,Ð,ä  ›�Ø˜4“<Ü!Ÿvšv f›~×1Ñ1°qÐ1Ð9‘Hà%+¨Q¡Y�NØ-×1Ñ1°qÐ1Ð9�Hä)¨(Ö9ó %ó .ñ !ô" �hŠhš¢ºÐHÓI€GÛ#ˆÜ˜W¸TÑB‰ˆØ�4‹<Ü% e¬R¯XªX²oÓ-FÖGØ�T‹\Ü% e¬R¯XªXÒ6LÓ-MÖNä% e¬R¯XªX²oÓ-FÖGñ $ñ ˜WÓ%€HÛˆÜ�]Š]Ô.Õ/Ü�h°tÒ<÷ 0Ñ/ñ ô ˜¨¸4Ñ@�H€AÜ˜e¤R§X¢XªoÓ%>Õ?÷ 0Ö/ús   È;JÊ
J	Úconstructorc                 óæ  • [         R                  " / SQ/ SQ/5      nU " UR                  5       5      n[        SSS9n[	        UR                  U5      5      n[         R                  " US:H  5      S:X  d   e[         R                  " US:H  5      S	:X  d   eUR                  U5      n[        R                  " U5      [        R                  " U5      :X  d   e[        SS
9R                  U5      n[	        UR                  U5      5      nXBLd   e[         R                  " US:H  5      S	:X  d   e[         R                  " US:H  5      S:X  d   e[        SS
9nUR                  U5      nXBLd   e[	        U5      n[         R                  " US:H  5      S	:X  d   e[         R                  " US:H  5      S:X  d   e[        SS
9nUR                  U5      nU [        La  XBL d   e[        SS
9n[         R                  " / SQ/ SQ/[         R                  S9nUR                  U5      nU [        La  XEL d   e[	        U5      n[         R                  " US:H  5      S	:X  d   e[         R                  " US:H  5      S:X  d   e[        SSS9nU [         R                  [        4;   a  U " UR                  5       5      n[	        UR                  U5      5      n[         R                  " US:H  5      S:X  d   e[         R                  " US:H  5      S:X  d   eUR                  U5      nU [        ;   a;  [        R                  " [        5         UR                  U " U5      5        S S S 5        g g ! , (       d  f       g = f)N)r=   r   ro   )rW   rX   r<   rq   T)Ú	thresholdrŽ   r   rn   r=   rW   r�   Frà   rz  ro   )rI   rt   rŽ   r   rB   r‡   rL  r   r¥  ra   r±   rÁ   r4   r^   r_   r`   )r­  ÚX_rf   Ú	binarizerÚX_binÚX_floats         rF   Útest_binarizerr´  `  sñ  € ô 
�Š’9šjÐ)Ó	*€BÙ�B—G‘G“IÓ€Aä C¨dÑ3€IÜ�I×'Ñ'¨Ó*Ó+€EÜ�6Š6�%˜1‘*Ó Ó"Ð"Ð"Ü�6Š6�%˜1‘*Ó Ó"Ð"Ð"Ø×Ñ Ó"€EÜ�?Š?˜1Ó¤§¢°Ó!7Ó7Ð7Ð7ä˜tÑ$×(Ñ(¨Ó+€IÜ�I×'Ñ'¨Ó*Ó+€EØŠ>Ðˆ>Ü�6Š6�%˜1‘*Ó Ó"Ð"Ð"Ü�6Š6�%˜1‘*Ó Ó"Ð"Ð"ä˜tÑ$€IØ×Ñ Ó"€EØŠ>Ðˆ>Ü�E‹N€EÜ�6Š6�%˜1‘*Ó Ó"Ð"Ð"Ü�6Š6�%˜1‘*Ó Ó"Ð"Ð"ä˜uÑ%€IØ×Ñ Ó"€EØœ$ÒØŠzÐˆzä˜uÑ%€IÜ�hŠhš	¢:Ð.´b·j±jÑA€GØ×Ñ Ó(€EØœ$ÒØÒÐÐä�E‹N€EÜ�6Š6�%˜1‘*Ó Ó"Ð"Ð"Ü�6Š6�%˜1‘*Ó Ó"Ð"Ð"ä D¨tÑ4€IØ”r—x‘x¤Ð&Ó&Ù˜Ÿ™›	Ó"ˆä˜	×+Ñ+¨AÓ.Ó/ˆÜ�vŠv�e˜q‘jÓ! QÓ&Ð&Ð&Ü�vŠv�e˜q‘jÓ! QÓ&Ð&Ð&Ø×#Ñ# AÓ&ˆð ”nÓ$Ü�]Š]œ:Õ&Ø×Ñ¡¨A£Ô/÷ 'Ð&ð %ß&Õ&ús   Í M"Í"
M0c           	      ó†  • [        XU5      u  p4USS4 H™  n[        R                  " [        R                  " / SQUS9S5      nUR                  XdS9n[	        SS9R                  U5      n[        S	S
9   [	        SS9R                  U5      n	S S S 5        [        [        W	[        SS9U5        M›     g ! , (       d  f       N,= f)NrW  rm  )r   r=   rW   rX   rn   rà   )r<   r=   r�   r€   )r¯  Tr‘   r“   r”   )	r'   rI   r<  rJ   r   r  r   r-   r%   )
re  r˜   r™   r•   r�   Údtype_name_rn  rš   Úbinarized_npÚbinarized_xps
             rF   Útest_binarizer_array_api_intr¹  ™  s¡   € ô & oÀJÓO�J€BØ" G¨WÓ5ˆÜ�zŠzœ"Ÿ*š*¢_¸KÑHÈ'ÓRˆØ�z‰z˜$ˆzÐ.ˆÜ ¨3Ñ/×=Ñ=¸dÓCˆÜ¨tÓ4Ü$¨sÑ3×AÑAÀ$ÓGˆL÷ 5äœ7 <´B¸uÑEÀ|ÖTò 6÷ 5Õ4ús   Á3B2Â2
C 	c                  ó˜  • [         R                  R                  S5      n U R                  S5      n[	        SS9nUR                  U5        UR                  U5      n[         R                  " XR                  5      n[        5       n[         R                  " X3R                  5      nUR                  U5      n[        Xg5        U R                  S5      n[         R                  " X�R                  5      n	UR                  U5      n
[         R                  " X£R                  5      nUR                  U	5      n[        X¼5        [         R                  " U5      UR                  S   -  nXMU-  -
  XM-  -
  XÔ-  U-  -   n[        Xn5        [         R                  " U	5      UR                  S   -  nXŸU-  -
  X�-  -
  Xô-  U-  -   n[        UU5        g )Nr   ©ro   rn   Fr   )rW   rn   )rI   r¿   rÀ   Úrandom_sampler   ra   r‡   Údotr  r   r  r,   Ú	ones_likerK   r)   )r\   ÚX_fitrh   ÚX_fit_centeredÚK_fitÚcentererÚK_fit_centeredÚK_fit_centered2ÚX_predÚK_predÚX_pred_centeredÚK_pred_centeredÚK_pred_centered2Úones_MÚK_fit_centered3Úones_prime_MÚK_pred_centered3s                    rF   Útest_center_kernelrÎ  ©  s‹  € ô �)‰)×
Ñ
 Ó
"€CØ×Ñ˜fÓ%€EÜ UÑ+€FØ
‡J�JˆuÔØ×%Ñ% eÓ,€NÜ�FŠF�5Ÿ'™'Ó"€Eô Ó€HÜ—V’V˜N×,<Ñ,<Ó=€NØ×,Ñ,¨UÓ3€OÜ˜nÔ>ð ×Ñ˜vÓ&€FÜ�VŠV�FŸG™GÓ$€FØ×&Ñ& vÓ.€OÜ—f’f˜_×.>Ñ.>Ó?€OØ×)Ñ)¨&Ó1ÐÜ˜oÔ@ô �\Š\˜%Ó  5§;¡;¨q¡>Ñ1€FØ u™nÑ,¨u©~Ñ=ÀÁÐQWÑ@WÑW€OÜ�NÔ4ô —<’< Ó'¨%¯+©+°a©.Ñ8€Là Ñ%Ñ%¨©Ñ7¸,Ñ:NÐQWÑ:WÑWð ô �OÐ%5Õ6rG   c                  ón  • [         R                  R                  S5      n U R                  SS5      U R                  SS5      p!S nU" U5      nU" U5      n[	        SS9nUR                  U5      nUR                  U5      nXDR                  -  n	XTR                  -  n
XwR                  -  nX‡R                  -  n[        5       nUR                  U	5        [        UR                  U	5      U5        [        UR                  U
5      U5        [         R                  " U	5      U	R                  S   -  nXžU	-  -
  Xž-  -
  Xé-  U-  -   n[        UR                  U	5      U5        [         R                  " U
5      U	R                  S   -  nU
UU	-  -
  X®-  -
  UU	-  U-  -   n[        UR                  U
5      U5        g)	z-Check kernel centering for non-linear kernel.r   rÌ   r"  rµ  c           	      ó„   • [         R                  " [         R                  " U SSS9[         R                  " U SSS9* /5      $ )zOur mapping function phi.r   N)Úa_minÚa_max)rI   rr  r]  rÄ  s    rF   ÚphiÚ2test_kernelcenterer_non_linear_kernel.<locals>.phiÚ  s;   € ä�yŠyä—’˜ ¨$Ñ/Ü—’˜ $¨aÑ0Ð0ðó
ð 	
rG   Fr   N)rI   r¿   rÀ   r]   r   r  r‡   r  r   ra   r)   r¾  rK   )r\   rf   rŠ   rÓ  Úphi_XÚ
phi_X_testrh   Úphi_X_centerÚphi_X_test_centerÚKÚK_testÚK_centerÚK_test_centerÚkernel_centererrÊ  Ú
K_centeredrÌ  ÚK_test_centereds                     rF   Ú%test_kernelcenterer_non_linear_kernelrà  Õ  s•  € ä
�)‰)×
Ñ
 Ó
"€CØ—	‘	˜#˜rÓ" C§I¡I¨b°"Ó$5€vò
ñ �‹F€EÙ�V“€Jô  UÑ+€FØ×'Ñ'¨Ó.€LØ×(Ñ(¨Ó4Ðð 	—‘‰€AØŸ'™'Ñ!€FØŸn™nÑ,€HØ%¯©Ñ6€Mä$Ó&€OØ×Ñ˜Ôä�O×-Ñ-¨aÓ0°(Ô;Ü�O×-Ñ-¨fÓ5°}ÔEô �\Š\˜!‹_˜qŸw™w q™zÑ)€FØ˜a‘Z‘ !¡*Ñ,¨v©z¸FÑ/BÑB€JÜ�O×-Ñ-¨aÓ0°*Ô=ô —<’< Ó'¨!¯'©'°!©*Ñ4€Là� Ñ!Ñ! F¡OÑ3°lÀQÑ6FÈÑ6OÑOð ô �O×-Ñ-¨fÓ5°ÕGrG   c                  ór  • [         R                  " / SQ/ SQ/ SQ/ SQ/5      n [         R                  " S5      nU R                  U R                  5      n[        5       n[        SU4S[        5       4/5      nUR                  5       R                  R                  (       d   e[        XBUSS	9n[        X5        g )
N)rX   r   r   )r   rX   r   )r   r   rX   r  )rn   rÝ  ÚsvrrW   )Úcv)rI   rt   r„   r½  r  r   r   r"   Ú__sklearn_tags__Ú
input_tagsÚpairwiser   r,   )rf   Úy_truerÙ  ÚkcentÚpipelineÚy_preds         rF   Útest_cv_pipeline_precomputedrë  	  s”   € ô 	�Š’)šYª	²9Ð=Ó>€AÜ�WŠW�T‹]€FØ	�‰ˆa�c‰c‹
€AÜÓ€EÜÐ+¨UÐ3°e¼S»U°^ÐDÓE€Hð ×$Ñ$Ó&×1Ñ1×:×:Ð:Ð:ô
 ˜x¨F°qÑ9€FÜ˜fÕ-rG   c                  ó$  • [         R                  R                  S5      n U R                  S5      n[	        5       [        5       [        5       4 H?  nUR                  U5      R                  U5      nUR                  U5      n[        X45        MA     g )Nr   r»  )rI   r¿   rÀ   r¼  r   r   r   ra   r‡   r  r-   )r\   rf   ÚobjÚX_transformedÚX_transformed2s        rF   Útest_fit_transformrð  	  sn   € Ü
�)‰)×
Ñ
 Ó
"€CØ×Ñ˜&Ó!€AÜÓ ¤*£,´	³Ó<ˆØŸ™ ›
×,Ñ,¨QÓ/ˆØ×*Ñ*¨1Ó-ˆÜ˜=Ö9ò =rG   c                  óZ   • SS/SS/SS//n [        U 5      n [        U / SQ/ SQ/ SQ/5        g ©Nr=   r   )r=   r=   r   rs   )r   r-   rÄ  s    rF   Útest_add_dummy_featureró  (	  s5   € Ø
ˆQˆ�!�Q�˜!˜Q˜Ð €AÜ˜!Ó€AÜ�qš9¢i²Ð;Õ<rG   c                 óþ   • U " SS/SS/SS//5      nUR                   n[        U5      n[        R                  " U5      (       a  UR                   U:X  d   U5       e[	        UR                  5       / SQ/ SQ/ SQ/5        g rò  )r#  r   r   r¥  r-   rB   )r¼   rf   Údesired_formats      rF   Útest_add_dummy_feature_sparserö  .	  sp   € ñ 	˜1˜a˜& 1 a &¨1¨a¨&Ð1Ó2€AØ—X‘X€NÜ˜!Ó€AÜ�?Š?˜1×Ñ !§(¡(¨nÓ"<Ð?¸aÓ?Ð<Ü�q—y‘y“{¢Y²	º9Ð$EÕFrG   c                  óÊ   • [         R                  n U S S 2S S24   n[        SSS9[        5       [	        5       /nU H%  nUR                  U 5        UR                  U5        M'     g )NrW   Frõ   )r|  r}  r   r   r   r  )rf   r%  Úscalersrh   s       rF   Útest_fit_cold_startrù  9	  sc   € Ü�	‰	€AØŠQ���ˆU‰8€Dô 	 °Ñ7Ü‹Ü‹ð€Gó ˆØ×Ñ˜QÔð 	×Ñ˜TÖ"ò	 rG   Úmethodúbox-coxúyeo-johnsonc                 ó^  • [        U S9n[        R                  " [        5      n[        R
                  " [        5         UR                  U5        S S S 5        [        R
                  " [        5         UR                  U5        S S S 5        g ! , (       d  f       NC= f! , (       d  f       g = f)N©rú  )	r   rI   rÜ  r®   r^   r_   r
   r‡   r¸   )rú  Úptrf   s      rF   Ú test_power_transformer_notfittedr   K	  sg   € ä	 Ñ	(€BÜ
�ŠŒv‹€AÜ	�Š”~Õ	&Ø
�‰�QŒ÷ 
'ä	�Š”~Õ	&Ø
×Ñ˜QÔ÷ 
'Ð	&÷ 
'Õ	&úç	&Õ	&ús   ¾BÁ2BÂ
BÂ
B,Ústandardizec                 ó¨   • U S:X  a  [         R                  " U5      OUn[        XS9nUR                  U5      n[	        X#R                  U5      5        g )Nrû  ©rú  r  )rI   rÜ  r   r  r+   r¸   )rú  r  rf   rÿ  r  s        rF   Útest_power_transformer_inverser  U	  sG   € ð ˜yÓ(Œ�ŠˆqŒ	¨a€AÜ	 Ñ	A€BØ×Ñ˜qÓ!€GÜ˜×/Ñ/°Ó8Õ9rG   c                  ó„  • [         R                  " [        5      n S GH  n[        SUS9nUR	                  U 5      n[        U SUS9n[        R                  " U R                  5       5      u  pVU(       a  [        U5      n[        UR                  SS5      U5        [        UR                  SS5      U5        [        XR                  U5      5        [        XbR                  S   5        [        UR                  5      U R                  S   :X  d   e[!        UR                  [         R"                  5      (       a  GM    e   g )N©TFrû  r  r<   r=   r   )rI   rÜ  r®   r   r  r   r   ÚboxcoxÚflattenr   r+   r<  r¸   Úlambdas_r  rK   r°   rÎ  )rf   r  rÿ  r  ÚX_trans_funcr  Úlambda_expecteds          rF   Útest_power_transformer_1dr  a	  sò   € Ü
�ŠŒv‹€Aä$ˆÜ Y¸KÑHˆà×"Ñ" 1Ó%ˆÜ& q°ÈÑTˆä&+§l¢l°1·9±9³;Ó&?Ñ#ˆ
æÜ˜zÓ*ˆJä˜J×.Ñ.¨r°1Ó5°wÔ?Ü˜J×.Ñ.¨r°1Ó5°|ÔDä˜A×3Ñ3°GÓ<Ô=Ü˜O¯[©[¸©^Ô<ä�2—;‘;Ó 1§7¡7¨1¡:Ó-Ð-Ð-Ü˜"Ÿ+™+¤r§z¡z×2Ô2Ð2Ð2ò% %rG   c                  óž  • [         R                  " [        5      n S GH,  n[        SUS9nUR	                  U 5      n[        U SUS9nX44 H¨  n[        UR                  S   5       Hm  n[        R                  " U S S 2U4   R                  5       5      u  pxU(       a  [        U5      n[        US S 2U4   U5        [        X‚R                  U   5        Mo     UR                  U5      n	[        X�5        Mª     [!        UR                  5      U R                  S   :X  d   e[#        UR                  [         R$                  5      (       a  GM-   e   g )Nr  rû  r  r=   )rI   rÜ  r%  r   r  r   rá   rK   r   r  r  r   r+   r	  r¸   r,   r  r°   rÎ  )
rf   r  rÿ  ÚX_trans_classr
  r  Újr  ÚlmbdaÚX_invs
             rF   Útest_power_transformer_2dr  y	  s  € Ü
�ŠŒt‹€Aä$ˆÜ Y¸KÑHˆà×(Ñ(¨Ó+ˆÜ& q°ÈÑTˆà%Ó4ˆGÜ˜7Ÿ=™=¨Ñ+Ö,�Ü$)§L¢L°²1°a°4±·±Ó1BÓ$CÑ!�
æÜ!& zÓ!2�Jä# GªA¨q¨D¡M°:Ô>Ü# E¯;©;°q©>Ö:ñ -ð ×(Ñ(¨Ó1ˆEÜ% eÖ/ñ 5ô �2—;‘;Ó 1§7¡7¨1¡:Ó-Ð-Ð-Ü˜"Ÿ+™+¤r§z¡z×2Ô2Ð2Ð2ò+ %rG   c                  ó^  • [        SS9n U R                  [        R                  " [        5      5        [        nSn[
        R                  " [        US9   U R                  U5        S S S 5        [
        R                  " [        US9   U R                  U5        S S S 5        [
        R                  " [        US9   [        USS9  S S S 5        [
        R                  " [        US9   U R                  [        R                  " [        R                  5      5        S S S 5        [
        R                  " [        US9   U R                  [        R                  " [        R                  5      5        S S S 5        [
        R                  " [        US9   [        [        R                  " [        R                  5      SS9  S S S 5        g ! , (       d  f       GNg= f! , (       d  f       GNF= f! , (       d  f       GN,= f! , (       d  f       Nè= f! , (       d  f       N¤= f! , (       d  f       g = f)Nrû  rþ  zstrictly positiverþ   )r   ra   rI   rÜ  r%  r^   r_   r`   r‡   r   r×   rK   )rÿ  ÚX_with_negativesÚnot_positive_messages      rF   Ú9test_power_transformer_boxcox_strictly_positive_exceptionr  ”	  sW  € ô 
 Ñ	+€BØ‡F�FŒ2�6Š6”$‹<ÔÜÐØ.Ðä	�Š”zÐ)=Ó	>Ø
�‰Ð%Ô&÷ 
?ô 
�Š”zÐ)=Ó	>Ø
�‰ÐÔ ÷ 
?ô 
�Š”zÐ)=Ó	>ÜÐ(°Ò;÷ 
?ô 
�Š”zÐ)=Ó	>Ø
�‰”R—X’XœdŸj™jÓ)Ô*÷ 
?ô 
�Š”zÐ)=Ó	>Ø
�‰Œr�xŠxœŸ
™
Ó#Ô$÷ 
?ô 
�Š”zÐ)=Ó	>ÜœŸš¤§¡Ó,°YÒ?÷ 
?Ð	>÷ 
?Ö	>ú÷ 
?Ö	>ú÷ 
?Ö	>ú÷ 
?Õ	>ú÷ 
?Õ	>ú÷ 
?Õ	>úsH   ÁGÂGÂ:G*Ã&4G<Ä;4HÆ-HÇ
GÇ
G'Ç*
G9Ç<
H
È
HÈ
H,c                 ó   • [        U SS9  g )Nrü  rþ  )r   rÄ  s    rF   Ú+test_power_transformer_yeojohnson_any_inputr  °	  s   € ô �A˜mÓ,rG   c                 ó¤  • [        U S9n[        R                  " [        5      nUR	                  U5        Sn[
        R                  " [        US9   UR                  US S 2SS24   5        S S S 5        [
        R                  " [        US9   UR                  US S 2SS24   5        S S S 5        g ! , (       d  f       NK= f! , (       d  f       g = f)Nrþ  zBX has \d+ features, but PowerTransformer is expecting \d+ featuresrþ   r   r=   )
r   rI   rÜ  r%  ra   r^   r_   r`   r‡   r¸   )rú  rÿ  rf   Úwrong_shape_messages       rF   Ú&test_power_transformer_shape_exceptionr  ¶	  s¢   € ä	 Ñ	(€BÜ
�ŠŒt‹€AØ‡F�Fˆ1„Ið
 	Nð ô 
�Š”zÐ)<Ó	=Ø
�‰�Q’q˜!˜A˜#�v‘YÔ÷ 
>ô 
�Š”zÐ)<Ó	=Ø
×Ñ˜Qšq ! A #˜v™YÔ'÷ 
>Ð	=÷ 
>Õ	=ú÷ 
>Õ	=ús   ÁB0ÂCÂ0
B>Ã
Cc                  ó  • [         R                  " [        5      S S 2SS24   n [        SSS9R	                  U 5      n[         R
                  " S/5      Ul        UR                  U 5      n[        UR                  U5      U 5        g )Nr   r=   rû  Fr  )
rI   rÜ  r%  r   ra   rt   r	  r‡   r,   r¸   )rf   rÿ  r  s      rF   Ú"test_power_transformer_lambda_zeror  É	  sh   € Ü
�ŠŒt‹’Q˜˜!˜�VÑ€AÜ	 ¸Ñ	>×	BÑ	BÀ1Ó	E€Bô —(’(˜A˜3“-€B„KØ�l‰l˜1‹o€GÜ˜b×2Ñ2°7Ó;¸QÕ?rG   c                  óÎ   • [        SSS9n [        R                  " [        5      S S 2SS24   n[        R                  " S/5      U l        U R                  U5      n[        X!5        g )Nrü  Fr  r   r=   )r   rI   rÜ  r%  rt   r	  r‡   r,   )rÿ  rf   r  s      rF   Ú!test_power_transformer_lambda_oner  Ó	  sN   € ä	 ¸EÑ	B€BÜ
�ŠŒt‹’Q˜˜!˜�VÑ€Aä—(’(˜A˜3“-€B„KØ�l‰l˜1‹o€GÜ˜gÕ)rG   zmethod, lmbda))rû  rÖ  )rû  r„  )rü  rÖ  )rü  r„  )rü  rr   c                 ó4  • [         R                  R                  S5      nSnUR                  SSUS4S9nU S:X  a  [         R                  " USU-  S-   S 5      n[        U SS	9R                  [         R                  " U5      5      nU/Ul        UR                  U5      n[        U SS	9nUR                  U5      n[        S[         R                  R                  XG-
  5      U-  S
S9  [        SUR                  5       SS9  [        SUR                  5       SS9  g )Nr   i N  r=   )Úlocr   r?   rû  r<   rü   Fr  rW   r  )rI   r¿   rÀ   rù  r]  r   ra   rÜ  r	  r¸   r  r+   Úlinalgr`  r´   r¶   )rú  r  r\   rd   rf   rÿ  r  ÚX_inv_transs           rF   Ú#test_optimization_power_transformerr$  Ý	  s÷   € ô" �)‰)×
Ñ
 Ó
"€CØ€IØ�
‰
�q ¨°A¨ˆ
Ð7€Aà�Óô �GŠG�A�r˜E‘z DÑ(¨$Ó/ˆä	 °UÑ	;×	?Ñ	?ÄÇÂÀqÃ	Ó	J€BØ�'€B„KØ× Ñ  Ó#€Eä	 °UÑ	;€BØ×"Ñ" 5Ó)€Kä˜œ2Ÿ9™9Ÿ>™>¨!©/Ó:¸YÑFÐPQÒRÜ˜˜;×+Ñ+Ó-°qÒ9Ü˜˜;Ÿ?™?Ó,°aÓ8rG   c                  ó®   • [        SSS9R                  S/S//5      n S/U l        U R                  S//5      n[        R
                  " U5      (       d   eg )Nrû  Fr  rr   rq   r„  gÍÌÌÌÌÌ À)r   ra   r	  r¸   rI   r  )rÿ  r  s     rF   Útest_invserse_box_coxr&  
  sP   € ä	 ¸Ñ	>×	BÑ	BÀSÀEÈCÈ5À>Ó	R€BØ�%€B„KØ× Ñ  4 & Ó*€EÜ�8Š8�E�?‰?Ð‰?rG   c                  óÖ   • / SQn [         R                  " U 5      R                  SS5      n [        SS9R	                  U 5      R
                  n[         R                  " USSS9(       d   eg )	N)gffffff@gÍÌÌÌÌÌ Àrr   rq   gffffffæ?g333333@r�   gffffff@gÍÌÌÌÌÌü?gÍÌÌÌÌÌ@r¦  ró   gš™™™™™"@g      @g      Àr<   r=   rü  rþ  gáz®Gáô?rq  rÏ   )rI   rt   r<  r   ra   r	  rS  )rf   r  s     rF   Útest_yeo_johnson_darwin_exampler(  
  sU   € ò 	V€AÜ
�Š�‹×Ñ˜B Ó"€AÜ MÑ2×6Ñ6°qÓ9×BÑB€EÜ�;Š;�u˜e¨$×/Ð/Ñ/rG   c                 óò  • [         R                  " [        5      n[        U S9nUR	                  U5        UR
                  S   n[         R                  " U[         R                  " U[         R                  5      /5      n[        USS9nUR	                  U5        UR
                  S   n[        X4SS9  UR                  U5      n[        [         R                  " U5      [         R                  " U5      5        g )Nrþ  r   )r  ro   r  )rI   rÜ  r®   r   ra   r	  rQ  Ú	full_likeru   r$   r+   r‡   r-   r  )rú  rf   rÿ  Úlmbda_no_nansÚ
lmbda_nansr  s         rF   Útest_power_transformer_nansr-  
  s­   € ô
 	�ŠŒv‹€AÜ	 Ñ	(€BØ‡F�Fˆ1„IØ—K‘K ‘N€Mô 	�Š˜œ2Ÿ<š<¨¬2¯6©6Ó2Ð3Ó4€AÜ� Ñ"€Aà‡F�Fˆ1„IØ—‘˜Q‘€Jä˜¸1Ò=à�l‰l˜1‹o€GÜ”r—x’x Ó(¬"¯(ª(°1«+Õ6rG   c                 óÌ   • [         nU S:X  a  [        R                  " U5      n[        XS9n[	        UR                  U5      R                  U5      UR                  U5      5        g )Nrû  )r  )r®   rI   rÜ  r   r,   ra   r‡   r  )rú  r  rf   rÿ  s       rF   Ú$test_power_transformer_fit_transformr/  +
  sP   € ô 	€AØ�ÓÜ�FŠF�1‹Iˆä	˜&Ñ	:€BÜ˜bŸf™f Q›i×1Ñ1°!Ó4°b×6FÑ6FÀqÓ6IÕJrG   c                 óv  • [         nU S:X  a  [        R                  " U5      nUR                  5       nX#Ld   e[	        X#5        [        XSS9nUR                  U5        [	        X#5        UR                  U5      nXRLd   eUR                  U5      n[	        X#5        XRLd   eUR                  U5      nXVLd   eg )Nrû  T©r  rŽ   )
r®   rI   rÜ  rŽ   r,   r   ra   r‡   r  r¸   ©rú  r  rf   Ú
X_originalrÿ  r  r#  s          rF   Ú test_power_transformer_copy_Truer4  7
  sµ   € ô
 	€AØ�ÓÜ�FŠF�1‹Iˆà—‘“€JØÒÐÐÜ˜aÔ,ä	˜&ÀÑ	E€Bà‡F�Fˆ1„IÜ˜aÔ,Ø�l‰l˜1‹o€GØÒÐÐà×Ñ˜qÓ!€GÜ˜aÔ,ØÒÐÐà×&Ñ& wÓ/€KØÒ%Ð%Ñ%rG   c                 ó´  • [         R                  5       nU S:X  a  [        R                  " U5      nUR                  5       nX#Ld   e[	        X#5        [        XSS9nUR                  U5        [	        X#5        UR                  U5      nXRL d   eU S:X  a  [        R                  " U5      nUR                  U5      nXRL d   eUR                  U5      nXVL d   eg )Nrû  Fr1  )
r®   rŽ   rI   rÜ  r,   r   ra   r‡   r  r¸   r2  s          rF   Ú!test_power_transformer_copy_Falser6  S
  sÄ   € ô
 	�‰‹€AØ�ÓÜ�FŠF�1‹Iˆà—‘“€JØÒÐÐÜ˜aÔ,ä	˜&ÀÑ	F€Bà‡F�Fˆ1„IÜ˜aÔ,à�l‰l˜1‹o€GØŠ<Ðˆ<à�ÓÜ�FŠF�1‹IˆØ×Ñ˜qÓ!€GØŠ<Ðˆ<à×&Ñ& wÓ/€KØÒ!Ð!Ñ!rG   c                  óú   • [         R                  S5      n [        R                  U SS2S4'   Sn[	        SS9n[
        R                  " [        US9   UR                  U 5        SSS5        g! , (       d  f       g= f)ziCheck that box-cox raises informative when a column contains all nans.

Non-regression test for gh-26303
r¶  Nr   zColumn must not be all nan.rû  rþ  rþ   )	r\   r¼  rI   ru   r   r^   r_   r`   r  )rf   rÇ  rÿ  s      rF   Ú1test_power_transformer_box_cox_raise_all_nans_colr8  q
  s\   € ô
 	×Ñ˜&Ó!€AÜ�f‰f€A‚aˆ€d�Gà+€Gä	 Ñ	+€BÜ	�Š”z¨Ó	1Ø
×Ñ˜Ô÷ 
2×	1Ö	1ús   ÁA,Á,
A:rE  )r@   r=   çš™™™™™é?)rË  r\   )rÍ   c                 ó¾   • [        SSS9n[        SS9nUR                  U5      R                  U 5        [        R
                  " UR                  S   5      (       d   eg )Nr¬   r9  rÊ  Fr|   r   )r7   r   ra   r&  rI   r  r†   )rE  rD  rh   s      rF   Ú7test_standard_scaler_sparse_partial_fit_finite_variancer;  €
  sM   € ô ˜v¨sÑ
3€CÜ eÑ,€FØ
‡J�JˆsƒO×Ñ Ô$Ü�;Š;�v—{‘{ 1‘~×&Ñ&Ð&Ñ&rG   ry  )r   r=   )r>  r@   c                 óH  • [         R                  n[        U SS9R                  U5      n[        R
                  " USS9[        R                  " USS9pC[        R                  US S S-
  USS  S-   4   /nUR                  U5      n[        UU S   U S   U S   U S   //5        g )NT)ry  r]  r   r©   rW   r@   r=   )
r|  r}  r   ra   rI   r~  rb  Úr_r‡   r)   )ry  rf   rh   ÚX_minÚX_maxrŠ   rî  s          rF   Útest_minmax_scaler_clipr@  ‘
  s«   € ô 	�	‰	€AÜ¨¸DÑA×EÑEÀaÓH€Fô —6’6˜! !Ñ$¤b§f¢f¨Q°QÑ&7ˆ5Ü�e‰e�E˜"˜1�I ‘N E¨!¨" I°¡NÐ2Ñ3Ð4€FØ×$Ñ$ VÓ,€MÜØØ
˜Ñ
˜M¨!Ñ,¨m¸AÑ.>ÀÈaÑ@PÐ	QÐRõrG   Údata_constructorc                 óÈ  • U " [         R                  5      n[        R                  " U5      n[	        SS9R                  U5      n[        R                  " [        R                  " U5      SS9nU(       a  UR                  OUnU " [        R                  " US S S-   USS  * S-
  45      R                  SS5      5      nUR                  U5      n[        X`" / S	Q/5      5        g )
NTr\  r   r©   rW   r@   r=   r<   )r=   r=   r<   r<   )r|  r}  r   r¥  r   ra   rI   rb  rÜ  Úhstackr<  r‡   r*   )rA  rf   Ú	is_sparserh   r€  rŠ   rî  s          rF   Útest_maxabs_scaler_cliprE  ¡
  sÁ   € ñ
 	œŸ™Ó#€AÜ—’ Ó"€IÜ˜tÑ$×(Ñ(¨Ó+€Fô �fŠf”R—V’V˜A“Y QÑ'€GÞ'ˆg�lŠl¨W€GÙÜ
�	Š	�7˜2˜A�; Ñ# g¨a¨b k \°BÑ%6Ð7Ó8×@Ñ@ÀÀBÓGó€Fð ×$Ñ$ VÓ,€MÜ  Ð0@Â.ÐAQÓ0RÕSrG   c                  óà   • [        5       R                  [        5      n Sn[        R                  " [
        US9   U R                  [        SS2S4   5        SSS5        g! , (       d  f       g= f)z§Check that `inverse_transform` from `StandardScaler` raises an error
with 1D array.
Non-regression test for:
https://github.com/scikit-learn/scikit-learn/issues/19518
z'Expected 2D array, got 1D array insteadrþ   Nr   )r   ra   r%  r^   r_   r`   r¸   )rh   rÇ  s     rF   Ú-test_standard_scaler_raise_error_for_1d_inputrG  ´
  sL   € ô Ó×!Ñ!¤$Ó'€FØ7€GÜ	�Š”z¨Ó	1Ø× Ñ ¤¢a¨ d¡Ô,÷ 
2×	1Ö	1ús   ¹AÁ
A-c                  ó°  • S[         R                  " / SQS-  / SQ-   [         R                  S9R                  SS5      -  n [	        5       n[
        R                  " 5          [
        R                  " S[        5        UR                  U 5      nS	S	S	5        [         R                  " [         R                  " W5      5      (       a   eUR                  5       [        R                  " S
5      :X  d   eUR                  5       [        R                  " S5      :X  d   eUR!                  5       S:”  d   eUR#                  5       S:  d   eg	! , (       d  f       NÀ= f)zñCheck that significantly non-Gaussian data before transforms correctly.

For some explored lambdas, the transformed data may be constant and will
be rejected. Non-regression test for
https://github.com/scikit-learn/scikit-learn/issues/14959
r9  )r{  rq   ró   r5  rn   )r  é   rI  é   é   rµ  éU   rð  rà   r<   r=   rý   Nr«   rr   r  rW   )rI   rt   rÁ   r<  r   r  r  r  ÚRuntimeWarningr  rå   r  r´   r^   rM  r¶   r~  rb  )ÚX_non_gaussianrÿ  r  s      rF   Ú1test_power_transformer_significantly_non_gaussianrO  À
  sþ   € ð œ2Ÿ8š8Ú˜qÑ Ò#CÑCÌ2Ï:É:ñç�gˆb�!ƒnñ€Nô 
Ó	€Bä	×	 Ò	 Õ	"Ü×Ò˜g¤~Ô6Ø×"Ñ" >Ó2ˆ÷ 
#ô �vŠv”b—h’h˜wÓ'×(Ñ(Ð(Ð(Ø�<‰<‹>œVŸ]š]¨3Ó/Ó/Ð/Ð/Ø�;‰;‹=œFŸMšM¨#Ó.Ó.Ð.Ð.Ø�;‰;‹=˜2ÓÐÐØ�;‰;‹=˜1ÓÐÑ÷ 
#Õ	"ús   Á -EÅ
EÚTransformerc                 ó¾   • U " 5       R                  [        R                  5      nUR                  [        R                  5      n[        U[        R                  5        g)ú9Check one-to-one transformers give correct feature names.N)ra   r|  r}  Úget_feature_names_outÚfeature_namesr-   )rP  ÚtrÚ	names_outs      rF   Útest_one_to_one_featuresrW  Ø
  s@   € ñ 
‹×	Ñ	œ4Ÿ9™9Ó	%€BØ×(Ñ(¬×);Ñ);Ó<€IÜ�y¤$×"4Ñ"4Õ5rG   c                 óD  • [         R                  " S5      nUR                  [        R                  [        R
                  S9nU " 5       R                  U5      nUR                  5       n[        U[        R
                  5        UR                  [        R
                  5      n[        U[        R
                  5        [        R                  " S5      n[         R                  " [        US9   [        S5      nUR                  U5        SSS5        g! , (       d  f       g= f)rR  Úpandas)Úcolumnsz0input_features is not equal to feature_names_in_rþ   ÚabcdN)r^   ÚimportorskipÚ	DataFramer|  r}  rT  ra   rS  r-   ÚreÚescaper_   r`   r±   )rP  ÚpdÚdfrU  Únames_out_df_defaultÚnames_out_df_valid_inÚmsgÚinvalid_namess           rF   Útest_one_to_one_features_pandasrf  ê
  sÊ   € ô 
×	Ò	˜XÓ	&€Bà	�‰”d—i‘i¬×);Ñ);ˆÐ	<€BÙ	‹×	Ñ	˜2Ó	€Bà×3Ñ3Ó5ÐÜÐ+¬T×-?Ñ-?Ô@à×4Ñ4´T×5GÑ5GÓHÐÜÐ,¬d×.@Ñ.@ÔAä
�)Š)ÐFÓ
G€CÜ	�Š”z¨Ó	-Ü˜V›ˆØ
× Ñ  Ô/÷ 
.×	-Ö	-ús   Ã+DÄ
Dc                  óF  • [         R                  R                  S5      n U R                  S5      n[	        U5      n[        5       R                  U5      nUR                  5       nUR                  S   n[        U[        U5       Vs/ s H  nSU 3PM
     sn5        gs  snf )z.Test that kernel centerer `feature_names_out`.r   )rp   rn   r=   ÚkernelcentererN)rI   r¿   rÀ   r¼  r   r   ra   rS  rK   r-   rá   )r\   rf   Ú
X_pairwiserÂ  rV  Úsamples_out2rO   s          rF   Ú&test_kernel_centerer_feature_names_outrk  
  s�   € ô �)‰)×
Ñ
 Ó
"€CØ×Ñ˜&Ó!€AÜ˜qÓ!€JÜÓ×#Ñ# JÓ/€Hà×.Ñ.Ó0€IØ×#Ñ# AÑ&€LÜ�yÄÀ|ÔATÓ"UÒAT¸A ^°A°3Ó#7ÑATÑ"UÕVùÒ"Us   ÂB
c                 ó:  • / SQ/ SQ/ SQ/n[        SU S9R                  U5      n[        UR                  / SQ5        UR	                  U5      nUR                  U5      nX44 H6  nU (       a!  [        U[        R                  " U5      SS9  M+  [        XQ5        M8     g)z?Check that PowerTransformer leaves constant features unchanged.)r  r   rW   rü  r  r  g›+¡†›„=rÏ   N)r   ra   r)   r	  r  r‡   rI   rµ   )r  rf   rÿ  ÚXftÚXtÚXt_s         rF   Ú'test_power_transformer_constant_featurerp    s~   € ò 
’Z¢Ð,€Aä	 ¸KÑ	H×	LÑ	LÈQÓ	O€Bä�B—K‘K¢Ô+à
×
Ñ
˜1Ó
€CØ	�‰�a‹€Bà‹yˆÞÜ˜C¤§¢¨qÓ!1¸Ô>ä˜CÖ#ò	 rG   zcno floating point exceptions, see https://github.com/numpy/numpy/pull/21895#issuecomment-1311525881)Úreasonc                  óâ  • [        SS9n [        R                  " / SQ5      R                  SS5      nU R	                  U5        U R
                  S   nUS:  d   e[        R                  " S/5      R                  SS5      n[        R                  " [        SS	9   U R                  U5      R                  5       nS
S
S
5        [        R                  " W5      (       d   eg
! , (       d  f       N,= f)zCheck if a warning is triggered when the inverse transformations of the
Box-Cox and Yeo-Johnson transformers return NaN values.rü  rþ  )r=   r=   rÝ   r<   r=   r   r@   zSome values in columnrþ   N)r   rI   rt   r<  ra   r	  r^   r  r  r¸   Úitemr  )Útransr  r  ÚpsiÚx_invs        rF   Ú*test_yeo_johnson_inverse_transform_warningrw  *  s¸   € ô  MÑ2€EÜ
�Š’Ó×&Ñ& r¨1Ó-€AØ	‡I�Iˆa„LØ�N‰N˜1Ñ€EØ�1‹9Ðˆ9ô �(Š(�B�4‹.×
 Ñ
   QÓ
'€CÜ	�Š”kÐ)@Ó	AØ×'Ñ'¨Ó,×1Ñ1Ó3ˆ÷ 
Bô �8Š8�E�?‰?Ð‰?÷ 
BÕ	Aús   Â C Ã 
C.z1.12z2scipy version 1.12 required for stable yeo-johnsonc                  ó    • [         R                  " / SQ5      n S nU" U R                  SS5      5        U" U SS R                  SS5      5        g)a  Verify that PowerTransformer operates without raising any warnings on valid data.

This test addresses numerical issues with floating point numbers (mostly
overflows) with the Yeo-Johnson transform, see
https://github.com/scikit-learn/scikit-learn/issues/23319#issuecomment-1464933635
)
g     LŸ@g     xž@g     4Ÿ@g     @Ÿ@ç     dŸ@ry  g     ðž@g     <Ÿ@g     \Ÿ@g     Ÿ@c                 ó  • [         R                  " SS9 n[         R                  " S5        [        SSS9R	                  U 5        SSS5        W(       a    SSR                  S	 U 5       5      -   5       eg! , (       d  f       N6= f)
z0Internal helper to test for unexpected warnings.Tr·  Úalwaysrü  r  Nz!Unexpected warnings were raised:
Ú
c              3   óL   #   • U  H  n[        UR                  5      v •  M     g 7fr©  )ÚstrÚmessage)Ú.0Úws     rF   Ú	<genexpr>ÚPtest_power_transformer_no_warnings.<locals>._test_no_warnings.<locals>.<genexpr>c  s   é € ð U
Ú$3˜qŒC�—	‘	�NˆN¢Oùs   ‚"$)r  r  r  r   r  Újoin)r}  Úcaught_warningss     rF   Ú_test_no_warningsÚ=test_power_transformer_no_warnings.<locals>._test_no_warnings]  s{   € ä×$Ò$¨DÒ1°_Ü×!Ò! (Ô+Ü M¸tÑD×RÑRÐSWÔX÷ 2ö #ð 	
Ð$HÈ4Ï9É9ñ U
Ù$3óU
ó L
ñ %
ó 	
Ð"�?÷	 2Õ1ús   •0A5Á5
Br<   r=   Nro   )rI   rt   r<  )r  r†  s     rF   Ú"test_power_transformer_no_warningsrˆ  C  sL   € ô 	�Šò	
ó	€Aò
ñ �a—i‘i  AÓ&Ô'ñ �a˜˜�e—m‘m B¨Ó*Õ+rG   c                  ó†   • [        SS9R                  [        5      n U R                  S   [        R
                  " SSS9:H    g)zFCheck that the results are consistent across different SciPy versions.rü  rþ  r   gâdò8ÒÚï?rÎ   )ÚrelN)r   ra   r®   r	  r^   rM  )rÿ  s    rF   Ú+test_yeojohnson_for_different_scipy_versionr‹  n  s2   € ä	 Ñ	/×	3Ñ	3´FÓ	;€BØ‡K�K��N”f—m’m J°DÑ9Ó9rG   ÚTransformerClassc                 óX  • [         R                  " S5      nUR                  / SQ/ SQS.5      nU " 5       nUR                  U5        [        R
                  " 5          [        R                  " S5        UR                  UR                  5       5        SSS5        g! , (       d  f       g= f)z¬Check that inverse_transform does not raise a warning about feature
names when fitted on a DataFrame and transforming a NumPy array.

Non-regression test for issue #31947.
rY  )rr   rq   ró   )r5  rô   r6  )rE   Úbrý   N)	r^   r\  r]  ra   r  r  r  r¸   Úto_numpy)rŒ  r`  ÚX_dfr¦  s       rF   Ú8test_transformer_inverse_transform_feature_names_warningr‘  t  su   € ô 
×	Ò	˜XÓ	&€Bà�<‰<šo²OÑDÓE€DÙ"Ó$€KØ‡O�O�DÔä	×	 Ò	 Õ	"Ü×Ò˜gÔ&Ø×%Ñ% d§m¡m£oÔ6÷ 
#×	"Ö	"ús   Á6BÂ
B)c                 óN  • [         R                  " SS/SS/SS//5      nU " 5       R                  U5      n[         R                  " S/S/S//5      nSU R                   S3n[        R
                  " [        US	9   UR                  U5        S
S
S
5        g
! , (       d  f       g
= f)zLCheck that an informative error is raised when the input shape is incorrect.rr   rq   ró   r5  rô   r6  zX has 1 features, but z is expecting 2 featuresrþ   N)rI   rt   ra   rÓ   r^   r_   r`   r¸   )rŒ  rf   r¦  ÚX_wrongrd  s        rF   Ú.test_transformer_inverse_transform_shape_errorr”  †  s’   € ô 	�Š�3˜�*˜s C˜j¨3°¨*Ð5Ó6€AÙ"Ó$×(Ñ(¨Ó+€Kä�hŠh˜˜ ˜u s eÐ,Ó-€GØ"Ð#3×#<Ñ#<Ð"=Ð=UÐ
V€CÜ	�Š”z¨Ó	-Ø×%Ñ% gÔ.÷ 
.×	-Ö	-ús   Á;BÂ
B$Ú
fit_methodra   r&  c                 óF  • [         R                  R                  S5      R                  S5      n[	        5       n[        5       R                  U5      n[        X05      " U5        UR                  U5      nUR                  S5      S:X  d   eUR                  S5      S:X  d   eUR                  S5      S:X  d   eUR                  S5      S:X  d   eUR                   Vs/ s H  oUS   S:X  d  M  UPM     snS   nUS	   S
   n[        UR                  U5      U5        gs  snf )z>Check that the reconstruction attributes are correctly passed.r   )r@   rW   Úsetupr=   ÚteardownÚon_fit_task_beginÚon_fit_task_endrf  ÚkwargsÚfitted_estimatorN)rI   r¿   rÀ   r¼  r   r   Úset_callbacksÚgetattrr‡   Úcount_hooksr¸  r)   )r•  rf   Úcbrh   rn  ÚrecÚtask_end_recordÚfitted_scalers           rF   Ú%test_standard_scaler_callback_supportr¤  ’  s  € ô 	�	‰	×Ñ˜aÓ ×.Ñ.¨wÓ7€Aä	Ó	€BÜÓ×+Ñ+¨BÓ/€FÜˆFÔ Ô"Ø	×	Ñ	˜!Ó	€Bð �>‰>˜'Ó" aÓ'Ð'Ð'Ø�>‰>˜*Ó%¨Ó*Ð*Ð*Ø�>‰>Ð-Ó.°!Ó3Ð3Ð3Ø�>‰>Ð+Ó,°Ó1Ð1Ð1à&(§i¢iÓT¢i˜s°v±;ÐBSÑ3S—s¡iÑTÐUVÑW€OØ# HÑ-Ð.@ÑA€MÜ�M×+Ñ+¨AÓ.°Õ3ùò Us   ÃDÃ.D)år^  r  ÚnumpyrI   Únumpy.linalgr"  r‰  r^   Úscipyr   r   Úsklearnr   r   Úsklearn.baser   Úsklearn.callback.tests._utilsr   r	   Úsklearn.exceptionsr
   Ú$sklearn.externals._packaging.versionr   Úparse_versionÚsklearn.metrics.pairwiser   Úsklearn.model_selectionr   Úsklearn.pipeliner   Úsklearn.preprocessingr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Úsklearn.preprocessing._datar    r!   Úsklearn.svmr"   Úsklearn.utilsr#   r$   Úsklearn.utils._array_apir%   r&   Úsklearn.utils._testingr'   r(   r)   r*   r+   r,   r-   r.   r/   Úsklearn.utils.estimator_checksr0   r1   Úsklearn.utils.fixesr2   r3   r4   r5   r6   r7   r8   Úsklearn.utils.sparsefuncsr9   Ú	load_irisr|  r¿   rÀ   r\   re   rd   rÕ   r?  rì   r]   r%  r<  r­   r®   Útolistr¯   ÚX_list_1colrB   rL   rU   rj   rv   ÚmarkÚparametrizer‹   r¦   r»   rÆ   rÂ   rÁ   rÛ   rñ   rù   r  r  r  r   r4  r7  rB  rI  rU  rX  rg  rp  rr  ru  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,  r3  r7  r;  rA  rF  rH  rM  rY  r]  rd  rh  rj  rm  ru  rz  r|  r~  r�  r‡  r�  r™  rœ  r¢  r¬  rt   r±   r´  r¹  rÎ  rà  rë  rð  ró  rö  rù  r   r  r  r  r  rÜ  r×   rK   r  r  r  r  r$  r&  r(  r-  r/  r4  r6  r8  rÖ   ru   r;  r@  rE  rG  rO  rW  rf  rk  rp  Úxfailrw  Úskipifrˆ  r‹  r‘  r”  r¤  )rÐ  s   0rF   Ú<module>rÁ     s  ðó 
Û ã Ý Û ß ç ,Ý ÷õ .Ý GÝ 2Ý 5Ý %÷÷ ÷ ÷ õ ÷& QÝ ß .÷÷
÷ 
õ 
÷÷÷ ñ õ 9à×ÒÓ€ð 	‡i�i×Ñ˜AÓ€Ø€
Ø€	Ø
�+‰+�b˜! *ˆ+Ð
-€Ø	�‰�Q˜ ˆÐ	,€Ø
‡y�y�˜JÓ'¨&Ñ0°7Ñ:€Ø	ˆa’ˆd‰×	Ñ	˜A˜zÓ	*€Ø	Ša�ˆd‰×	Ñ	˜I qÓ	)€Ø�m‰m‹o€Ø�m‰m‹o€òò"òMò@ò$ð2 ‡�×ÑÒ5Ñ7OÓ7QÓRØ‡�×ÑÐ,Ò.SÓTñNó Uó SðNð, ‡�×ÑÒ5Ñ7OÓ7QÓRØ‡�×ÑØ(Ù-Ó/óñ5
ó	ó Sð
5
òp"0ðJ ‡�×ÑÐ+¨d¨V°nÑ-DÀ~Ñ-UÓVØ‡�×ÑÐ,¨u°d¨mÓ<ñ1ó =ó Wð1ð: ‡�×ÑØá Ñ'Ù EÑ*ðóð ‡�×ÑÐ+¨d¨V°nÑ-DÀ~Ñ-UÓVØ‡�×ÑÐ,¨u°d¨mÓ<Ø‡�×Ñ˜ 2§:¡:¨r¯z©zÐ":Ó;Ø‡�×Ñ˜¢_Ó5ñ 4ó 6ó <ó =ó Wóð 4ðF ‡�×Ñ˜Ò&7Ó8Ø‡�×Ñ˜Ò$4Ó5Ø‡�×Ñ˜ 2§:¡:¨r¯z©zÐ":Ó;Ø‡�×ÑÐ+¨d¨V°nÑ-DÀ~Ñ-UÓVñ/Só Wó <ó 6ó 9ð/Sòd	Ið ñ#>ó ð#>òL1òhAò23ò-ò`0Kðf ‡�×ÑÐ+¨^¸nÑ-LÓMñ+Aó Nð+Að\ ‡�×Ñ˜¨4°¨,Ó7Ø‡�×ÑÐ+¨^¸nÑ-LÓMñ6ó Nó 8ð6ð ‡�×Ñ˜¨4°¨,Ó7ñ&ó 8ð&òR ð0 ‡�×ÑØ.Ù-Ó/óð ‡�×ÑØØ%Ð&Ø ð ð ð
 ‡�×ÑØá‹Ù˜$ÑÙ‹Ù˜$ÑÙÓÙ˜ÑÙ˜ÑÙ˜ÑÙ‹ð
ð 	!ð ð ñ
óóó	ð0
ð ‡�×ÑØá‹Ù‹ÙÓðð
 	!ð ð ñ%óð%ò%ð ‡�×ÑØ.Ù-Ó/óð ‡�×ÑØØ%Ð&Ø ð ð ð
 ‡�×Ñ˜¨4°¨,Ó7ñó 8óó	ðòò@7ò>:ò#ðL ‡�×Ñ˜¨4°¨,Ó7Ø‡�×ÑÐ+¨^¸nÑ-LÓMñ87ó Nó 8ð87ðv ‡�×Ñ˜ t¨U mÓ4Ø‡�×Ñ˜ d¨E ]Ó3Ø‡�×ÑÐ+¨d¨V°nÑ-DÀ~Ñ-UÓVñIó Wó 4ó 5ðIò @ð ‡�×ÑÐ+¨^¸nÑ-LÓMñNó NðNð2 ‡�×ÑÐ+¨^¸nÑ-LÓMñ57ó Nð57ðp ‡�×ÑÐ+¨^¸nÑ-LÓMñDó NðDð  ‡�×ÑÐ+¨^¸nÑ-LÓMñ7ó Nð7ò*òð ‡�×ÑÐ)¨D°%¨=Ó9Ø‡�×Ñ˜¨$°¨Ó7Ø‡�×ÑØˆ"�)‰)�/‰/˜"˜aÓ
 Ñ"6°wÈÑ"LÐ	Móñ%óó 8ó :ð
%ð$ ‡�×Ñ˜¨.Ó9ñDó :ðDò
:ð ‡�×Ñ˜Ò$:Ó;Ø‡�×ÑÐ*Ò,SÓTñ?ó Uó <ð?ð( ‡�×Ñ˜¨.Ó9ñEó :ðEò	&ò	*ð ‡�×Ñ˜¨.Ó9ñOó :ðOð( ‡�×Ñ˜¨.Ó9ñ62ó :ð62ðr ‡�×Ñ˜¨.Ó9ñ>ó :ð>òB.ò@,=ò^
Hð ‡�×Ñ˜¨.Ó9ñ#Bó :ð#BòL8ð ‡�×Ñ˜¨.Ó9ñ"ó :ð"òJ=ò	=ð ‡�×Ñ˜¨°Ð':Ó;ñ(ó <ð(ò&,1ò^"ð ‡�×Ñ˜¨.Ó9ñ!Gó :ð!GòH&ò&òFò27ð$ ‡�×ÑÐ+¨^¸nÑ-LÓMñ&?ó Nð&?òR3ð( ‡�×Ñ˜¨.Ó9ñ	Dó :ð	DòMð@ ‡�×Ñ˜¨.Ó9ñ5ó :ð5òp.ð* ‡�×Ñ˜Ò!4Ó5Ø‡�×Ñ˜¨.Ó9ñ+ó :ó 6ð+ð@ ‡�×Ñ˜Ò!4Ó5Ø‡�×ÑØ˜¨Ñ7¸.ÑHóñ#óó 6ð#ð" ‡�×Ñ˜¨.Ó9ñAó :ðAð( ‡�×Ñ˜¨.Ó9ñ*@ó :ð*@ðZ ‡�×ÑØ�B—H’H˜dÐ# nÑ4°~ÑEóñ30óð30ðl ‡�×ÑØ.Ù-Ó/óñ	Uó	ð	Uò)7òX3Hòl.ò(:ò=ð ‡�×ÑØ˜¨Ñ7¸.ÑHóñGóðGò#ð$ ‡�×Ñ˜ I¨}Ð#=Ó>ñ ó ?ð ð ‡�×Ñ˜ I¨}Ð#=Ó>Ø‡�×Ñ˜¨¨u¨Ó6Ø‡�×Ñ˜˜v t˜nÓ-ñ:ó .ó 7ó ?ð:ò3ò03ò6@ð8 ‡�×Ñ˜˜t R§V£V¨D£\°B·F³F¸4³L°=À"Ç(Ã(È4Ï:Ê:ÓBVÐWÓXñ-ó Yð-ð
 ‡�×Ñ˜ I¨}Ð#=Ó>ñ(ó ?ð(ò$@ò*ð ‡�×ÑØòó	ñ9ó	ð9ò8ò0ð ‡�×Ñ˜ I¨}Ð#=Ó>ñ7ó ?ð7ð, ‡�×Ñ˜ I¨}Ð#=Ó>Ø‡�×Ñ˜¨¨u¨Ó6ñKó 7ó ?ðKð ‡�×Ñ˜ I¨}Ð#=Ó>Ø‡�×Ñ˜¨¨u¨Ó6ñ&ó 7ó ?ð&ð4 ‡�×Ñ˜ I¨}Ð#=Ó>Ø‡�×Ñ˜¨¨u¨Ó6ñ"ó 7ó ?ð"ò8ð ‡�×ÑØ	Ù˜'¨3°AÑ6Ð7ñ ,óâ+ˆMñ 	�b—g’g˜g°"·&²&�gÐ9Ö:Ù+ññóñ'óð'ð ‡�×Ñ˜¨6°9Ð*=Ó>ñó ?ðð ‡�×ÑØ˜Ÿš˜
 ^Ñ3°nÑDóñTóðTò 	-òð0 ‡�×ÑØàØØØØØðó
ñ6ó
ð6ð ‡�×ÑØàØØØØØØØð	óñ0óð0ò&
Wð ‡�×Ñ˜¨¨u¨Ó6ñ$ó 7ð$ð$ ‡�×ÒØð	Mð ð ñóðð$ ‡�×ÒØ‘˜vÓ&Ñ&Ø?ð ð ñ$,ó	ð$,òN:ð ‡�×ÑÐ+Ð.>Ð@SÐ-TÓUñ7ó Vð7ð" ‡�×ÑÐ+Ð.>Ð@SÐ-TÓUñ/ó Vð/ð ‡�×Ñ˜¨¨}Ð'=Ó>Øñ4ó ó ?ñ4ùòcs   ö,}