Ë
    ÜÍ:jÞ¢ ã                   ó0  — d dl Z d dlZd dlZd dlmZ d dlZd dlm	Z	m
Z
 d dlmZmZ d dlmZ d dlmZmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/ d dl0m1Z1m2Z2 d dl3m4Z4 d dl5m6Z6m7Z7 d dl8m9Z9m:Z: d dl;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZD d dlEmFZFmGZG d dlHmIZImJZJmKZKmLZLmMZMmNZNmOZO d dlPmQZQ  ej¤                  «       ZSej¨                  j«                  d «      ZVdZWdZXeVj³                  ddeW¬«      ZZeVj³                  ddeW¬«      Z[eVj¹                  eXeW«      e[z  eZz   Z]e]d dd…f   j½                  deW«      Z_e]dd…d f   j½                  eXd«      Z`e_jÃ                  «       Zbe`jÃ                  «       Zcd„ Zdd„ Zed„ Zfd„ Zgd„ ZhejÒ                  jÕ                  g d¢ eh«       «      ejÒ                  jÕ                  d g d!¢«      d"„ «       «       ZkejÒ                  jÕ                  g d¢ eh«       «      ejÒ                  jÕ                  d# e:«       «      d$„ «       «       Zld%„ ZmejÒ                  jÕ                  d&dgeKz   eLz   «      ejÒ                  jÕ                  d'd(d)g«      d*„ «       «       ZnejÒ                  jÕ                  d+ e'd(¬,«       e&d(¬-«      g«      ejÒ                  jÕ                  d&dgeKz   eLz   «      ejÒ                  jÕ                  d'd(d)g«      ejÒ                  jÕ                  d.ejÞ                  ejà                  g«      ejÒ                  jÕ                  d/g d0¢«      d1„ «       «       «       «       «       ZqejÒ                  jÕ                  d2g d3¢«      ejÒ                  jÕ                  d4g d5¢«      ejÒ                  jÕ                  d.ejÞ                  ejà                  g«      ejÒ                  jÕ                  d&dgeKz   eLz   «      d6„ «       «       «       «       Zrd7„ ZseDd8„ «       Ztd9„ Zud:„ Zvd;„ Zwd<„ Zxd=„ ZyejÒ                  jÕ                  d&eKeLz   «      d>„ «       ZzejÒ                  jÕ                  d?d)dg«      ejÒ                  jÕ                  d&eKeLz   «      d@„ «       «       Z{ejÒ                  jÕ                  d?d)dg«      dA„ «       Z|dB„ Z}ejÒ                  jÕ                  dC e:«       «      ejÒ                  jÕ                  dDeGgeF¬E«      ejÒ                  jÕ                  dF e!«        e!d)¬G«       e"«        e"d)¬G«       e «        e#dH¬I«       e#dJ¬I«       e#dK¬I«       e«       g	eF¬E«      dL„ «       «       «       Z~ejÒ                  jÕ                  dF e!«        e"«        e «       geF¬E«      dM„ «       ZdN„ Z€ejÒ                  jÕ                  dC e:«       «      ejÒ                  jÕ                  dDeGgeF¬E«      ejÒ                  jÕ                  d?d)dg«      dO„ «       «       «       Z�dP„ Z‚dQ„ ZƒdR„ Z„dS„ Z…ejÒ                  jÕ                  d?d)dg«      ejÒ                  jÕ                  d&eKeLz   «      dT„ «       «       Z†ejÒ                  jÕ                  dUd)d(g«      ejÒ                  jÕ                  dVd)d(g«      ejÒ                  jÕ                  d&dgeKz   eLz   «      dW„ «       «       «       Z‡dX„ ZˆejÒ                  jÕ                  d&eKeLz   «      dY„ «       Z‰ejÒ                  jÕ                  d&eKeLz   «      dZ„ «       ZŠejÒ                  jÕ                  d&eLeKz   «      d[„ «       Z‹ejÒ                  jÕ                  d&eLeKz   «      d\„ «       ZŒd]„ Z�d^„ ZŽejÒ                  jÕ                  d_d)d(g«      ejÒ                  jÕ                  d`d)d(g«      ejÒ                  jÕ                  daej¨                  j¹                  ddb«       e	�j                  ddbdc¬d«      g«      de„ «       «       «       Z�ejÒ                  jÕ                  dfeL«      dg„ «       Z‘dh„ Z’ejÒ                  jÕ                  dig dj¢«      ejÒ                  jÕ                  dkg dl¢«      dm„ «       «       Z“ejÒ                  jÕ                  dfeL«      dn„ «       Z”do„ Z•dp„ Z–ejÒ                  jÕ                  dqeK«      dr„ «       Z—ejÒ                  jÕ                  dqeK«      ds„ «       Z˜ejÒ                  jÕ                  dqeK«      dt„ «       Z™du„ Zšdv„ Z›dw„ ZœejÒ                  jÕ                  dqeK«      dx„ «       Z�dy„ ZžejÒ                  jÕ                  dqeK«      dz„ «       ZŸd{„ Z d|„ Z¡ejÒ                  jÕ                  d}d~dg«      d€„ «       Z¢d�„ Z£ejÒ                  jÕ                  dfeL«      d‚„ «       Z¤dƒ„ Z¥d„„ Z¦d…„ Z§d†„ Z¨ejÒ                  jÕ                  d&eKeLz   «      d‡„ «       Z©dˆ„ ZªejÒ                  jÕ                  dfeL«      d‰„ «       Z«dŠ„ Z¬ejÒ                  jÕ                  dfeL«      d‹„ «       Z­dŒ„ Z®ejÒ                  jÕ                  d�g dŽ¢«      ejÒ                  jÕ                  dfeL«      d�„ «       «       Z¯ejÒ                  jÕ                  d�g dŽ¢«      ejÒ                  jÕ                  d&eJeKz   eMz   «      d�„ «       «       Z°ejÒ                  jÕ                  dfeL«      d‘„ «       Z±ejÒ                  jÕ                  dfeL«      d’„ «       Z²ejÒ                  jÕ                  d“e�jf                  e´geKz   eLz   «      d”„ «       ZµejÒ                  jÕ                  dC e:«       «      d•„ «       Z¶d–„ Z·d—„ Z¸d˜„ Z¹d™„ Zºdš„ Z»ejÒ                  jÕ                  d&eJeKz   eLz   «      d›„ «       Z¼dœ„ Z½ejÒ                  jÕ                  d�dždŸg«      d „ «       Z¾ejÒ                  jÕ                  d�dždŸg«      ejÒ                  jÕ                  d¡d)d(g«      ejÒ                  jÕ                  dae`e]g«      d¢„ «       «       «       Z¿d£„ ZÀd¤„ ZÁd¥„ ZÂejÒ                  jÕ                  dae] e�j†                  e]«       e�j†                  e]«        e�jˆ                  e]�jŠ                  «      g«      d¦„ «       ZÆejÒ                  jÕ                  d�dždŸg«      d§„ «       ZÇd¨„ ZÈd©„ ZÉejÒ                  jÕ                  dªg d«¢«      d¬„ «       ZÊd­„ ZËd®„ ZÌejÒ                  jÕ                  d�dždŸg«      d¯„ «       ZÍejÒ                  jÕ                  d�dždŸg«      ejÒ                  jÕ                  d¡d)d(g«      d°„ «       «       ZÎejÒ                  jÕ                  d�dždŸg«      ejÒ                  jÕ                  d¡d)d(g«      d±„ «       «       ZÏejÒ                  jÕ                  d�dždŸg«      ejÒ                  jÕ                  d¡d)d(g«      d²„ «       «       ZÐd³„ ZÑejÒ                  jÕ                  d´ eNdµd¶d ¬·«      geLD � cg c](  }  |  e�j¤                  dµe�j¦                  ¬¸«      «      ‘Œ* c} z   «      d¹„ «       ZÔejÒ                  jÕ                  dºd»d¼g«      d½„ «       ZÕejÒ                  jÕ                  d¾e�jf                  geKz   eLz   «      d¿„ «       ZÖdÀ„ Z×dÁ„ ZØejÒ                  jÕ                  dÂe"e!e&e'e%e$g«      dÃ„ «       ZÙejÒ                  jÕ                  dÂe"e!e&e'e%e$e#eg«      dÄ„ «       ZÚdÅ„ ZÛejÒ                  jÕ                  d¡d)d(g«      dÆ„ «       ZÜejÒ                  �j»                  eIdÇ¬È«      dÉ„ «       ZÞejÒ                  �j¿                  eO edÊ«      k  dË¬È«      dÌ„ «       ZàdÍ„ ZáejÒ                  jÕ                  dÎe$e%g«      dÏ„ «       ZâejÒ                  jÕ                  dÎe$e%g«      dÐ„ «       ZãejÒ                  jÕ                  dÑdÒdÓg«      edÔ„ «       «       Zäyc c} w )Õé    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                 ó>   — t        | d«      r| j                  «       } | S )NÚtoarray)ÚhasattrrB   ©Úas    úz/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/sklearn/preprocessing/tests/test_data.pyrB   rB   Z   s   € Üˆq�)ÔØ�I‰I‹KˆØ€Hó    c                 óF   — t        j                  | «      j                  d   S )Nr   )ÚnpÚasarrayÚshaperD   s    rF   Ú_check_dim_1axisrL   `   s   € Ü�:‰:�a‹=×Ñ˜qÑ!Ð!rG   c                 óJ   — ||k7  r| dz   |z  |k(  sJ ‚y | |z  ||z
  z   |k(  sJ ‚y )Nr=   © )ÚiÚbatch_startÚ
batch_stopÚnÚ
chunk_sizeÚn_samples_seens         rF   Úassert_correct_incrrU   d   s<   € Ø�Q‚Ø�A‘˜Ñ# ~Ò5Ð5Ñ5à�:‰~ ¨kÑ!9Ñ:¸nÒLÐLÑLrG   c                  ó\  — ddg} ddg}t        | |«      D ]‰  \  }}t        j                  ||«      }t        j                  |«      }t        «       }t        j                  |d«      dz  }t	        j
                  t        «      5  |j                  |||¬«       d d d «       Œ‹ y # 1 sw Y   Œ–xY w)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            	   #   ó  K  — g d¢g d¢gg d¢g d¢g d¢gddgfg d¢g d¢gg d¢g d¢g d¢g d¢gt        j                  ddg«      fdt         j                  dgt         j                  t         j                  dggdt         j                  dgt         j                  t         j                  dgt         j                  t         j                  dgt         j                  t         j                  dggt        j                  ddg«      ffE d {  –—†  y 7 Œ­w)	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                 ó@  — |j                  d«       }t        ||«      }t        | |«      } t        j                  | j                  d   «      }t        |¬«      }|j                  | ||¬«       t        j                  |j                  d   «      }t        |¬«      }|j                  ||«       g d¢g d¢g}	t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |	«      |j                  |	«      «       y )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Ð 1Ó	2€Bô 
�‰�—‘˜!‘Ó	€BÜ¨	Ô2€HØ‡L�L��R }€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           	      óÈ  — t        |||«      \  }}t        j                  |«      j                  |d¬«      }t        j                  |j
                  d   «      j                  |d¬«      }t        j                  | «      j                  |d¬«      } t        j                  | j
                  d   «      j                  |d¬«      }	t        j                  g d¢g d¢g«      j                  |d¬«      }
t        «       }|j                  ||«       t        «       }|j                  | |	|¬«       |j                  ||¬«      }|j                  ||¬«      }|j                  | |¬«      }|j                  |	|¬«      }|j                  |
|¬«      }|j                  ||¬«      }t        «       }t        d¬	«      5  |j                  |||¬«       t        |j                  t        d
¬«      }t        |j                  t        d
¬«      }d d d «       t        |j                  «       t        |j                  «       t        «       }t        d¬	«      5  |j                  ||«       t        |j                  t        d
¬«      }t        |j                  t        d
¬«      }d d d «       t        |j                  «       t        |j                  «       t        ||«       t        ||«       t        d¬	«      5  t        t        |j                  |«      t        d
¬«      t        |j                  |«      t        d
¬«      «       d d d «       y # 1 sw Y   �ŒCxY w# 1 sw Y   ŒºxY w# 1 sw Y   y xY w)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��R }€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¸Ô>ˆ÷?ô
 �H—N‘N FÔ+Ü�H—M‘M 5Ô)ô Ó €IÜ	¨4Ô	0ñ >Ø�‰�d˜DÔ!Ü˜)Ÿ/™/¬b¸Ô?ˆÜ˜Ÿ™¬B°uÔ=ˆ÷>ô
 �F—L‘L 'Ô*Ü�F—K‘K Ô(ô �G˜VÔ$Ü�F˜EÔ"Ü	¨4Ô	0ñ 
ÜÜ�I×'Ñ'¨	Ó2´rÀ%ÔHÜ�K×)Ñ)¨)Ó4¼ÀEÔJô	
÷
ð 
÷+?ñ ?ú÷>ð >ú÷
ð 
ús'   Æ1AL?ÉAMË+AMÌ?M	ÍMÍM!c                  óÎ  — t         t        t        t        fD �]  } t        «       }|j	                  | «      j                  | d¬«      }t        | t        «      rt        j                  | «      } t        | «      dk(  r¸t        |j                  | j                  «       «       t        |j                  t        j                  t         «      «       t#        |j%                  d¬«      t        j&                  t         «      «       t#        |j)                  d¬«      t        j&                  t         «      «       n³t        |j                  | j%                  «       «       t        |j                  | j)                  «       «       t#        |j%                  d¬«      t        j&                  t         «      «       t#        |j%                  d¬«      d«       t#        |j)                  d¬«      d«       |j*                  | j,                  d   k(  sJ ‚|j/                  |«      }t#        || «       �Œ t        j                  d«      } t        «       }|j	                  | «      j                  | d¬«      }t        |j                  d«       t        |j                  d«       t#        |j%                  d¬«      d«       t#        |j)                  d¬«      d«       |j*                  | j,                  d   k(  sJ ‚y ©	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ó 4ˆÜÓ!ˆØ—:‘:˜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ð-4ô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                 óÄ  — t         j                  j                  d«      }d}d}| rt        j                  |«      }nd }d}|�!t         j                  t         j
                  g}n/t         j                  t         j
                  t         j                  g}|D ]Ê  }|j                  ||«      j                  |«      }	|�
 ||	«      }	d}t        |¬«      }
|
j                  |	|¬«      j                  |	«      }|	j                  |j                  k(  sJ ‚|
j                  j                  t         j                  k(  sJ ‚|
j                  j                  t         j                  k(  rŒÊJ ‚ y )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·:±:Ð>ˆØ ò 
1ˆØ�I‰I�i Ó,×3Ñ3°EÓ:ˆØÐ'Ù  Ó#ˆAØˆIä¨)Ô4ˆØ—:‘:˜a¨}�:Ó=×GÑGÈÓJˆØ�w‰w˜(Ÿ.™.Ò(Ð(Ð(Ø�|‰|×!Ñ!¤R§Z¡ZÒ/Ð/Ð/Ø�}‰}×"Ñ"¤b§j¡jÓ0Ð0Ð0ñ
1rG   rh   r|   ©Úwith_centeringrÄ   Úconstant)r   rr   ç      Y@c                 óN  — t        | «      } t        | t        «      r.|r,t        j                  | j
                  j                  › d�«       t        j                  j                  d«      }d}d}|r t        |j                  |¬«      dz  ¬«      }ni }t        j                  ||f||¬«      }	|€|	n ||	«      }
 | j                  |
fi |¤Žj                  |
«      }t        | t        «      r8t!        | j"                  t        j$                  |
j&                  d   «      d	¬
«       t!        | j(                  t        j*                  |
j&                  d   «      «       ||
usJ ‚t-        ||
«       t        | t        «      r-|s*t/        |
| j0                  ¬«      }||
usJ ‚t-        ||
«       y y y )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Û   /  si  € ô �6‹]€FÜ�&œ,Ô'Ñ,=Ü�‰�v×'Ñ'×0Ñ0Ð1Ð1TÐUÔVä
�)‰)×
Ñ
 Ó
"€CØ€IØ€JÙÜ¨¯©¸¨Ó(CÀaÑ(GÔH‰
àˆ
Ü�g‰g˜Y¨
Ð3ÀÐPUÔV€GØ#Ð+‰Ñ1AÀ'Ó1J€AØˆv�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à˜1ÑÐÐÜ  ¨1Ô-ä�&œ.Ô)Ñ2Cä˜1¨×(8Ñ(8Ô9ˆ
Ø Ñ"Ð"Ð"Ü$ Z°Õ3ð	 3DÐ)rG   rd   )r@   rÌ   i'  Úaverage)g»½×Ùß|Û=r=   ç    _ Bc                 ó.  — d\  }}t        j                  t        ||dz   «      D �cg c]  }d|z  ‘Œ	 c}|¬«      }|j                  d   }t        j                  | |f|¬«      }	||z   |	d | dz  …d d …f<   ||z
  |	| dz  d …d d …f<   |€|	n ||	«      }
t        d¬«      j                  |
«      }t        j                  t         j                  «      j                  }| |z  |dz  z  | dz  |dz  z  |dz  z  z   }|dz  |k  }t        j                  |«      sJ ‚t        |j                  |   ||   k  «      sJ ‚t        |j                  |   d	«       |	dd d …f   |	d
d d …f   z
  dk7  }t        |j                  t        j                  |«         d«       t        |j                  t        j                  |«         d«       t        j                   |dz  |kD  |«      }t        |j                  |   t        j"                  |j                  «      |   «       y c c}w )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ˆyÜ�X‰X¤e¨I°yÀ1±}Ó&EÖF �r˜1“uÒFÈeÔT€Fà—‘˜a‘€JÜ
�‰�)˜ZÐ(°Ô6€Aà$ vÑ-€AÐˆ	�Q‰ÐšÐÑØ$ vÑ-€A€i�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°MÑ-BÑBÔ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                  óö   — g d¢} t        j                  | «      }| |fD ]Y  }t        |«      }t        |j	                  «       d«       t        |j                  «       d«       t        t        |dd¬«      |«       Œ[ y )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ù   “  sf   € â!€FÜ�H‰H�VÓ€Eà�eˆ_ò IˆÜ˜“8ˆÜ! (§-¡-£/°3Ô7Ü! (§,¡,£.°#Ô6Üœ5 ¨e¸eÔDÀaÕHñ	IrG   c                  ó¤  — t        j                  dt        j                  d«      t         j                  ¬«      } t	        j
                  «       5  t	        j                  dt        «       t        | «       d d d «       t        t        | «      t        j                  d«      «       t        j                  dt        j                  d«      t         j                  ¬«      } d}t        j                  t        |¬«      5  t        | «      }d d d «       t        t        j                  d«      «       t        j                  ddt         j                  ¬«      } t	        j
                  «       5  t	        j                  dt        «       t        | «      }d d d «       t        t        j                  d«      «       t        j                  dd	t         j                  ¬«      }d
}t        j                  t        |¬«      5  t        |«      }d d d «       t        t        j                  d«      «       t        ||«       t        j                  t        |¬«      5  t        |d¬«      }d d d «       t        t        j                  d«      «       t        ||«       y # 1 sw Y   �Œ!xY w# 1 sw Y   �ŒœxY w# 1 sw Y   �Œ"xY w# 1 sw Y   Œ¸xY w# 1 sw Y   ŒhxY w)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¨NÔ;Ü	�‰”k¨Ô	9ñ 6Ü˜u¨uÔ5ˆ÷6ä˜n¬b¯h©h°r«lÔ;Ü˜n¨nÕ=÷9ñ ú÷ñ ú÷
"ñ "ú÷$ð $ú÷6ð 6ús<   Á&JÃ:J Å'&J-Ç7J:ÉKÊJÊ J*Ê-J7Ê:KËKc                  ó^  — t         j                  j                  d«      } d}d}| j                  ||«      }d|d d …df<   t	        «       }|j                  |«      j                  |d¬«      }t        j                  t        j                  |«      «      rJ ‚|j                  |k(  sJ ‚t        |j                  d¬«      |dgz  «       t        |j                  d¬«      g d¢«       ||usJ ‚|j                  |«      }||usJ ‚||usJ ‚t        ||«       t        |d	d
¬«      }t        j                  t        j                  |«      «      rJ ‚t        |j                  d	¬«      |dgz  «       t        |d	d¬«      }t        j                  t        j                  |«      «      rJ ‚t        |j                  d	¬«      |dgz  «       t        |j                  d	¬«      |dgz  «       ||usJ ‚|j                  |«      j                  |d
¬«      }t        j                  t        j                  |«      «      rJ ‚t        |j                  d¬«      |dgz  «       t        |j                  d¬«      g d¢«       ||u sJ ‚| j                  dd«      }d|d d …df<   t	        «       }|j                  |«      j                  |d¬«      }t        j                  t        j                  |«      «      rJ ‚t        |j                  d¬«      |dgz  «       t        |j                  d¬«      g d¢«       ||usJ ‚y )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Ø�	‰	�)˜ZÓ(€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à˜1ÑÐÐð ×,Ñ,¨XÓ6€MØ Ñ!Ð!Ð!Ø Ñ(Ð(Ð(Ü˜m¨QÔ/ä�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à˜1ÑÐÐà�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‰=Ðˆ=à�	‰	�!�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à˜1ÑÐÑrG   c                  ó,  — t         j                  j                  d«      } | j                  ddddg«      j	                  t         j
                  «      }t        j                  d¬«      5  t        «       j                  |«      }|j                  |«      }d d d «       t        «       j                  |j	                  t         j                  «      «      }t        j                  t        j                  «      «      sJ ‚t        ||d¬	«       y # 1 sw Y   ŒxxY w)
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                  óÐ   — t        j                  g d¢«      } t        | d¬«      }t        | t        j                  g d¢«      «       t        |t        j                  g d¢«      «       y )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            
      ój  — t         } | j                  d   }ddd||dz   fD �]�  }t        «       j                  | «      }t        «       }t	        t
        |«      D ]  }|j                  | |   «      }Œ t        |j                  |j                  «       t        |j                  |j                  «       |j                  |j                  k(  sJ ‚t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       t        d|«      }t        «       j                  | |   «      }t        «       j                  | |   «      }t        |j                  |j                  «       t        |j                  |j                  «       |j                  |j                  k(  sJ ‚t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       t        «       j                  | «      }t        «       }t        t	        t
        |«      «      D ]H  \  }}|j                  | |   «      }t!        ||j"                  |j$                  |||j                  ¬«       ŒJ �Œ“ y )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    s9  € ô 	€AØ	�‰�‰
€Aà˜!˜R  A¨¡FÐ+ó 'ˆ
ä#“~×)Ñ)¨!Ó,ˆä"“nˆÜ ¤¨JÓ7ò 	<ˆEØ%×1Ñ1°!°E±(Ó;‰Kð	<ô 	" ,×"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˜*Ó%ˆÜ#“~×)Ñ)¨!¨F©)Ó4ˆÜ"“n×0Ñ0°°6±Ó;ˆä! ,×"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ˆuØ%×1Ñ1°!°E±(Ó;ˆKÜØØ!ŸK™KØ Ÿ:™:ØØ%Ø*×:Ñ:öò		ñ='rG   c            
      ó(  — t         } | j                  d   }ddd||dz   fD �]o  }t        d¬«      j                  | «      }t        d¬«      }t	        t
        |«      D ]  }|j                  | |   «      }Œ t        |j                  |j                  «       |j                  |j                  k(  sJ ‚|j                  |j                  k(  sJ ‚t        d|«      }t        «       j                  | |   «      }|dk(  r{t        t        j                  t        t        j                  ¬«      |j                  «       t        t        j                   t        t        j                  ¬«      |j"                  «       n\t        t        j$                  | |   d¬	«      |j                  «       t        t        j&                  | |   d¬	«      |j"                  «       t        «       j                  | «      }t        «       }t)        t	        t
        |«      «      D ]H  \  }}|j                  | |   «      }t+        ||j,                  |j.                  |||j                  ¬
«       ŒJ t        |j                  |j                  «       |j                  |j                  k(  r�ŒpJ ‚ y )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  A¨¡FÐ+ó *Kˆ
ä%¨uÔ5×9Ñ9¸!Ó<ˆä$¨eÔ4ˆÜ ¤¨JÓ7ò 	<ˆEØ%×1Ñ1°!°E±(Ó;‰Kð	<ä! ,×"4Ñ"4°k×6GÑ6GÔHØ× Ñ  K×$4Ñ$4Ò4Ð4Ð4Ø×+Ñ+¨{×/JÑ/JÒJÐJÐJô �q˜*Ó%ˆÜ$Ó&×2Ñ2°1°V±9Ó=ˆØ˜Š?Ü%Ü—‘œ¬2¯:©:Ô6¸×8HÑ8Hôô &Ü—‘œ
¬"¯*©*Ô5°{×7IÑ7Iõô &¤b§f¡f¨Q¨v©Y¸QÔ&?À×AQÑAQÔRÜ%Ü—‘�q˜‘y qÔ)¨;×+=Ñ+=ôô
 &Ó'×+Ñ+¨AÓ.ˆÜ$Ó&ˆÜ!¤+¬i¸Ó"DÓEò 		‰HˆAˆuØ%×1Ñ1°!°E±(Ó;ˆKÜØØ!ŸK™KØ Ÿ:™:ØØ%Ø*×:Ñ:öð		ô 	" ,×"3Ñ"3°[×5EÑ5EÔFØ×+Ñ+¨{×/JÑ/JÔJÐJÐJñU*KrG   c                 ó  — t         j                  j                  d«      }d}d}|j                  dd|¬«      }|j                  dd|¬«      }|j	                  ||«      |z  |z   }t        «       j                  |«      }t        «       }|D ]#  }	|j                  |	j                  d	|«      «      }Œ% d
}
t        |j                  |j                  |
¬«       t        |j                  |j                  |
¬«       t        |j                  |j                  |
¬«       d}d} | |j                  dd|«      j                  t         j                  «      |z  «      }t        d¬«      j                  |«      }t        d¬«      }|D ]4  }	|	j                   d	k(  r|	j                  d	d«      }	|j                  |	«      }Œ6 d
}
|j                  €J ‚t        |j                  |j                  |
¬«       t        |j                  |j                  |
¬«       y )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_stabilityrA  ~  sÑ  € ô �)‰)×
Ñ
 Ó
"€CØ€JØ€IØ�k‰k˜% ¨JˆkÓ7€GØ�[‰[˜˜c¨
ˆ[Ó3€FØ�	‰	�)˜ZÓ(¨6Ñ1°GÑ;€Aä!Ó#×'Ñ'¨Ó*€LÜ Ó"€KØò LˆØ!×-Ñ-¨e¯m©m¸A¸zÓ.JÓK‰ðLð €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àò 5ˆØ�:‰:˜Š?ð —M‘M ! RÓ(ˆEØ!×-Ñ-¨eÓ4‰ð5ð €CØ�<‰<Ð#Ð#Ð#Ü�K×$Ñ$ f§k¡k¸Õ<Ü�K×&Ñ&¨¯©¸CÖ@rG   rZ   c                 ó  —  |t        j                  dgdgdgdgg«      «      }| r"t        j                  |j                  d   «      } t        ddd¬«      }|j                  || ¬«      j                  |«      }t        |j                  «       |j                  «       «       |j                  |«      }t        |j                  «       |j                  «       «       t        |j                  «       |j                  «       «       y )	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_inputrH  ­  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                 ó
  — t         d d…d d …f   }| r"t        j                  |j                  d   «      } t	        «       }t        t        |j                  d   d«      «      D �]   \  }}|d |dz   …d d …f   }|j                  «       }| €.t	        «       j                  |«      }|j                  ||   «      }n:t	        «       j                  || d |dz    ¬«      }|j                  ||   | |   ¬«      }|j                  |«      }t        ||«       t        ||«       |j                  |«      }	t        ||	«       t        j                  |j                  d   «      }
t        j                  t         «      j"                  }t%        |
|j&                  |z   «       t%        |
|j(                  |z   «       | €|dz   |j*                  k(  r�ŒbJ ‚t        j,                  | d |dz    «      t/        j0                  |j*                  «      k(  r�Œ¡J ‚ y )NrÌ   r   r=   rY   )r%  r\   rD  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_fitrT  ¾  sâ  € ô 	ˆTˆcˆT’1ˆW‰€AáÜŸ™ §¡¨¡Ó,ˆä Ó"€KÜœk¨!¯'©'°!©*°aÓ8Ó9ó ‰ˆˆ5Ø�I�q˜1‘u�Išq�L‘/ˆØ—l‘l“nˆØÐ Ü)Ó+×9Ñ9¸'ÓBˆLØ%×1Ñ1°!°E±(Ó;‰Kä)Ó+×9Ñ9Ø }°W°q¸1±uÐ'=ð :ó ˆLð &×1Ñ1Ø�%‘¨°eÑ(<ð 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            	      óÊ   — t        j                  g d¢g d¢g d¢g d¢g d¢g d¢gt         j                  ¬«      } t        «       }|j	                  | «       |j                  | «       y )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_transformrW  è  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                 óJ   — | j                   j                  } ||| |||¬«       y )N©r˜   r™   )rÒ   rÓ   )rZ  rX  Úarray_namespacer˜   r™   Únames         rF   Ú'test_preprocessing_array_api_compliancerf     s,   € ð6 ×Ñ×'Ñ'€DÙ	ØØØØØörG   c                 óB  — t        ddd¬«      \  }}t        j                  g d¢g d¢g d¢gt        j                  ¬«      }|j                  ||¬	«      }t	        d
¬«      5  | j                  |«      }d d d «       j                  |j                  k(  sJ ‚y # 1 sw Y   Œ%xY w©NÚtorchÚmpsrÂ   rc  rl   rm   )é   rû   r@   rà   r�   Tr‘   )r'   rI   rJ   Úint64r   r  rÄ   rÂ   )rZ  r•   r�   ÚX_nprš   ÚX_outs         rF   Ú;test_preprocessing_integer_array_api_on_float32_only_devicero  %  sŠ   € ô & g¸5ÈYÔW�J€Bˆô �:‰:’y¢)ªZÐ8ÄÇÁÔI€DØ�:‰:�d 6ˆ:Ó*€Dä	¨4Ô	0ñ .Ø×'Ñ'¨Ó-ˆ÷.ð �;‰;˜"Ÿ*™*Ò$Ð$Ñ$÷.ð .ús   ÁBÂBc                  ó6  — t        ddd¬«      \  } }t        j                  g d¢g d¢g d¢gt        j                  ¬«      }| j                  ||¬	«      }t	        d
¬«      5  t        |«      }d d d «       j                  | j                  k(  sJ ‚y # 1 sw Y   Œ%xY wrh  )r'   rI   rJ   rl  r   r   rÄ   rÂ   )r•   r�   rm  rš   rn  s        rF   Ú7test_normalize_integer_array_api_on_float32_only_devicerq  <  s�   € Ü% g¸5ÈYÔW�J€Bˆô �:‰:’y¢)ªZÐ8ÄÇÁÔI€DØ�:‰:�d 6ˆ:Ó*€Dä	¨4Ô	0ñ  Ü˜$“ˆ÷ ð �;‰;˜"Ÿ*™*Ò$Ð$Ñ$÷ ð  ús   ÁBÂBc                 ó`   — t        «       }|j                  j                  } | ||||||¬«       y )N)r˜   r™   Úcheck_sample_weight)r   rÒ   rÓ   )rX  rZ   rd  r˜   r™   rZ  re  s          rF   Ú)test_standard_scaler_array_api_compliancert  J  s7   € ô Ó €IØ×Ñ×'Ñ'€DÙ	ØØØØØØ)örG   c                  ób  — t         j                  } t        «       }|j                  | «      }t	        |j                  d¬«      d«       t	        |j                  d¬«      d«       |j                  |«      }t	        | |«       t        d¬«      }|j                  | «      }t	        |j                  d¬«      d«       t	        |j                  d¬«      d«       |j                  |«      }t	        | |«       t        d¬«      }|j                  | «      }t	        |j                  d¬«      d«       t	        |j                  d¬«      d	«       |j                  |«      }t	        | |«       t        d
¬«      }t        j                  t        «      5  |j                  | «       d d d «       y # 1 sw Y   y xY w)Nr   r©   r=   ©r=   rW   ©Úfeature_rangerW   )ç      à¿ç333333ã?ry  rz  )rW   r=   )ÚirisÚdatar   r  r,   Úminra  r¸   r^   r_   r`   ra   )rf   rh   ÚX_transÚX_trans_invs       rF   Útest_min_max_scaler_irisr€  c  s^  € Ü�	‰	€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                  óê  — g d¢g d¢g d¢g} g d¢g d¢g d¢g}t        «       }|j                  | «      }g d¢g d¢g d	¢g}t        ||«       |j                  |«      }t        | |«       |j	                  |«      }g d¢g d
¢g d¢g}t        ||d¬«       t        d¬«      }|j                  | «      }g d¢g d¢g d¢g}t        ||«       t        | «      }t        ||«       t        | d¬«      }t        ||«       y )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  rv  rw  )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                  óÂ   — t         j                  } t        | d¬«      }t        t	        j
                  |d¬«      d«       t        t	        j                  |d¬«      d«       y )Nr=   r©   r   )r{  r|  r   r,   rI   r}  ra  )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                  óf  — t         t        t        t        fD �]<  } t        d¬«      }|j	                  | «      j                  | «      }t        | t        «      rt        j                  | «      } t        | «      dk(  rgt        |j                  d¬«      t        j                  t        «      «       t        |j                  d¬«      t        j                  t        «      «       n8t        |j                  d¬«      d«       t        |j                  d¬«      d«       |j                   | j"                  d   k(  sJ ‚|j%                  |«      }t        || «       �Œ? t        j&                  d«      } t        «       }|j	                  | «      j                  | «      }|j                  «       dk\  sJ ‚|j                  «       dk  sJ ‚|j                   | j"                  d   k(  sJ ‚t         j)                  «       }|j                  «       }|j                  «       }t        ||z
  ||z
  z  t+        |d¬«      «       y r¨   )r­   r®   r¯   r   ra   r‡   r°   r±   rI   rt   rL   r,   r}  r×   re   ra  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ˆÜ 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ð#4ô( 	�‰�‹€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                 óª  — t         j                  j                  d«      }|j                  dd«      }d|d d …df<    ||«      }| r|j	                  |j
                  d   «      } t        j                  t        «      5  t        «       j                  |«       d d d «       t        d¬«      j                  || ¬«      }|j                  |d	¬
«      }t        j                  t        j                  |«      «      rJ ‚t        d¬«      j                  || ¬«      }|j                  |d	¬
«      }t        j                  t        j                  |j                  «      «      rJ ‚t        |j                   |j                   «       t        |j"                  |j"                  «       t        |j$                  |j$                  «       t        |j&                  |j&                  «       | €=t        |j)                  d¬«      g d¢d«       t        |j+                  d¬«      g d¢«       t-        |d«      \  }	}
t        |	|j)                  d¬«      «       t        |
|j/                  d¬«      «       ||usJ ‚||usJ ‚|j1                  |«      }||usJ ‚||usJ ‚t        ||«       |j1                  |«      }||usJ ‚||usJ ‚t        |j3                  «       |«       |t4        v rqt        ddd	¬«      }|j7                  |«      }t9        |j                  |j                  «       |j1                  |«      }t9        |j                  |j                  «       y y # 1 sw Y   �Œ´xY w)Nr#  rn   ro   r«   r   Fr|   rY   Tr�   r©   ©r«   g{®Gáz„¿gìQ¸…ë@gffffffÖ¿gö(\�Âõè¿rW   r  rC  )rI   r¿   rÀ   r]   rD  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_backrE  rF  rG  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ä˜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°H·M±MÀq°MÓ4IÔJÜÐ1°8·<±<ÀQ°<Ó3GÔHð ˜1ÑÐÐØ (Ñ*Ð*Ð*à×,Ñ,¨XÓ6€MØ Ñ!Ð!Ð!Ø Ñ(Ð(Ð(Ü˜m¨QÔ/à(×:Ñ:¸?ÓKÐØ xÑ/Ð/Ð/Ø Ñ6Ð6Ð6ÜÐ2×:Ñ:Ó<¸aÔ@àœ>Ñ)Ü'°%À%ÈdÔSˆØ×-Ñ-¨hÓ7ˆÜ˜6Ÿ;™;¨¯©Ô6Ø×1Ñ1°&Ó9ˆÜ˜6Ÿ;™;¨¯©Õ6ð *÷U'ñ 'ús   Á<MÍMr}   rö   c                 ó¾  — t        j                  g d¢t         j                  ddgddt         j                  gddt         j                  ggt         j                  ¬«      }|� ||«      }t	        j
                  |«      r| rt        j                  d	«       t        | |¬
«      }|j                  |«       t        |j                  t        j                  g d¢«      «       y )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¸xÔH€KØ‡O�O�AÔä�{×2Ñ2´B·H±HºYÓ4GÕHrG   c                 óú   — | j                   |j                   cxu r�J ‚ J ‚| j                  |j                  cxu r�J ‚ J ‚| j                  |j                  cxu r�J ‚ J ‚| j                  |j                  k(  sJ ‚y ©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                 óä  — t        j                  g d¢g d¢g d¢gt         j                  ¬«      } | |«      }t        dd¬«      }|j	                  |«      }t        ||«       t        |«      }|j	                  |«      }t        ||«       t        ||«       |j                  |«       |j                  |«       t        ||«       |j                  |«       |j                  |«       t        ||«       y )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 7Ô+äÐ0Ó1ÐØ'×5Ñ5°hÓ?€NÜ  °Ô:ä&Ð'8Ð:LÔMà×!Ñ! 'Ô*Ø×"Ñ" 8Ô,Ü&Ð'8Ð:LÔMà×Ñ˜'Ô"Ø×Ñ˜8Ô$Ü&Ð'8Ð:LÕMrG   c                 ó¼  — t         j                  j                  d«      }|j                  dd¬«      }d|d d …df<    | |«      }t	        j
                  d¬«      5  t        d¬	«      j                  |«      }|j                  |d¬
«      }d d d «       t        j                  t        j                  «      «      rJ ‚t	        j
                  d¬«      5  t        d¬	«      j                  |«      }|j                  |d¬
«      }d d d «       t        j                  t        j                  j                  «      «      rJ ‚t        j                  j                  «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j!                  d¬«      g d¢d«       t        |j#                  d¬«      g d¢«       t%        |j'                  t(        «      d«      \  }}	t        ||j!                  d¬«      «       t        |	|j#                  d¬«      «       ||usJ ‚||usJ ‚|j+                  |«      }
|
|usJ ‚|
|usJ ‚t        |
|«       |j+                  |«      }||usJ ‚||usJ ‚t        |j-                  «       |«       | t.        v r�t        ddd¬«      }t	        j
                  d¬«      5  |j1                  |«      }d d d «       t3        j                  |j                  «       |j+                  |«      }t3        |j                  |j                  «       y y # 1 sw Y   �Œ±xY w# 1 sw Y   �ŒGxY w# 1 sw Y   ŒvxY w)Nr#  é   ©rn   ro   r>   r   T©ÚrecordFr|   r�   r©   )r«   gX9´Èv¾ñ?gV-²ý?g      5@g‹lçû©ñø?rW   r  rC  )rI   r¿   rÀ   r<  r  r  r   ra   r‡   rå   r  r|  r,   r…   r†   r³   r´   r¶   r9   r–   rJ  r¸   rB   r5   r  r-   )r¼   r\   rf   r›  rh   r¹   rœ  r�  rž  ÚX_sparse_scaled_stdrº   r   rE  rF  rG  s                  rF   Útest_scaler_intr¹  @  sö  € ô �)‰)×
Ñ
 Ó
#€CØ�‰�B˜VˆÓ$€AØ€A‚aˆ€d�GÙ Ó"€Hä	×	 Ñ	 ¨Ô	-ñ 2Ü¨%Ô0×4Ñ4°QÓ7ˆØ×#Ñ# A¨DÐ#Ó1ˆ÷2ô �v‰v”b—h‘h˜xÓ(Ô)Ð)Ð)ä	×	 Ñ	 ¨Ô	-ñ GÜ&°Ô7×;Ñ;¸HÓEˆØ'×1Ñ1°(ÀÐ1ÓFˆ÷Gô �v‰v”b—h‘h˜×3Ñ3Ó4Ô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°H·M±MÀq°MÓ4IÔJÜÐ1°8·<±<ÀQ°<Ó3GÔHð ˜1ÑÐÐØ (Ñ*Ð*Ð*à×,Ñ,¨XÓ6€MØ Ñ!Ð!Ð!Ø Ñ(Ð(Ð(Ü˜m¨QÔ/à(×:Ñ:¸?ÓKÐØ xÑ/Ð/Ð/Ø Ñ6Ð6Ð6ÜÐ2×:Ñ:Ó<¸aÔ@àœ>Ñ)Ü'°%À%ÈdÔSˆÜ×$Ñ$¨DÔ1ñ 	<Ø#×1Ñ1°(Ó;ˆF÷	<ä˜6Ÿ;™;¨¯©Ô6Ø×1Ñ1°&Ó9ˆÜ˜6Ÿ;™;¨¯©Õ6ð *÷O2ñ 2ú÷
Gñ Gú÷H	<ð 	<ús$   Á/L8Ã/MËMÌ8MÍMÍMc                 óž  — t         j                  j                  d«      }|j                  dd«      }d|d d …df<    | |«      }|j	                  «       }t        d¬«      j                  |«       t        ||«       |j	                  «       }t        dd¬«      j                  |«       t        |j                  «       |j                  «       «       y )	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                 óÞ  — t         j                  j                  d«      }|j                  dd«      } | |«      }t	        j
                  t        «      5  t        |d¬«       d d d «       t	        j
                  t        «      5  t        d¬«      j                  |«       d d d «       t        d¬«      j                  |«      }t	        j
                  t        «      5  |j                  |«       d d d «        | |j                  |«      «      }t	        j
                  t        «      5  |j                  |«       d d d «       y # 1 sw Y   ŒßxY w# 1 sw Y   Œ®xY w# 1 sw Y   ŒlxY w# 1 sw Y   y xY w)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Ó	"ñ 5Ü Ô&×*Ñ*¨8Ô4÷5ô  dÔ+×/Ñ/°Ó2€FÜ	�‰”zÓ	"ñ #Ø×Ñ˜Ô"÷#ñ ,¨F×,<Ñ,<¸QÓ,?Ó@ÐÜ	�‰”zÓ	"ñ 7Ø× Ñ Ð!5Ô6÷7ð 7÷(ð (ú÷5ð 5ú÷
#ð #ú÷7ð 7ús0   ÁD?ÂEÃEÄ$E#Ä?EÅEÅE Å#E,c                  ó¦   — t         j                  ddddgg} t        j                  t        d¬«      5  t        | «       d d d «       y # 1 sw Y   y xY w)Nro   rp   rk  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Ä     sI   € ä
�&‰&�!�Q˜˜1Ð	Ð€AÜ	�‰ÜÐUô
ñ ô 	ˆaŒ÷÷ ñ ús   ²AÁAc                  óÎ   — t        j                  dd«      } t        d¬«      }d}t        j                  t
        |¬«      5  |j                  | «       d d d «       y # 1 sw Y   y xY w)Nr;   r@   TrÇ   zCannot center sparse matricesrþ   )r   rD  r   r^   r_   r`   ra   )r›  rh   Úerr_msgs      rF   Útest_robust_scaler_error_sparserÇ  ©  sP   € Ü�{‰{˜4 Ó$€HÜ¨Ô.€FØ-€GÜ	�‰”z¨Ô	1ñ Ø�
‰
�8Ô÷÷ ñ ús   Á AÁA$rÈ   Úwith_scalingrf   rX   rƒ  ©Údensityc                 ór  — |r*t        j                  | «      rt        j                  d«       t	        ||¬«      }|j                  | «       |r&t        |j                  t        j                  «      sJ ‚|j                  �J ‚|r't        |j                  t        j                  «      sJ ‚y |j                  �J ‚y )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Œ   € ñ
 œ&Ÿ/™/¨!Ô,Ü�‰Ð>Ô?ä¨ÀlÔS€FØ
‡J�Jˆq„MáÜ˜&Ÿ.™.¬"¯*©*Ô5Ð5Ð5à�~‰~Ð%Ð%Ð%ÙÜ˜&Ÿ-™-¬¯©Ô4Ð4Ñ4à�}‰}Ð$Ð$Ñ$rG   Úcsr_containerc                 ó€  — t         j                  j                  dd«      }d|d d …df<    | |«      }t        d¬«      }|j	                  |«       |j
                  d   t        j                  d«      k(  sJ ‚|j                  |«      }t        |d d …dgf   j                  «       |d d …dgf   j                  «       «       y )Nr@   ro   r   FrÇ   r=   )rI   r¿   r]   r   ra   r³   r^   rL  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                  óT  — t         j                  j                  d«      } | j                  dd«      }d|d d …df<   t	        «       }|j                  |«      j                  |«      }t        t        j                  |d¬«      ddgz  «       t        |j                  d¬«      d   d«       y )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                 óT  — t        j                  dd| ¬«      j                  «       }|dk(  r%t        j                  |j
                  «      |_        nn|dk(  r&t        j                  |j
                  «       |_        nC|dk(  r>t        j                  |j
                  j                  t        j                  ¬«      |_        |j                  «       }t        d¬	«      }t        d¬	«      }|j                  |«       |j                  |«       t        |j                  |j                  «       y )
Nr;   ro   rÉ  r×  rØ  r×   rà   FrÇ   )r   rD  Ú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Ö   € ô �{‰{˜4 ¨GÔ4×:Ñ:Ó<€HØ˜*Ò$ÜŸ™˜xŸ}™}Ó-ˆ�Ø	˜JÒ	&ÜŸ™ §¡Ó.Ð.ˆ�Ø	˜GÒ	#ÜŸ™ §¡×!4Ñ!4¼B¿J¹JÔGˆŒØ×ÑÓ €Gä °Ô6€MÜ¨uÔ5€Là×Ñ�hÔØ×Ñ�WÔä�M×(Ñ(¨,×*=Ñ*=Õ>rG   c                 ó¦  — t         j                  j                  d«      }|j                  dd«      }t        j                  g d¢g«      }t        d¬«      }|j                  |«      }|j                   | |«      «      }||j                  z  }t        |j                  «       |«       |j                  |«      }t        ||j                  «       «       y )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                  ó4  — t         j                  } t        «       }|j                  | «      }t	        t        j                  |d¬«      d«       |j                  |«      }t	        | |«       t        j                  |dd¬«      }|d   |d   z
  }t	        |d«       y )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                  ó8  — t         j                  } t        d¬«      }|j                  | «      }t	        t        j                  |d¬«      d«       |j                  |«      }t	        | |«       t        j                  |dd¬«      }|d   |d   z
  }t	        |d«       y )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                 ó²  — t         j                  }t        d¬«      }|j                  |«      }|j	                  |«      }t        ||«       t        dd¬«      }|j                  |«      }|j	                  |«      }t        ||«        | |«      }|j                  |«      }|j	                  |«      }t        |j                  «       |j                  «       «       y )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                 óð  — t        j                  g d¢g d¢g d¢g«      } | |«      }t        j                  g d¢g d¢g d¢g«      } | |«      }d}t        j                  t        |¬«      5  t        d¬«      j                  |«       d d d «       t        d¬	«      }d
}t        j                  t        |¬«      5  |j                  |«       d d d «       |j                  |«       d
}t        j                  t        |¬«      5  |j                  |«       d d d «       t        j                  g d¢g d¢g«      }d}t        j                  t        |¬«      5  |j                  |«       d d d «       t        d¬	«      j                  |«      }t        j                  t        d¬«      5  |j                  d«       d d d «       t        d¬	«      }d}t        j                  t        |¬«      5 }|j                  |«       d d d «       t        «      dk(  sJ ‚|j                  |j                  d   k(  sJ ‚y # 1 sw Y   �Œ©xY w# 1 sw Y   �ŒsxY w# 1 sw Y   �Œ8xY w# 1 sw Y   ŒòxY w# 1 sw Y   Œ®xY w# 1 sw Y   ŒwxY w)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
  5  s&  € ä
�‰â/Ú+Ú4ð	
ó	€Añ 	�aÓ€AÜ�L‰Lâ/Ú,Ú4ð	
ó€Eñ ˜%Ó €Eð	ð ô
 
�‰”z¨Ô	1ñ 1Ü bÔ)×-Ñ-¨aÔ0÷1ô &°"Ô5€KØN€GÜ	�‰”z¨Ô	1ñ Ø�‰˜Ô÷à‡O�O�AÔØN€GÜ	�‰”z¨Ô	1ñ %Ø×Ñ˜eÔ$÷%ô —‘Ú	,Ò.VÐWó€Jð 	Vð ô 
�‰”z¨Ô	1ñ 2Ø×%Ñ% jÔ1÷2ô &°"Ô5×9Ñ9¸!Ó<€Kä	�‰”zÐ)VÔ	Wñ "Ø×Ñ˜bÔ!÷"ô &°#Ô6€KØ0€HÜ	�‰”k¨Ô	2ð °fØ�‰˜Ô÷äˆv‹;˜!ÒÐÐØ×#Ñ# q§w¡w¨q¡zÒ1Ð1Ñ1÷?1ñ 1ú÷
ñ ú÷%ñ %ú÷2ð 2ú÷
"ð "ú÷
ð úsH   Á*H-Â7H:Ã?IÅIÆ!I Ç$I,È-H7È:IÉIÉIÉ I)É,I5c                 óª  — t        j                  ddgddgddgddgddgg«      } | |«      }t        dd¬«      }d}t        j                  t
        |¬«      5  |j                  |«       d d d «       t        j                  ddgddgddgddgddgg«      }|j                  |«      }t        ||j                  «       «       t        j                  g d	¢«      }t        j                  g d
¢«      }t        j                  g d¢«      }	 | ||	|ff«      }|j                  |«      }t        j                  ddgddgddgddgddgddgddgddgddgg	«      }t        ||j                  «       «       t        dd¬«      }t        j                  g d¢«      }t        j                  g d¢«      }t        j                  g d¢«      }	 | ||	|ff«      }|j                  |«      }t        j                  ddgddgddgddgddgddgddgg«      }t        ||j                  «       «       t        |j                  «       |j                  |«      j                  «       «       t        dddd¬«      }|j                  |«      }t        ||j                  «       «       t        |j                  «       |j                  |«      j                  «       «       y # 1 sw Y   �ŒaxY w)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   rk  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  o  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Ü˜
 G§O¡OÓ$5Ô6ô �X‰XÒ7Ó8€FÜ�H‰HÒ6Ó7€EÜ�H‰HÒ6Ó7€EÙ˜f u¨e nÐ5Ó6€HØ×'Ñ'¨Ó1€GÜ—‘à�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJØ�#ˆJð
	
ó€Jô ˜
 G§O¡OÓ$5Ô6ä%¸DÈaÔP€KÜ�X‰XÒ4Ó5€FÜ�H‰HÒ0Ó1€EÜ�H‰HÒ0Ó1€EÙ˜f u¨e nÐ5Ó6€HØ×'Ñ'¨Ó1€GÜ—‘Ø
ˆQˆ�!�U�˜a ˜Z¨!¨U¨°a¸°V¸aÀ¸VÀaÈÀVÐLó€Jô ˜
 G§O¡OÓ$5Ô6ÜØ×ÑÓ˜K×9Ñ9¸'ÓB×JÑJÓLôô
 &Ø"°¸QÈQô€Kð ×'Ñ'¨Ó1€GÜ˜
 G§O¡OÓ$5Ô6ÜØ×ÑÓ˜K×9Ñ9¸'ÓB×JÑJÓLõ÷cñ ús   ÁKËKc                  ó2  — t        j                  g d¢g d¢g d¢g d¢g d¢g«      } t        d¬«      }|j                  | «       |j	                  | «      }t        j
                  t        j                  dd	d¬
«      d«      j                  }t        t        j                  |d¬«      |«       t        j                  g d¢g d¢g«      }t        j                  g d¢g d¢g«      }t        |j                  |«      |«       |j                  |«      }t        | |«       y )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                  ó  — d} d}t        j                  t         j                  j                  | df«      d¬«      }d}g }t	        |«      D ]›  }t        ||| dz  ¬«      }|j                  |«       t        j                  dd|«      t        j                  |j                  «      z
  }t        j                  t        j                  |«      «      }|d	k  sJ ‚|j                  |«       Œ� t        t        j                  |«      «      t        |«      k(  sJ ‚t        j                   | dd
dd¬«      }g }t	        |«      D ]›  }t        ||| dz  ¬«      }|j                  |«       t        j                  dd|«      t        j                  |j                  «      z
  }t        j                  t        j                  |«      «      }|dk  sJ ‚|j                  |«       Œ� t        t        j                  |«      «      t        |«      k(  sJ ‚y )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_ra  rÛ  Úappendr  Úuniquer   rD  )	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˜q¨$°uÈ1ÔM€AØ€LÜ˜e›ò 
&ˆÜ)Ø%Ø#Ø 2‘oô
ˆð
 	�‰˜ÔÜ�{‰{˜1˜a Ó-´·±¸×9OÑ9OÓ0PÑPˆÜ—6‘6œ"Ÿ&™& ›,Ó'ˆØ˜$ŠÐˆØ×Ñ˜HÕ%ð
&ô Œr�y‰y˜Ó&Ó'¬3¨|Ó+<Ò<Ð<Ñ<rG   c                  óˆ  — t         j                  j                  d«      j                  d¬«      } d}t	        |d¬«      j                  | «      }t        j                  dd|«      }t        |j                  |«       t        j                  | j                  «       |«      }t        |j                  j                  «       |«       y)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_disabledr1     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                 ó¦  — t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d	¢g d
¢g
«      } | |«      }t        d¬«      }|j                  |«       |j	                  |«      }t        t        j                  |j                  «       d¬«      d«       t        t        j                  |j                  «       d¬«      d«       |j                  |«      }t        |j                  «       |j                  «       «       t        d¬«      j                  |j                  «       «      }|j                  |«      }t        t        j                  |j                  «       d¬«      d«       t        t        j                  |j                  «       d¬«      d«       |j                  |«      }t        |j                  «       |j                  «       «       y )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   ra  r¸   r‡   )rô  rf   r¥  r~  r  r®  s         rF   Ú"test_quantile_transform_sparse_toyr5    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                  ó¸   — t        j                  g d¢g d¢g d¢g«      } t        | j                  dd¬«      }t        | dd¬«      }t	        ||j                  «       y )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_axis1r9  4  sH   € Ü
�‰Ò&Ò(8Ò:SÐTÓU€Aä# A§C¡C¨a¸QÔ?€JÜ# A¨A¸1Ô=€JÜ˜j¨*¯,©,Õ7rG   c                 ó¤  — t        j                  ddgddgddgg«      } | |«      }t        dd¬«      j                  |«      }t	        ||«       t        dd¬«      j                  |«      }t	        |j                  «       |«       t	        ||j                  «       «       t        j                  ddgddgddgg«      }t        j                  ddgddgddgg«      }t        d¬«      j                  |«      }|j                  |«      }t	        ||«       t         j                  j                  d«      }t        «       }|j                  |«       |j                  d	gg«      |j                  t        j                  |«      gg«      k(  sJ ‚|j                  d
gg«      |j                  t        j                  |«      gg«      k(  sJ ‚|j                  d	gg«      |j                  t        j                  |j                  «      gg«      k(  sJ ‚|j                  d
gg«      |j                  t        j                  |j                  «      gg«      k(  sJ ‚y )Nr   r=   rX   ©r÷  r  rƒ  rÕ  rö  )r;   r=   éöÿÿÿr@   )rI   rt   r   r  r,   rB   ra   r‡   r¿   r}  ra  r¸   r-  )rô  r­  r›  r~  Ú
X_trans_sprf   ÚX1r¥  s           rF   Útest_quantile_transform_boundsr?  <  s'  € ô �h‰h˜˜A˜  A ¨¨A¨Ð/Ó0€GÙ˜WÓ%€Hô "¨a¸aÔ@×NÑNÈwÓW€GÜ˜g wÔ/Ü$°ÀÔC×QÑQØó€Jô ˜j×0Ñ0Ó2°GÔ<Ü˜g z×'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 rÔ*ô 	�	‰	×Ñ˜Ó#€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            	      ó  — t         j                  } t        j                  dgt        dz  gdgdgdgdgdgg«      }| |fD ]?  }t        dd¬	«      }|j                  |«      }|j                  |«      }t        ||d
¬«       ŒA y )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_inverserD  b  sˆ   € Ü
�)‰)€CÜ
�(‰(�S�EÔ,¨rÑ1Ð2°S°E¸A¸3ÀÀÀaÀSÈ1È#ÐNÓ
O€CØ�3ˆZò =ˆÜ)°dÈÔKˆØ×+Ñ+¨AÓ.ˆØ!×3Ñ3°GÓ<ˆÜ! ! [¸!Ö<ñ	=rG   c                  óÔ  — t        j                  t         j                  dddgt         j                  t         j                  ddgt         j                  dddgg«      } t        dd¬«      }|j	                  | «       t        j
                  |j                  d d …df   «      j                  «       sJ ‚t        j
                  |j                  d d …dd …f   «      j                  «       rJ ‚y )Nr   r=   rƒ  r@   r#  r;  )	rI   rt   ru   r   r  r  r#  ræ   rå   )rf   r¥  s     rF   Útest_quantile_transform_nanrF  l  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ä�x‰x˜×.Ñ.ªq°!±"¨uÑ5Ó6×:Ñ:Ô<Ð<Ð<Ð<rG   Ú
array_typert   r   c                 ó@  — t        j                  g d¢dz  «      }d|j                  dd«      z  }t        || «      }d}t	        |¬«      j                  |«      }|j                  d d …df   }t        |«      dk(  sJ ‚t        t        j                  |«      dk\  «      sJ ‚y )	N)r   r=   r=   rW   rW   rX   rX   rn   ro   ro   r=   r=   rA  rA  rA  rû   rû   rk  r@   rÕ  r<   r=   rÌ   rö  r   )
rI   rt   r;  r(   r   ra   r#  r  ræ   r(  )rG  rf   r÷  ÚqtÚ	quantiless        rF   Ú*test_quantile_transformer_sorted_quantilesrK  x  s•   € ô 	�‰ÒGÈ"ÑLÓM€AØˆa�i‰i˜˜AÓÑ€AÜ˜1˜jÓ)€Aà€KÜ	¨Ô	5×	9Ñ	9¸!Ó	<€Bð —‘ša ˜dÑ#€IÜˆy‹>˜SÒ Ð Ð ÜŒr�w‰w�yÓ! QÑ&Ô'Ð'Ñ'rG   c                  óÈ   — dD ]Q  } t        | ¬«      }t        j                  t        d¬«      5  |j	                  t
        j                  «       d d d «       ŒS y # 1 sw Y   Œ^xY w)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_rangerO  Œ  sX   € ðò 
"ˆô ¨VÔ4ˆä�]‰]œ:Ð-JÔKñ 	"Ø�J‰J”t—y‘yÔ!÷	"ð 	"ñ
"÷	"ð 	"ús   ­ AÁA!	c                 óÜ  — t         j                  j                  d«      }|j                  dd«      }d|d d …df<    | |«      }t	        |d¬«      }t        j
                  t        j                  |«      «      rJ ‚t	        |d¬«      }t        j
                  t        j                  |j                  «      «      rJ ‚t	        |j                  «       d¬«      }t        ||j                  «       «       t        j                  t        «      5  t	        |dd¬	«       d d d «       t        |j                  d¬
«      g d¢d«       t        |j                  d¬
«      g d¢«       ||usJ ‚t!        |d«      \  }}t        ||j                  d¬
«      «       t        ||j                  d¬
«      «       t	        |ddd¬«      }t        |j                  «       |j                  «       «       y # 1 sw Y   ŒËxY w)Nr#  rn   ro   r«   r   Fr|   r=   )r}   rª   r©   rš  rW   r  TrC  )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_centeringrV  š  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ô ˜Ÿ™›°%Ô8€LÜ˜h¨×(<Ñ(<Ó(>Ô?ô 
�‰”zÓ	"ñ .Üˆe˜u¨1Õ-÷.ô Ø�‰˜1ˆÓÒ?Àôô ˜hŸl™l°˜lÓ2Ò4MÔNà˜1ÑÐÐä*<¸\È1Ó*MÑ'ÐÐ'ÜÐ/°·±ÀA°Ó1FÔGÜÐ.°·±À!°Ó0DÔEô ˜¨%¸%ÀdÔK€LÜ˜eŸm™m›o¨|×/CÑ/CÓ/EÕF÷!.ð .ús   Ä	G"Ç"G+c                  óÞ   — t         j                  } t        | d¬«      }t        t	        j
                  |d¬«      d«       t	        j                  |dd¬«      }|d   |d   z
  }t        |d«       y )Nr=   r©   r   rå  rè  ©r{  r|  r   r,   rI   rÓ  rë  ©rf   r~  ré  rì  s       rF   Útest_robust_scale_axis1rZ  ¿  sY   € Ü�	‰	€AÜ˜1 1Ô%€GÜœbŸi™i¨°aÔ8¸!Ô<Ü
�‰�g °Ô2€AØ
ˆA‰$��1‘‰+€CÜ˜c 1Õ%rG   c                  óâ   — t         j                  d d …df   } t        | «      }t        t	        j
                  |«      d«       t	        j                  |d¬«      }|d   |d   z
  }t        |d«       y )Nr=   r   rå  )ré  rX  rY  s       rF   Útest_robust_scale_1d_arrayr\  È  sZ   € Ü�	‰	’!�Q�$‰€AÜ˜1‹o€GÜœbŸi™i¨Ó0°!Ô4Ü
�‰�g Ô*€AØ
ˆA‰$��1‘‰+€CÜ˜c 1Õ%rG   c                  ó"  — g d¢g d¢g d¢g} t        «       }|j                  | «      }g d¢g d¢g d¢g}t        ||«       |j                  |«      }t        | |«       g d¢g d¢g d	¢g}|j	                  |«      }g d
¢g d¢g d¢g}t        ||d¬«       y )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_featuresr_  Ñ  s•   € â	Ò+Ò-=Ð>€Aä‹^€FØ×"Ñ" 1Ó%€Gò #Ò$4Ò6FÐG€JÜ˜g zÔ2Ø×*Ñ*¨7Ó3€KÜ˜a Ô-ò Ò/Ò1AÐB€EØ×"Ñ" 5Ó)€KÚ'Ò)>Ò@UÐV€NÜ˜k¨>À1ÖErG   c                  ó8  — t         j                  j                  d«      } | j                  dd«      }t        j                  |t        j
                  d«      dz  t        j
                  d«      dz  g«      }d}t        |d¬	«      j                  |«      }|j                  |«      }|j                  t        j                  d
d¬«      k(  sJ ‚|j                  t        j                  dd¬«      k(  sJ ‚|j                  «       t        j                  dd¬«      k(  sJ ‚y )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^   rL  r³   r¶   )r\   rf   ÚX_with_outliersrñ  Úrobust_scalerr~  s         rF   Ú test_robust_scaler_unit_variancerg  ê  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                 ó4  — g d¢g d¢g d¢g d¢g}t        «       }|j                  |«      }g d¢g d¢g d¢g d¢g}t        ||«       |j                  |«      }t        ||«       g d¢g d	¢g d¢g}|j	                  |«      }g d
¢g d	¢g d¢g}t        ||d¬«       t        |«      }t        ||«        | |«      }	|j                  |	«      }
g d¢g d¢g d¢g d¢g}t        |
j                  «       |«       |j                  |
«      }t        ||j                  «       «       y )Nr‚  )r«   rr   ç333333Ó¿r‰  rŠ  )r«   rr   çUUUUUUÕ?)r«   rr   gš™™™™™É¿)r«   rr   rr   r†  r‡  )r«   rq   rj  rW   r  )r   r  r,   r¸   r‡   r   rB   )r¼   rf   rh   r~  r  r  r�  r�  r^  r›  r±  ÚX_trans_sparse_invs               rF   Ú)test_maxabs_scaler_zero_variance_featuresrl  ü  s  € ò 
Ò+Ò-=Ò?OÐP€Aä‹^€FØ×"Ñ" 1Ó%€GâÚÚÚð	€Jô ˜g zÔ2Ø×*Ñ*¨7Ó3€KÜ˜a Ô-ò Ò/Ò1AÐB€EØ×"Ñ" 5Ó)€KÚ,Ò.>Ò@PÐQ€Nä˜k¨>À1ÕEô ˜1‹o€GÜ˜g zÔ2ñ   Ó"€HØ×)Ñ)¨(Ó3€NâÚÚÚð	€Jô ˜n×4Ñ4Ó6¸
ÔCØ×1Ñ1°.ÓAÐÜ˜aÐ!3×!;Ñ!;Ó!=Õ>rG   c                  óŠ   — g d¢g d¢g d¢g d¢g} t        «       }|j                  | «      }g d¢g d¢g d¢g d¢g}t        ||«       y )	N)r«   rr   rƒ  rˆ  )r«   rr   ri  ry  )r«   rr   g      YÀr«   )r«   r«   r«   g       À)r«   rr   g{®Gázt?ry  )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_valuern  &  sO   € ò 	ÚÚÚð		€Aô ‹^€FØ×"Ñ" 1Ó%€GâÚ!ÚÚð	€Jô ˜g zÕ2rG   c                 óJ  —  | g d¢g«      }t        «       }|j                  |«      }|j                  |«      } | g d¢g«      }t        |j	                  «       |j	                  «       «       |j                  |«      }t        |j	                  «       |j	                  «       «       y )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_csrrp  :  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                  ó  — t         t        t        t        fD �]  } t        d¬«      }|j	                  | «      j                  | «      }t        | t        «      rt        j                  | «      } t        | «      dk(  rGt        t        j                  |j                  d¬«      «      t        j                  t        «      «       n/t        t        j                  |j                  d¬«      «      d«       |j                   | j"                  d   k(  sJ ‚|j%                  |«      }t        || «       �Œ t        j                  d«      } t        «       }|j	                  | «      j                  | «      }t        t        j                  |j                  d¬«      «      d«       |j                   | j"                  d   k(  sJ ‚t         j'                  «       }t        j                  |«      j                  «       }t        ||z  t)        |d¬«      «       y )NTr�   r=   r   r©   rr   r¬   )r­   r®   r¯   r   ra   r‡   r°   r±   rI   rt   rL   r,   rÛ  ra  r„   re   r·   rK   r¸   r²   r   )rf   rh   r¹   rº   r–  Úmax_abss         rF   Útest_maxabs_scaler_1drs  G  s}  € ä”fœk¬;Ð7ó 4ˆÜ 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ð4ô$ 	�‰�‹€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 W™n¬l¸4ÀdÔ.KÕLrG   c           
      ó˜  — t         d d…d d …f   }|j                  d   }ddd||dz   fD �]  }t        «       j                  |«      }t        «       }t        «       }t        «       }t	        ||«      D ]N  }|j                  ||   «      } | ||   «      }	|j                  |	«      } | ||   «      }
|j                  |
«      }ŒP t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       |j                  |j                  k(  sJ ‚|j                  |j                  k(  sJ ‚|j                  |j                  k(  sJ ‚t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |«      |j                  |«      «       t        d|«      }t        «       j                  ||   «      }t        «       j                  ||   «      }t        |j                  |j                  «       |j                  |j                  k(  sJ ‚t        |j                  |j                  «       t        |j                  |«      |j                  |«      «       t        «       j                  |«      }t        «       }t        t	        ||«      «      D ]H  \  }}|j                  ||   «      }t        ||j                  |j                  |||j                  ¬«       ŒJ �Œ! y )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  rQ  ÚX_cscr3  rO   s                rF   Útest_maxabs_scaler_partial_fitry  g  sÜ  € ô 	ˆTˆcˆT’1ˆW‰€AØ	�‰�‰
€Aà˜!˜R  A¨¡FÐ+ó /ˆ
ä#“~×)Ñ)¨!Ó,ˆä"“nˆÜ&›.ˆÜ&›.ˆÜ   JÓ/ò 	AˆEØ%×1Ñ1°!°E±(Ó;ˆKÙ! ! E¡(Ó+ˆEØ-×9Ñ9¸%Ó@ˆOÙ! ! E¡(Ó+ˆEØ-×9Ñ9¸%Ó@‰Oð	Aô 	" ,×"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˜*Ó%ˆÜ#“~×)Ñ)¨!¨F©)Ó4ˆÜ"“n×0Ñ0°°6±Ó;ˆä! ,×"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ˆuØ%×1Ñ1°!°E±(Ó;ˆKÜØØ!ŸK™KØ Ÿ:™:ØØ%Ø*×:Ñ:öò		ñM/rG   c                 ó  — | dk(  rTt        j                  |«      j                  d¬«      }t        d«      D ]  }t	        ||   d«       Œ t	        |d   d«       y	| dk(  rUt        d«      D ]$  }t	        t        j                  ||   «      d«       Œ& t	        t        j                  |d   «      d«       y	| dk(  rJt        |«      j                  d¬«      }t        d«      D ]  }t	        ||   d«       Œ t	        |d   d«       y	y	)
zr
    Convenient checking function for `test_normalizer_l1_l2_max` and
    `test_normalizer_l1_l2_max_non_csr`
    r]  r=   r©   rX   rr   r«   r`  ra  N)rI   rÛ  rK  rá   r+   Úlar_  ra  )r_  ÚX_normÚrow_sumsrO   Úrow_maxss        rF   Úcheck_normalizerr     sì   € ð
 ˆt‚|Ü—6‘6˜&“>×%Ñ%¨1Ð%Ó-ˆÜ�q“ò 	2ˆAÜ ¨¡¨SÕ1ð	2ä˜H Q™K¨Õ-Ø	�ŠÜ�q“ò 	9ˆAÜ¤§¡¨¨q©	Ó 2°CÕ8ð	9äœBŸG™G F¨1¡IÓ.°Õ4Ø	�ŠÜ�v“;—?‘?¨�?Ó*ˆÜ�q“ò 	2ˆAÜ ¨¡¨SÕ1ð	2ä˜H Q™K¨Õ-ð	 
rG   r_  ©r]  r`  ra  c                 óì  — t         j                  j                  d«      }|j                  dd«      } ||«      }d|dd d …f<   |j                  d   }|j                  d   }d|j
                  ||  ||«      }|||fD ]u  }t        | d¬«      }	|	j                  |«      }
|
|usJ ‚t        |
«      }
t        | d¬«      }	|	j                  |«      }||u sJ ‚t        |«      }|
|fD ]  }t        | |«       Œ Œw y )	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 HÐ-ñ $ GÓ,€Oð �Ð(9Ð:ò +ˆÜ T°Ô5ˆ
Ø×&Ñ& qÓ)ˆØ˜aÑÐÐÜ˜'Ó"ˆä T°Ô6ˆ
Ø×&Ñ& qÓ)ˆØ˜!‰|Ðˆ|Ü˜'Ó"ˆà Ð(ò 	+ˆFÜ˜T 6Õ*ñ	+ñ+rG   c                 óF  — t         j                  j                  d«      }|j                  dd«      }d|dd d …f<    ||«      }t	        | d¬«      j                  |«      }||usJ ‚t        j                  |«      r|j                  dk(  sJ ‚t        |«      }t        | |«       y )	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˜6Õ"rG   c           	      óô  — t         j                  j                  d«      }|j                  dd«      }d|dd d …f<   |dt	        |dd d …f   «      j                  «       fxx   dz  cc<   t        j                  |«       } | |«      }|||fD ]k  }t        d¬	«      }|j                  |«      }||usJ ‚t        |«      }t        t        j                  |«      t        j                  t        |«      «      «       Œm y )
Nr   rn   ro   r«   rX   rW   r<   ra  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Ó/Ðà�yÐ"2Ð3ò AˆÜ UÔ+ˆ
Ø×%Ñ% aÓ(ˆØ˜Q‰ÐˆÜ˜“ˆÜœ2Ÿ7™7 6›?¬B¯G©G´G¸A³JÓ,?Õ@ñArG   c                 ó*  — t         j                  j                  d«      j                  dd«      }t	        t        |d¬«      t        |j                  dd¬«      j                  «       t         j                  j                  d«      }|j                  dd	«      } | |«      }t        j                  d«      }||fD ]¶  }t         j                  t         j                  fD ]‘  }d
D ]Š  }|j                  |«      }t        ||¬«      }|j                  |k(  sJ ‚t        |«      }|dk(  r&t        j                  |«      j                  d¬«      }	n|dz  }
|
j                  d¬«      }	t        |	|«       ŒŒ Œ“ Œ¸ t        j                   g d¢g d¢g d¢g«      }dD ]‚  }t        ||d¬«      \  }}|dk(  r"t        |t        j                   g d¢«      «       Œ;|dk(  r"t        |t        j                   g d¢«      «       Œbt        |t        j                   g d¢«      «       Œ„  | |«      }d
D ]2  }t#        j$                  t&        «      5  t        ||d¬«       d d d «       Œ4 t        |dd¬«      \  }}t        |t        j                   g d¢«      «       y # 1 sw Y   ŒqxY w)Né%   rX   rW   Fr�   r   )rª   rŽ   r@   ro   )r]  r`  r^  r]  r=   r©   )ró   r   r3  )rr   r«   r«   )rq   ró   r«   r€  T)r_  Úreturn_norm)ç      @rr   rô   r`  )rô   rr   g1œ¥C+Ø@)r3  rr   ró   ra  )rI   r¿   rÀ   r]   r-   r   r  r„   rÂ   rÁ   r–   rÄ   rB   rÛ  rK  r,   rt   r^   r_   ÚNotImplementedError)rÏ  rf   Úrsr­  r›  r„   rÄ   r_  r|  r}  ÚX_norm_squaredÚ_Únormss                rF   Útest_normalizerž    s5  € ô 	�	‰	×Ñ˜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Ø�xÐ ò :ˆÜ—j‘j¤"§*¡*Ð-ò 	:ˆEØ$ò :�Ø—H‘H˜U“O�Ü" 1¨4Ô0�Ø—|‘| uÒ,Ð,Ð,ä  ›�Ø˜4’<Ü!Ÿv™v f›~×1Ñ1°qÐ1Ó9‘Hà%+¨Q¡Y�NØ-×1Ñ1°qÐ1Ó9�Hä)¨(°DÕ9ñ:ñ	:ð:ô" �h‰hš¢ºÐHÓI€GØ#ò HˆÜ˜W¨4¸TÔB‰ˆˆ5Ø�4Š<Ü% e¬R¯X©X²oÓ-FÕGØ�TŠ\Ü% e¬R¯X©XÒ6LÓ-MÕNä% e¬R¯X©X²oÓ-FÕGðHñ ˜WÓ%€HØò =ˆÜ�]‰]Ô.Ó/ñ 	=Ü�h T°tÕ<÷	=ð 	=ð=ô ˜¨¸4Ô@�H€A€uÜ˜e¤R§X¡XªoÓ%>Õ?÷	=ð 	=ús   È=J	Ê	J	Úconstructorc                 óÆ  — t        j                  g d¢g d¢g«      } | |j                  «       «      }t        dd¬«      }t	        |j                  |«      «      }t        j                  |dk(  «      dk(  sJ ‚t        j                  |dk(  «      d	k(  sJ ‚|j                  |«      }t        j                  |«      t        j                  |«      k(  sJ ‚t        d¬
«      j                  |«      }t	        |j                  |«      «      }||usJ ‚t        j                  |dk(  «      d	k(  sJ ‚t        j                  |dk(  «      dk(  sJ ‚t        d¬
«      }|j                  |«      }||usJ ‚t	        |«      }t        j                  |dk(  «      d	k(  sJ ‚t        j                  |dk(  «      dk(  sJ ‚t        d¬
«      }|j                  |«      }| t        ur||u sJ ‚t        d¬
«      }t        j                  g d¢g d¢gt         j                  ¬«      }|j                  |«      }| t        ur||u sJ ‚t	        |«      }t        j                  |dk(  «      d	k(  sJ ‚t        j                  |dk(  «      dk(  sJ ‚t        dd¬«      }| t         j                  t        fv r{ | |j                  «       «      }t	        |j                  |«      «      }t        j                  |dk(  «      dk(  sJ ‚t        j                  |dk(  «      dk(  sJ ‚|j                  |«      }| t        v r:t        j                  t        «      5  |j                   | |«      «       d d d «       y y # 1 sw Y   y xY w)N)r=   r   ro   )rW   rX   r<   rq   T)Ú	thresholdrŽ   r   rn   r=   rW   r�   Frà   ry  ro   )rI   rt   rŽ   r   rB   r‡   rK  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Ñ$Ü�]‰]œ:Ó&ñ 	0Ø×Ñ¡¨A£Ô/÷	0ð 	0ð %÷	0ð 	0ús   Ì5MÍM c                 óž  — t        | ||«      \  }}|ddfD ]©  }t        j                  t        j                  g d¢|¬«      d«      }|j                  ||¬«      }t	        d¬«      j                  |«      }t        d	¬
«      5  t	        d¬«      j                  |«      }	d d d «       t        t        	t        d¬«      |«       Œ« y # 1 sw Y   Œ(xY w)NrV  rl  )r   r=   rW   rX   rn   rà   )r<   r=   r�   r€   )r¡  Tr‘   r“   r”   )	r'   rI   r;  rJ   r   r  r   r-   r%   )
rd  r˜   r™   r•   r�   Údtype_name_rm  rš   Úbinarized_npÚbinarized_xps
             rF   Útest_binarizer_array_api_intr«  h  s¹   € ô & o°{ÀJÓO�J€BˆØ" G¨WÐ5ò UˆÜ�z‰zœ"Ÿ*™*¢_¸KÔHÈ'ÓRˆØ�z‰z˜$ vˆzÓ.ˆÜ ¨3Ô/×=Ñ=¸dÓCˆÜ¨tÔ4ñ 	HÜ$¨sÔ3×AÑAÀ$ÓGˆL÷	Häœ7 <´B¸uÔEÀ|ÕTñU÷	Hð 	Hús   Â CÃC	c                  ó¬  — t         j                  j                  d«      } | j                  d«      }t	        d¬«      }|j                  |«       |j                  |«      }t        j                  ||j                  «      }t        «       }t        j                  ||j                  «      }|j                  |«      }t        ||«       | j                  d«      }t        j                  ||j                  «      }	|j                  |«      }
t        j                  |
|j                  «      }|j                  |	«      }t        ||«       t        j                  |«      |j                  d   z  }|||z  z
  ||z  z
  ||z  |z  z   }t        ||«       t        j                  |	«      |j                  d   z  }|	||z  z
  |	|z  z
  ||z  |z  z   }t        ||«       y )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À  x  s¦  € ô �)‰)×
Ñ
 Ó
"€CØ×Ñ˜fÓ%€EÜ UÔ+€FØ
‡J�JˆuÔØ×%Ñ% eÓ,€NÜ�F‰F�5˜%Ÿ'™'Ó"€Eô Ó€HÜ—V‘V˜N¨N×,<Ñ,<Ó=€NØ×,Ñ,¨UÓ3€OÜ˜n¨oÔ>ð ×Ñ˜vÓ&€FÜ�V‰V�F˜EŸG™GÓ$€FØ×&Ñ& vÓ.€OÜ—f‘f˜_¨n×.>Ñ.>Ó?€OØ×)Ñ)¨&Ó1ÐÜ˜oÐ/?Ô@ô �\‰\˜%Ó  5§;¡;¨q¡>Ñ1€FØ˜f u™nÑ,¨u°v©~Ñ=ÀÈÁÐQWÑ@WÑW€OÜ�N OÔ4ô —<‘< Ó'¨%¯+©+°a©.Ñ8€Là� Ñ%Ñ%¨°©Ñ7¸,ÈÑ:NÐQWÑ:WÑWð ô �OÐ%5Õ6rG   c                  ó‚  — t         j                  j                  d«      } | j                  dd«      | j                  dd«      }}d„ } ||«      } ||«      }t	        d¬«      }|j                  |«      }|j                  |«      }||j                  z  }	||j                  z  }
||j                  z  }||j                  z  }t        «       }|j                  |	«       t        |j                  |	«      |«       t        |j                  |
«      |«       t        j                  |	«      |	j                  d   z  }|	||	z  z
  |	|z  z
  ||	z  |z  z   }t        |j                  |	«      |«       t        j                  |
«      |	j                  d   z  }|
||	z  z
  |
|z  z
  ||	z  |z  z   }t        |j                  |
«      |«       y)	z-Check kernel centering for non-linear kernel.r   rÌ   r"  r´  c                 óŠ   — t        j                  t        j                  | dd¬«      t        j                  | dd¬«       g«      S )zOur mapping function phi.r   N)Úa_minÚa_max)rI   rd  r\  rÃ  s    rF   Úphiz2test_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€Aò
ñ �‹F€EÙ�V“€Jô  UÔ+€FØ×'Ñ'¨Ó.€LØ×(Ñ(¨Ó4Ðð 	�—‘‰€AØ˜%Ÿ'™'Ñ!€FØ˜lŸn™nÑ,€HØ%¨¯©Ñ6€Mä$Ó&€OØ×Ñ˜Ôä�O×-Ñ-¨aÓ0°(Ô;Ü�O×-Ñ-¨fÓ5°}ÔEô �\‰\˜!‹_˜qŸw™w q™zÑ)€FØ�V˜a‘Z‘ ! f¡*Ñ,¨v¸©z¸FÑ/BÑB€JÜ�O×-Ñ-¨aÓ0°*Ô=ô —<‘< Ó'¨!¯'©'°!©*Ñ4€Là� Ñ!Ñ! F¨V¡OÑ3°lÀQÑ6FÈÑ6OÑOð ô �O×-Ñ-¨fÓ5°ÕGrG   c                  ón  — t        j                  g d¢g d¢g d¢g d¢g«      } t        j                  d«      }| j                  | j                  «      }t        «       }t        d|fdt        «       fg«      }|j                  «       j                  j                  sJ ‚t        |||d¬	«      }t        ||«       y )
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 fÕ-rG   c                  ó"  — t         j                  j                  d«      } | j                  d«      }t	        «       t        «       t        «       fD ]?  }|j                  |«      j                  |«      }|j                  |«      }t        ||«       ŒA y )Nr   r­  )rI   r¿   rÀ   r®  r   r   r   ra   r‡   r  r-   )r\   rf   ÚobjÚX_transformedÚX_transformed2s        rF   Útest_fit_transformrá  î  su   € Ü
�)‰)×
Ñ
 Ó
"€CØ×Ñ˜&Ó!€AÜÓ ¤*£,´	³Ð<ò :ˆØŸ™ ›
×,Ñ,¨QÓ/ˆØ×*Ñ*¨1Ó-ˆÜ˜=¨.Õ9ñ:rG   c                  óZ   — ddgddgddgg} t        | «      } t        | g d¢g d¢g d¢g«       y ©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                 óð   —  | ddgddgddgg«      }|j                   }t        |«      }t        j                  |«      r|j                   |k(  sJ |«       ‚t	        |j                  «       g d¢g d¢g d¢g«       y rã  )r!  r   r   r¤  r-   rB   )r¼   rf   Údesired_formats      rF   Útest_add_dummy_feature_sparserç  ý  sm   € ñ 	˜1˜a˜& 1 a &¨1¨a¨&Ð1Ó2€AØ—X‘X€NÜ˜!Ó€AÜ�?‰?˜1Ô !§(¡(¨nÒ"<Ð?¸aÓ?Ð<Ü�q—y‘y“{¢Y²	º9Ð$EÕFrG   c                  óÌ   — t         j                  } | d d …d d…f   }t        dd¬«      t        «       t	        «       g}|D ]$  }|j                  | «       |j                  |«       Œ& y )NrW   Frõ   )r{  r|  r   r   r   r  )rf   r%  Úscalersrh   s       rF   Útest_fit_cold_startrê  	  sh   € Ü�	‰	€AØŠQ���ˆU‰8€Dô 	 °Ô7Ü‹Ü‹ð€Gð ò #ˆØ×Ñ˜QÔð 	×Ñ˜TÕ"ñ	#rG   Úmethodúbox-coxúyeo-johnsonc                 óJ  — t        | ¬«      }t        j                  t        «      }t	        j
                  t        «      5  |j                  |«       d d d «       t	        j
                  t        «      5  |j                  |«       d d d «       y # 1 sw Y   Œ=xY w# 1 sw Y   y xY w)N©rë  )	r   rI   rÛ  r®   r^   r_   r
   r‡   r¸   )rë  Úptrf   s      rF   Ú test_power_transformer_notfittedrñ  	  sy   € ä	 Ô	(€BÜ
�‰Œv‹€AÜ	�‰”~Ó	&ñ Ø
�‰�QŒ÷ä	�‰”~Ó	&ñ  Ø
×Ñ˜QÔ÷ ð  ÷ð ú÷ ð  ús   ¿BÁ2BÂBÂB"Ústandardizec                 ó®   — | dk(  rt        j                  |«      n|}t        | |¬«      }|j                  |«      }t	        ||j                  |«      «       y )Nrì  ©rë  rò  )rI   rÛ  r   r  r+   r¸   )rë  rò  rf   rð  r~  s        rF   Útest_power_transformer_inverserõ  $	  sK   € ð ˜yÒ(Œ�‰ˆqŒ	¨a€AÜ	 °[Ô	A€BØ×Ñ˜qÓ!€GÜ˜˜2×/Ñ/°Ó8Õ9rG   c                  óx  — t        j                  t        «      } dD �]  }t        d|¬«      }|j	                  | «      }t        | d|¬«      }t        j                  | j                  «       «      \  }}|rt        |«      }t        |j                  dd«      |«       t        |j                  dd«      |«       t        | |j                  |«      «       t        ||j                  d   «       t        |j                  «      | j                  d   k(  sJ ‚t!        |j                  t         j"                  «      r�ŒJ ‚ y )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ý  0	  sú   € Ü
�‰Œv‹€Aà$ó 3ˆÜ Y¸KÔHˆà×"Ñ" 1Ó%ˆÜ& q°ÈÔTˆä&+§l¡l°1·9±9³;Ó&?Ñ#ˆ
�OáÜ˜zÓ*ˆJä˜J×.Ñ.¨r°1Ó5°wÔ?Ü˜J×.Ñ.¨r°1Ó5°|ÔDä˜A˜r×3Ñ3°GÓ<Ô=Ü˜O¨R¯[©[¸©^Ô<ä�2—;‘;Ó 1§7¡7¨1¡:Ò-Ð-Ð-Ü˜"Ÿ+™+¤r§z¡zÖ2Ð2Ð2ñ%3rG   c                  óŒ  — t        j                  t        «      } dD �]%  }t        d|¬«      }|j	                  | «      }t        | d|¬«      }||fD ]¢  }t        |j                  d   «      D ]h  }t        j                  | d d …|f   j                  «       «      \  }}|rt        |«      }t        |d d …|f   |«       t        ||j                  |   «       Œj |j                  |«      }	t        |	| «       Œ¤ t!        |j                  «      | j                  d   k(  sJ ‚t#        |j                  t         j$                  «      r�Œ&J ‚ y )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  H	  s!  € Ü
�‰Œt‹€Aà$ó 3ˆÜ Y¸KÔHˆà×(Ñ(¨Ó+ˆÜ& q°ÈÔTˆà% |Ð4ò 	0ˆGÜ˜7Ÿ=™=¨Ñ+Ó,ò ;�Ü$)§L¡L°²1°a°4±·±Ó1BÓ$CÑ!�
˜EáÜ!& zÓ!2�Jä# GªA¨q¨D¡M°:Ô>Ü# E¨2¯;©;°q©>Õ:ð;ð ×(Ñ(¨Ó1ˆEÜ% e¨QÕ/ð	0ô �2—;‘;Ó 1§7¡7¨1¡:Ò-Ð-Ð-Ü˜"Ÿ+™+¤r§z¡zÖ2Ð2Ð2ñ+3rG   c                  óD  — t        d¬«      } | j                  t        j                  t        «      «       t        }d}t        j                  t        |¬«      5  | j                  |«       d d d «       t        j                  t        |¬«      5  | j                  |«       d d d «       t        j                  t        |¬«      5  t        |d¬«       d d d «       t        j                  t        |¬«      5  | j                  t        j                  t        j                  «      «       d d d «       t        j                  t        |¬«      5  | j                  t        j                  t        j                  «      «       d d d «       t        j                  t        |¬«      5  t        t        j                  t        j                  «      d¬«       d d d «       y # 1 sw Y   �ŒoxY w# 1 sw Y   �ŒGxY w# 1 sw Y   �Œ#xY w# 1 sw Y   ŒÙxY w# 1 sw Y   Œ�xY w# 1 sw Y   y xY w)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  c	  sˆ  € ô 
 Ô	+€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$ÃG1Ã33G>Å	3H
Æ/HÇG!Ç$G.Ç1G;Ç>HÈ
HÈHc                 ó   — t        | d¬«       y )Nrí  rï  )r   rÃ  s    rF   Ú+test_power_transformer_yeojohnson_any_inputr	  	  s   € ô �A˜mÖ,rG   c                 óœ  — t        | ¬«      }t        j                  t        «      }|j	                  |«       d}t        j                  t        |¬«      5  |j                  |d d …dd…f   «       d d d «       t        j                  t        |¬«      5  |j                  |d d …dd…f   «       d d d «       y # 1 sw Y   ŒHxY w# 1 sw Y   y xY w)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   ÁB6ÂCÂ6B?ÃCc                  ó  — t        j                  t        «      d d …dd…f   } t        dd¬«      j	                  | «      }t        j
                  dg«      |_        |j                  | «      }t        |j                  |«      | «       y )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                  óÒ   — t        dd¬«      } t        j                  t        «      d d …dd…f   }t        j                  dg«      | _        | j                  |«      }t        ||«       y )Nrí  Frô  r   r=   )r   rI   rÛ  r%  rt   rú  r‡   r,   )rð  rf   r~  s      rF   Ú!test_power_transformer_lambda_oner  ¢	  sP   € ä	 ¸EÔ	B€BÜ
�‰Œt‹’Q˜˜!˜�VÑ€Aä—(‘(˜A˜3“-€B„KØ�l‰l˜1‹o€GÜ˜g qÕ)rG   zmethod, lmbda))rì  rÕ  )rì  rƒ  )rí  rÕ  )rí  rƒ  )rí  rr   c                 óT  — t         j                  j                  d«      }d}|j                  dd|df¬«      }| dk(  rt        j                  |d|z  dz   d «      }t        | d¬	«      j                  t        j                  |«      «      }|g|_        |j                  |«      }t        | d¬	«      }|j                  |«      }t        dt         j                  j                  ||z
  «      |z  d
¬«       t        d|j                  «       d¬«       t        d|j                  «       d¬«       y )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Ÿ>™>¨!¨k©/Ó:¸YÑFÐPQÕRÜ˜˜;×+Ñ+Ó-°qÕ9Ü˜˜;Ÿ?™?Ó,°aÖ8rG   c                  ó¨   — t        dd¬«      j                  dgdgg«      } dg| _        | j                  dgg«      }t	        j
                  |«      sJ ‚y )Nrì  Frô  rr   rq   rƒ  gÍÌÌÌÌÌ À)r   ra   rú  r¸   rI   r  )rð  r  s     rF   Útest_invserse_box_coxr  Ò	  sN   € ä	 ¸Ô	>×	BÑ	BÀSÀEÈCÈ5À>Ó	R€BØ�%€B„KØ× Ñ  4 & Ó*€EÜ�8‰8�EŒ?Ð‰?rG   c                  óÔ   — g d¢} t        j                  | «      j                  dd«      } t        d¬«      j	                  | «      j
                  }t        j                  |dd¬«      sJ ‚y )	N)gffffff@gÍÌÌÌÌÌ Àrr   rq   gffffffæ?g333333@r�   gffffff@gÍÌÌÌÌÌü?gÍÌÌÌÌÌ@r˜  ró   gš™™™™™"@g      @g      Àr<   r=   rí  rï  gáz®Gáô?rc  rÏ   )rI   rt   r;  r   ra   rú  Úallclose)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                 óü  — t        j                  t        «      }t        | ¬«      }|j	                  |«       |j
                  d   }t        j                  |t        j                  |t         j                  «      g«      }t        |d¬«      }|j	                  |«       |j
                  d   }t        ||d¬«       |j                  |«      }t        t        j                  |«      t        j                  |«      «       y )Nrï  r   )r  ro   r  )rI   rÛ  r®   r   ra   rú  ÚconcatenateÚ	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ä˜ z¸1Õ=à�l‰l˜1‹o€GÜ”r—x‘x Ó(¬"¯(©(°1«+Õ6rG   c                 óÐ   — t         }| dk(  rt        j                  |«      }t        | |¬«      }t	        |j                  |«      j                  |«      |j                  |«      «       y )Nrì  )rò  )r®   rI   rÛ  r   r,   ra   r‡   r  )rë  rò  rf   rð  s       rF   Ú$test_power_transformer_fit_transformr"  ú	  sR   € ô 	€AØ�ÒÜ�F‰F�1‹Iˆä	˜&¨kÔ	:€BÜ˜bŸf™f Q›i×1Ñ1°!Ó4°b×6FÑ6FÀqÓ6IÕJrG   c                 ó€  — t         }| dk(  rt        j                  |«      }|j                  «       }||usJ ‚t	        ||«       t        | |d¬«      }|j                  |«       t	        ||«       |j                  |«      }||usJ ‚|j                  |«      }t	        ||«       ||usJ ‚|j                  |«      }||usJ ‚y )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_Truer'  
  sÅ   € ô
 	€AØ�ÒÜ�F‰F�1‹Iˆà—‘“€JØ�JÑÐÐÜ˜a Ô,ä	˜&¨kÀÔ	E€Bà‡F�Fˆ1„IÜ˜a Ô,Ø�l‰l˜1‹o€GØ˜!ÑÐÐà×Ñ˜qÓ!€GÜ˜a Ô,Ø˜!ÑÐÐà×&Ñ& wÓ/€KØ˜+Ñ%Ð%Ñ%rG   c                 ó¸  — t         j                  «       }| dk(  rt        j                  |«      }|j                  «       }||usJ ‚t	        ||«       t        | |d¬«      }|j                  |«       t	        ||«       |j                  |«      }||u sJ ‚| dk(  rt        j                  |«      }|j                  |«      }||u sJ ‚|j                  |«      }||u sJ ‚y )Nrì  Fr$  )
r®   rŽ   rI   rÛ  r,   r   ra   r‡   r  r¸   r%  s          rF   Ú!test_power_transformer_copy_Falser)  "
  sÒ   € ô
 	�‰‹€AØ�ÒÜ�F‰F�1‹Iˆà—‘“€JØ�JÑÐÐÜ˜a Ô,ä	˜&¨kÀÔ	F€Bà‡F�Fˆ1„IÜ˜a Ô,à�l‰l˜1‹o€GØ�a‰<Ðˆ<à�ÒÜ�F‰F�1‹IˆØ×Ñ˜qÓ!€GØ�a‰<Ðˆ<à×&Ñ& wÓ/€KØ�kÑ!Ð!Ñ!rG   c                  óú   — t         j                  d«      } t        j                  | dd…df<   d}t	        d¬«      }t        j                  t        |¬«      5  |j                  | «       ddd«       y# 1 sw Y   yxY w)zqCheck 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_colr+  @
  se   € ô
 	×Ñ˜&Ó!€AÜ�f‰f€A‚aˆ€d�Gà+€Gä	 Ô	+€BÜ	�‰”z¨Ô	1ñ Ø
×Ñ˜Ô÷÷ ñ ús   ÁA1Á1A:rC  )r@   r=   çš™™™™™é?)rÊ  r\   )rÍ   c                 ó¾   — t        dd¬«      }t        d¬«      }|j                  |«      j                  | «       t	        j
                  |j                  d   «      sJ ‚y )Nr¬   r,  rÉ  Fr|   r   )r7   r   ra   r&  rI   r  r†   )rC  rB  rh   s      rF   Ú7test_standard_scaler_sparse_partial_fit_finite_variancer.  O
  sJ   € ô ˜v¨sÔ
3€CÜ eÔ,€FØ
‡J�JˆsƒO×Ñ Ô$Ü�;‰;�v—{‘{ 1‘~Ô&Ð&Ñ&rG   rx  )r   r=   )r<  r@   c                 óX  — t         j                  }t        | d¬«      j                  |«      }t	        j
                  |d¬«      t	        j                  |d¬«      }}t        j                  |d d dz
  |dd  dz   f   g}|j                  |«      }t        || d   | d   | d   | d   gg«       y )NT)rx  r\  r   r©   rW   r@   r=   )
r{  r|  r   ra   rI   r}  ra  Úr_r‡   r)   )rx  rf   rh   ÚX_minÚX_maxrŠ   rß  s          rF   Útest_minmax_scaler_clipr3  `
  s­   € ô 	�	‰	€AÜ¨¸DÔA×EÑEÀaÓH€Fô —6‘6˜! !Ô$¤b§f¡f¨Q°QÔ&7ˆ5€EÜ�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                 óÄ  —  | t         j                  «      }t        j                  |«      }t	        d¬«      j                  |«      }t        j                  t        j                  |«      d¬«      }|r|j                  n|} | t        j                  |d d dz   |dd   dz
  f«      j                  dd«      «      }|j                  |«      }t        | | g d	¢g«      «       y )
NTr[  r   r©   rW   r@   r=   r<   )r=   r=   r<   r<   )r{  r|  r   r¤  r   ra   rI   ra  rÛ  Úhstackr;  r‡   r*   )r4  rf   Ú	is_sparserh   rr  rŠ   rß  s          rF   Útest_maxabs_scaler_clipr8  p
  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                  óÚ   — t        «       j                  t        «      } d}t        j                  t
        |¬«      5  | j                  t        dd…df   «       ddd«       y# 1 sw Y   yxY w)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_inputr:  ƒ
  sU   € ô Ó×!Ñ!¤$Ó'€FØ7€GÜ	�‰”z¨Ô	1ñ -Ø× Ñ ¤¢a¨ d¡Ô,÷-÷ -ñ -ús   »A!Á!A*c                  óŒ  — dt        j                  g d¢dz  g d¢z   t         j                  ¬«      j                  dd«      z  } t	        «       }t        j                  «       5  t        j                  dt        «       |j                  | «      }d	d	d	«       t        j                  t        j                  «      «      rJ ‚|j                  «       t        j                  d
«      k(  sJ ‚|j                  «       t        j                  d«      k(  sJ ‚|j!                  «       dkD  sJ ‚|j#                  «       dk  sJ ‚y	# 1 sw Y   Œ®xY w)a  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  )rz  rq   ró   r3  rn   )r  é   r<  é   é   r´  éU   rï  rà   r<   r=   rý   Nr«   rr   r  rW   )rI   rt   rÁ   r;  r   r  r  r  ÚRuntimeWarningr  rå   r  r´   r^   rL  r¶   r}  ra  )ÚX_non_gaussianrð  r~  s      rF   Ú1test_power_transformer_significantly_non_gaussianrB  �
  s  € ð œ2Ÿ8™8Ú˜qÑ Ò#CÑCÌ2Ï:É:ôç�gˆb�!ƒnñ€Nô 
Ó	€Bä	×	 Ñ	 Ó	"ñ 3Ü×Ñ˜g¤~Ô6Ø×"Ñ" >Ó2ˆ÷3ô �v‰v”b—h‘h˜wÓ'Ô(Ð(Ð(Ø�<‰<‹>œVŸ]™]¨3Ó/Ò/Ð/Ð/Ø�;‰;‹=œFŸM™M¨#Ó.Ò.Ð.Ð.Ø�;‰;‹=˜2ÒÐÐØ�;‰;‹=˜1ÒÐÑ÷3ð 3ús   Á!,D:Ä:EÚTransformerc                 ó¾   —  | «       j                  t        j                  «      }|j                  t        j                  «      }t        |t        j                  «       y)ú9Check one-to-one transformers give correct feature names.N)ra   r{  r|  Úget_feature_names_outÚfeature_namesr-   )rC  ÚtrÚ	names_outs      rF   Útest_one_to_one_featuresrJ  §
  s@   € ñ 
‹×	Ñ	œ4Ÿ9™9Ó	%€BØ×(Ñ(¬×);Ñ);Ó<€IÜ�y¤$×"4Ñ"4Õ5rG   c                 ó@  — t        j                  d«      }|j                  t        j                  t        j
                  ¬«      } | «       j                  |«      }|j                  «       }t        |t        j
                  «       |j                  t        j
                  «      }t        |t        j
                  «       t        j                  d«      }t        j                  t        |¬«      5  t        d«      }|j                  |«       ddd«       y# 1 sw Y   yxY w)rE  Úpandas)Úcolumnsz0input_features is not equal to feature_names_in_rþ   ÚabcdN)r^   ÚimportorskipÚ	DataFramer{  r|  rG  ra   rF  r-   ÚreÚescaper_   r`   r±   )rC  ÚpdÚdfrH  Únames_out_df_defaultÚnames_out_df_valid_inÚmsgÚinvalid_namess           rF   Útest_one_to_one_features_pandasrY  ¹
  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¨Ô	-ñ 0Ü˜V›ˆØ
× Ñ  Ô/÷0÷ 0ñ 0ús   Ã.DÄDc                  ó@  — t         j                  j                  d«      } | j                  d«      }t	        |«      }t        «       j                  |«      }|j                  «       }|j                  d   }t        |t        |«      D �cg c]  }d|› �‘Œ	 c}«       yc c}w )z.Test that kernel centerer `feature_names_out`.r   )rp   rn   r=   ÚkernelcentererN)rI   r¿   rÀ   r®  r   r   ra   rF  rK   r-   rá   )r\   rf   Ú
X_pairwiser´  rI  Úsamples_out2rO   s          rF   Ú&test_kernel_centerer_feature_names_outr^  Ù
  s‡   € ô �)‰)×
Ñ
 Ó
"€CØ×Ñ˜&Ó!€AÜ˜qÓ!€JÜÓ×#Ñ# JÓ/€Hà×.Ñ.Ó0€IØ×#Ñ# AÑ&€LÜ�yÄÀ|ÓATÖ"U¸A ^°A°3Ò#7Ò"UÕVùÒ"Us   ÂB
c                 ó8  — g d¢g d¢g d¢g}t        d| ¬«      j                  |«      }t        |j                  g d¢«       |j	                  |«      }|j                  |«      }||fD ]2  }| r"t        |t        j                  |«      d¬«       Œ't        ||«       Œ4 y)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_featurerc  æ
  s‡   € ò 
’Z¢Ð,€Aä	 ¸KÔ	H×	LÑ	LÈQÓ	O€Bä�B—K‘K¢Ô+à
×
Ñ
˜1Ó
€CØ	�‰�a‹€Bà�Rˆyò $ˆÙÜ˜C¤§¡¨qÓ!1¸Ö>ä˜C Õ#ñ	$rG   zcno floating point exceptions, see https://github.com/numpy/numpy/pull/21895#issuecomment-1311525881)Úreasonc                  óÐ  — t        d¬«      } t        j                  g d¢«      j                  dd«      }| j	                  |«       | j
                  d   }|dk  sJ ‚t        j                  dg«      j                  dd«      }t        j                  t        d¬	«      5  | j                  |«      j                  «       }d
d
d
«       t        j                  «      sJ ‚y
# 1 sw Y   Œ!xY w)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_warningrj  ù
  s»   € ô  MÔ2€EÜ
�‰’Ó×&Ñ& r¨1Ó-€AØ	‡I�Iˆa„LØ�N‰N˜1Ñ€EØ�1Š9Ðˆ9ô �(‰(�B�4‹.×
 Ñ
   QÓ
'€CÜ	�‰”kÐ)@Ô	Añ 4Ø×'Ñ'¨Ó,×1Ñ1Ó3ˆ÷4ô �8‰8�EŒ?Ð‰?÷4ð 4ús   Â CÃC%z1.12z2scipy version 1.12 required for stable yeo-johnsonc                  óž   — t        j                  g d¢«      } d„ } || j                  dd«      «        || dd j                  dd«      «       y)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Ÿ@rl  g     ðž@g     <Ÿ@g     \Ÿ@g     Ÿ@c                 ó   — t        j                  d¬«      5 }t        j                  d«       t        dd¬«      j	                  | «       ddd«       r J ddj                  d	„ |D «       «      z   «       ‚y# 1 sw Y   Œ,xY w)
z0Internal helper to test for unexpected warnings.Tr¶  Úalwaysrí  rô  Nz!Unexpected warnings were raised:
ú
c              3   óF   K  — | ]  }t        |j                  «      –— Œ y ­wr¨  )ÚstrÚmessage)Ú.0Úws     rF   ú	<genexpr>zPtest_power_transformer_no_warnings.<locals>._test_no_warnings.<locals>.<genexpr>2  s   è ø€ ò U
Ø ŒC�—	‘	�NñU
ùs   ‚!)r  r  r  r   r  Újoin)r|  Úcaught_warningss     rF   Ú_test_no_warningsz=test_power_transformer_no_warnings.<locals>._test_no_warnings,  s†   € ä×$Ñ$¨DÔ1ð 	Y°_Ü×!Ñ! (Ô+Ü M¸tÔD×RÑRÐSWÔX÷	Yñ #ð 	
Ð$HÈ4Ï9É9ñ U
Ø$3ôU
ó L
ñ %
ó 	
Ð"�?÷		Yð 	Yús   —2A4Á4A=r<   r=   Nro   )rI   rt   r;  )r  rx  s     rF   Ú"test_power_transformer_no_warningsry    sL   € ô 	�‰ò	
ó	€Aò
ñ �a—i‘i  AÓ&Ô'ñ �a˜˜�e—m‘m B¨Ó*Õ+rG   c                  ó�   — t        d¬«      j                  t        «      } | j                  d   t	        j
                  dd¬«      k(   y)zFCheck that the results are consistent across different SciPy versions.rí  rï  r   gâdò8ÒÚï?rÎ   )ÚrelN)r   ra   r®   rú  r^   rL  )rð  s    rF   Ú+test_yeojohnson_for_different_scipy_versionr|  =  s2   € ä	 Ô	/×	3Ñ	3´FÓ	;€BØ‡K�K��N”f—m‘m J°DÔ9Ó9rG   ÚTransformerClassc                 óH  — t        j                  d«      }|j                  g d¢g d¢dœ«      } | «       }|j                  |«       t	        j
                  «       5  t	        j                  d«       |j                  |j                  «       «       ddd«       y# 1 sw Y   yxY w)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.
    rL  )rr   rq   ró   )r3  rô   r4  )rE   Úbrý   N)	r^   rO  rP  ra   r  r  r  r¸   Úto_numpy)r}  rS  ÚX_dfr¥  s       rF   Ú8test_transformer_inverse_transform_feature_names_warningr‚  C  s~   € ô 
×	Ñ	˜XÓ	&€Bà�<‰<šo²OÑDÓE€DÙ"Ó$€KØ‡O�O�DÔä	×	 Ñ	 Ó	"ñ 7Ü×Ñ˜gÔ&Ø×%Ñ% d§m¡m£oÔ6÷7÷ 7ñ 7ús   Á5BÂB!c                 óD  — t        j                  ddgddgddgg«      } | «       j                  |«      }t        j                  dgdgdgg«      }d| j                  › d�}t	        j
                  t        |¬	«      5  |j                  |«       d
d
d
«       y
# 1 sw Y   y
xY w)zLCheck that an informative error is raised when the input shape is incorrect.rr   rq   ró   r3  rô   r4  zX has 1 features, but z is expecting 2 featuresrþ   N)rI   rt   ra   rÓ   r^   r_   r`   r¸   )r}  rf   r¥  ÚX_wrongrW  s        rF   Ú.test_transformer_inverse_transform_shape_errorr…  U  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                 ó8  — t         j                  j                  d«      j                  d«      }t	        «       }t        «       j                  |«      } t        || «      |«       |j                  |«      }|j                  d«      dk(  sJ ‚|j                  d«      dk(  sJ ‚|j                  d«      dk(  sJ ‚|j                  d«      dk(  sJ ‚|j                  D �cg c]  }|d   dk(  sŒ|‘Œ c}d   }|d	   d
   }t        |j                  |«      |«       yc c}w )z>Check that the reconstruction attributes are correctly passed.r   )r@   rW   Úsetupr=   ÚteardownÚon_fit_task_beginÚon_fit_task_endre  ÚkwargsÚfitted_estimatorN)rI   r¿   rÀ   r®  r   r   Úset_callbacksÚgetattrr‡   Úcount_hooksr·  r)   )r†  rf   Úcbrh   ra  ÚrecÚtask_end_recordÚfitted_scalers           rF   Ú%test_standard_scaler_callback_supportr•  a  s  € ô 	�	‰	×Ñ˜aÓ ×.Ñ.¨wÓ7€Aä	Ó	€BÜÓ×+Ñ+¨BÓ/€FØ„GˆF�JÓ Ô"Ø	×	Ñ	˜!Ó	€Bð �>‰>˜'Ó" aÒ'Ð'Ð'Ø�>‰>˜*Ó%¨Ò*Ð*Ð*Ø�>‰>Ð-Ó.°!Ò3Ð3Ð3Ø�>‰>Ð+Ó,°Ò1Ð1Ð1à&(§i¡iÖT˜s°3°v±;ÐBSÓ3S’sÒTÐUVÑW€OØ# HÑ-Ð.@ÑA€MÜ�M×+Ñ+¨AÓ.°Õ3ùò Us   ÃDÃ)D)årQ  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  rA  rH  rT  rW  rf  ro  rq  rt  r€  r’  r”  r˜  r¡  r¦  r«  r²  r¹  r½  rÀ  rÄ  rÇ  rD  rÎ  rÑ  rÔ  rÝ  rã  rí  ró  rü  r
  r  r  r*  r1  r5  r9  r?  rD  rF  rK  rO  rV  rZ  r\  r_  rg  rl  rn  rp  rs  ry  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"  r'  r)  r+  rÖ   ru   r.  r3  r8  r:  rB  rJ  rY  r^  rc  Úxfailrj  Úskipifry  r|  r‚  r…  r•  )rÏ  s   0rF   ú<module>r²     s  ðó 
Û ã Ý Û ß ç ,Ý ÷õ .Ý GÝ 2Ý 5Ý %÷÷ ÷ ÷ õ ÷& QÝ ß .÷÷
÷ 
õ 
÷÷÷ ñ õ 9à€x×ÑÓ€ð 	‡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Ø‡�×Ñ˜˜rŸy™yŸ™¨r°1Ó5°{°v·{²{À2ÀqÐRUÔ7VÐWÓXñ%ó Yó 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=ò	=ð ‡�×Ñ˜¨°Ð':Ó;ñ(ó <ð(ò&"ð ‡�×Ñ˜¨.Ó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 V R§V¢V¨D£\°F°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ð ,öàñ 	�g�b—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   ö:-~