Ë
    ÷Q(h*v ã                   óh  — 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 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
l)m*Z*m+Z+ d dl,m-Z- d dl.m/Z/m0Z0 d dl1m2Z2 d dl3m4Z4 d dl5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z= d dl>m?Z? d dl@mAZAmBZBmCZCmDZD d dlEmFZF  ejŽ                  «       ZHej’                  j•                  d «      ZKdZLdZMeKj�                  ddeL¬«      ZOeKj�                  ddeL¬«      ZPeKj£                  eMeL«      ePz  eOz   ZReRd dd…f   j§                  deL«      ZTeRdd…d f   j§                  eMd«      ZUeTj­                  «       ZWeUj­                  «       ZXd„ ZYd„ ZZd„ Z[d„ Z\ejº                  j½                  g d¢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 ej¾                  dd$g«      fdejÀ                  dgejÀ                  ejÀ                  dggdejÀ                  dgejÀ                  ejÀ                  dgejÀ                  ejÀ                  dgejÀ                  ejÀ                  dgg ej¾                  dd$g«      fg«      ejº                  j½                  d%g d&¢«      d'„ «       «       Zad(„ Zbejº                  j½                  d)dgeBz   eCz   «      ejº                  j½                  d*d+d,g«      d-„ «       «       Zcejº                  j½                  d. e d+¬/«       ed+¬0«      g«      ejº                  j½                  d)dgeBz   eCz   «      ejº                  j½                  d*d+d,g«      ejº                  j½                  d1ejÈ                  ejÊ                  g«      ejº                  j½                  d2g d3¢«      d4„ «       «       «       «       «       Zfejº                  j½                  d5g d6¢«      ejº                  j½                  d7g d8¢«      ejº                  j½                  d1ejÈ                  ejÊ                  g«      ejº                  j½                  d)dgeBz   eCz   «      d9„ «       «       «       «       Zgd:„ Zhe=d;„ «       Zid<„ Zjd=„ Zkd>„ Zld?„ Zmd@„ Znejº                  j½                  d)eBeCz   «      dA„ «       Zoejº                  j½                  dBd,dg«      ejº                  j½                  d)eBeCz   «      dC„ «       «       Zpejº                  j½                  dBd,dg«      dD„ «       ZqdE„ Zrejº                  j½                  dF e2«       «      ejº                  j½                  dGe?ge4¬H«      ejº                  j½                  dI e«        e«        ed,¬J«       e«        edK¬L«       edM¬L«       edN¬L«      ge4¬H«      dO„ «       «       «       ZsdP„ ZtdQ„ ZudR„ ZvdS„ Zwejº                  j½                  dBd,dg«      ejº                  j½                  d)eBeCz   «      dT„ «       «       Zxejº                  j½                  dUd,d+g«      ejº                  j½                  dVd,d+g«      ejº                  j½                  d)dgeBz   eCz   «      dW„ «       «       «       ZydX„ Zzejº                  j½                  d)eBeCz   «      dY„ «       Z{ejº                  j½                  d)eBeCz   «      dZ„ «       Z|ejº                  j½                  d)eCeBz   «      d[„ «       Z}ejº                  j½                  d)eCeBz   «      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d$«       e	�j                  dd$db¬c«      g«      dd„ «       «       «       Z‚ejº                  j½                  deeC«      df„ «       Zƒdg„ Z„ejº                  j½                  dhg di¢«      ejº                  j½                  djg dk¢«      dl„ «       «       Z…ejº                  j½                  deeC«      dm„ «       Z†dn„ Z‡do„ Zˆejº                  j½                  dpeB«      dq„ «       Z‰ejº                  j½                  dpeB«      dr„ «       ZŠejº                  j½                  dpeB«      ds„ «       Z‹dt„ ZŒdu„ Z�dv„ ZŽejº                  j½                  dpeB«      dw„ «       Z�dx„ Z�ejº                  j½                  dpeB«      dy„ «       Z‘dz„ Z’d{„ Z“ejº                  j½                  d|d}d~g«      d„ «       Z”d€„ Z•ejº                  j½                  deeC«      d�„ «       Z–d‚„ Z—dƒ„ Z˜d„„ Z™d…„ Zšejº                  j½                  d)eBeCz   «      d†„ «       Z›d‡„ Zœejº                  j½                  deeC«      dˆ„ «       Z�d‰„ Zžejº                  j½                  deeC«      dŠ„ «       ZŸd‹„ Z ejº                  j½                  dŒg d�¢«      ejº                  j½                  deeC«      dŽ„ «       «       Z¡ejº                  j½                  dŒg d�¢«      ejº                  j½                  d)eAeBz   eDz   «      d�„ «       «       Z¢ejº                  j½                  deeC«      d�„ «       Z£ejº                  j½                  deeC«      d‘„ «       Z¤ejº                  j½                  d’ej¾                  e¥geBz   eCz   «      d“„ «       Z¦d”„ Z§d•„ Z¨d–„ Z©d—„ Zªd˜„ Z«ejº                  j½                  d)eAeBz   eCz   «      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½                  daeUeRg«      d „ «       «       «       Z¯d¡„ Z°d¢„ Z±d£„ Z²ejº                  j½                  daeR e�jf                  eR«       e�jf                  eR«        e�jh                  eR�jj                  «      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² e	j’                  ddd³d ¬´«      geCD � cg c]'  }  |  e�j„                  dµejÀ                  ¬¶«      «      ‘Œ) c} z   «      d·„ «       ZÃejº                  j½                  d¸d¹dºg«      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Êyc c} w )Ãé    N)ÚsparseÚstats)Údatasets)Úclone)ÚNotFittedError)Ú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)Ú)yield_namespace_device_dtype_combinations)Ú_get_check_estimator_ids)Ú_convert_containerÚassert_allcloseÚassert_allclose_dense_sparseÚassert_almost_equalÚassert_array_almost_equalÚassert_array_equalÚassert_array_lessÚskip_if_32bit)Ú check_array_api_input_and_values)ÚCOO_CONTAINERSÚCSC_CONTAINERSÚCSR_CONTAINERSÚLIL_CONTAINERS)Úmean_variance_axisé   éè  éÿÿÿÿé   ©Úsizeé
   c                 ó>   — t        | d«      r| j                  «       } | S )NÚtoarray)Úhasattrr9   ©Úas    úc/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sklearn/preprocessing/tests/test_data.pyr9   r9   P   s   € Üˆq�)ÔØ�I‰I‹KˆØ€Hó    c                 óF   — t        j                  | «      j                  d   S )Nr   )ÚnpÚasarrayÚshaper;   s    r=   Ú_check_dim_1axisrC   V   s   € Ü�:‰:�a‹=×Ñ˜qÑ!Ð!r>   c                 óJ   — ||k7  r| dz   |z  |k(  sJ ‚y | |z  ||z
  z   |k(  sJ ‚y )Nr4   © )ÚiÚbatch_startÚ
batch_stopÚnÚ
chunk_sizeÚn_samples_seens         r=   Úassert_correct_incrrL   Z   s<   € Ø�Q‚Ø�A‘˜Ñ# ~Ò5Ð5Ñ5à�:‰~ ¨kÑ!9Ñ:¸nÒLÐLÑLr>   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é   é   r4   ©Úsample_weight)ÚzipÚrngÚrandnr   ÚpytestÚraisesÚ
ValueErrorÚfit)Ú
n_samplessÚn_featuressÚ	n_samplesÚ
n_featuresÚXÚyÚscalerÚsample_weight_notOKs           r=   Ú9test_raises_value_error_if_sample_weights_greater_than_1dra   a   s¯   € ð �Q�€JØ�a�&€Kä!$ Z°Ó!=ò 	@Ñˆ	�:Ü�I‰I�i Ó,ˆÜ�I‰I�iÓ ˆäÓ!ˆô "Ÿi™i¨	°1Ó5¸Ñ:ÐÜ�]‰]œ:Ó&ñ 	@Ø�J‰J�q˜!Ð+>ˆJÔ?÷	@ð 	@ñ	@÷	@ð 	@ús   ÂB"Â"B+	)ÚXwr]   rQ   )r4   rN   rO   )é   é   é   ç       @ç      ð?©r4   r   r4   )r   r   r4   rO   Úarray_constructor)ÚarrayÚ
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_meanrP   )ç      ø?g      @ç      @)rq   g      @g      @)Ú
startswithr#   r@   ÚonesrB   r   rX   r&   Úmean_Úvar_Ú	transform)
rb   r]   rQ   ri   ro   ÚywÚscaler_wr^   r_   ÚX_tests
             r=   Ú"test_standard_scaler_sample_weightrz   s   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ÕMr>   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 ©	NT©Úcopyr4   r   ©Úaxisç        rg   ©rd   r4   )ÚX_1rowÚX_1colÚX_list_1rowr   rX   rv   Ú
isinstanceÚlistr@   rj   rC   r&   rt   ÚravelÚscale_rs   r\   r'   ÚmeanÚ
zeros_likeÚstdÚn_samples_seen_rB   Úinverse_transform)r]   r_   ÚX_scaledÚX_scaled_backs       r=   Ú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Ò/Ð/Ñ/r>   Ú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   r7   rO   TFrn   rP   )r@   ÚrandomÚRandomStaters   Úfloat64Úfloat32Úfloat16rT   Úastyper   rX   rv   Údtypert   r‰   )r“   r’   rS   r[   r\   rQ   ro   Úsupported_dtyper›   r]   r_   r�   s               r=   Ú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ñ
1r>   r_   rn   ©Úwith_centeringr›   Úconstant)r   rg   ç      Y@c                 ó8  — 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-        |
| j.                  ¬«      }||
usJ ‚t+        ||
«       y y y )Nz# does not yet support sample_weightr   éd   r4   r5   rN   rP   )rB   Ú
fill_valuer›   gH¯¼šò×z>©Úatolrn   )r†   r   rU   ÚskipÚ	__class__Ú__name__r@   r•   r–   ÚdictÚuniformÚfullrX   rv   r   r$   ru   ÚzerosrB   r‰   rs   r%   r   ro   )r_   r“   r’   r›   r    rS   r[   r\   Ú
fit_paramsÚX_arrayr]   r�   Ú
X_scaled_2s                r=   Ú&test_standard_scaler_constant_featuresr±   ã   s`  € ô �&œ,Ô'Ñ,=Ü�‰�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Ð)r>   r[   )r7   r£   i'  Úaverage)g»½×Ùß|Û=r4   g    _ 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âÿÿÿé   r4   r7   ©r›   r   rN   Frn   rg   r3   )r@   rj   ÚrangerB   Úemptyr   rX   Úfinfor—   ÚepsÚanyÚallru   r$   r‰   Úlogical_notÚlogical_andÚsqrt)r[   r’   r²   r›   Ú	scale_minÚ	scale_maxrF   Úscalesr\   r]   r¯   r_   r¹   ÚboundsÚwithin_boundsÚrepresentable_diffÚcommon_masks                    r=   Ú+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)rg   ç      @ç      @r�   r�   rg   F©ro   Úwith_std)r@   rj   r   r'   rŠ   rŒ   r(   )ÚX_listÚX_arrr]   r�   s       r=   Útest_scale_1drÎ   F  sf   € â!€FÜ�H‰H�VÓ€Eà�eˆ_ò IˆÜ˜“8ˆÜ! (§-¡-£/°3Ô7Ü! (§,¡,£.°#Ô6Üœ5 ¨e¸eÔDÀaÕHñ	Ir>   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µ   Úerrorr7   z:standard deviation of the data is probably very close to 0©Úmatchg0Žä.ÿ++g}Ã”%­I²Tz$Dataset may contain too large valuesF©rË   )r@   r¬   Úlogr—   ÚwarningsÚcatch_warningsÚsimplefilterÚUserWarningr   r'   r­   rU   Úwarns)ÚxÚwarning_messageÚx_scaledÚx_small_scaledÚx_bigÚx_big_scaledÚx_big_centereds          r=   Ú(test_standard_scaler_numerical_stabilityrã   R  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   rd   rc   r�   Tr}   r   ©r�   rg   rg   rg   rg   r4   F)r€   rË   rg   )r@   r•   r–   rT   r   rX   rv   rº   Úisnanr�   r'   rŠ   rŒ   rŽ   r   )rS   r\   r[   r]   r_   r�   r�   s          r=   Útest_scaler_2d_arraysrç   y  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ÑÐÑr>   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   rd   r7   i@ r4   Úraise)ÚoverrN   ©Údecimal)r@   r•   r–   r«   rš   r™   Úerrstater   rX   rv   Úfit_transformr—   r»   Úisfiniter'   )rS   r]   r_   r�   ÚX_scaled_f64s        r=   Ú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¼‰Ø—²Òœ<r4   rN   rO   Tr}   )r4   r4   r4   rN   rO   )r@   rj   r   r$   )Ús1Ús2s     r=   Útest_handle_zeros_in_scalerõ   Æ  sD   € Ü	�‰Ò%Ó	&€BÜ	 ¨Ô	.€Bä�BœŸ™Ò!4Ó5Ô6Ü�BœŸ™¢Ó1Õ2r>   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   r4   rN   é2   é*   ©rG   rH   rI   rJ   rK   )ÚX_2drB   r   rX   r   r[   Úpartial_fitr'   Ú	data_min_Ú	data_max_r�   Údata_range_r‰   Úmin_ÚsliceÚ	enumeraterL   ÚstartÚstop©r]   rI   rJ   Úscaler_batchÚscaler_incrÚbatchÚbatch0rF   s           r=   Útest_minmax_scaler_partial_fitr	  Î  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Ø Ÿ:™:ØØ%Ø*×:Ñ:öò		ñ='r>   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   r4   rN   r÷   rø   FrÕ   rµ   r   rù   )rú   rB   r   rX   r   r[   rû   r'   rt   ru   r�   r   r@   r­   r\   r—   rs   r‰   ÚvarrŒ   r  rL   r  r  r  s           r=   Ú test_standard_scaler_partial_fitr  þ  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r>   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   rN   r£   g  4&õkÃg  4&õkCr5   g     @�@ç    €„.Ar4   g�íµ ÷Æ°>)Úrtol)r£   rO   g@Œµx¯DFrn   r3   )r@   r•   r–   r«   rT   r   rX   rû   Úreshaper$   rt   ru   r‰   Úrandintrš   r—   Úndim)r’   rS   r\   r[   ÚoffsetsrÁ   r]   r  r  ÚchunkÚtolr6   r   r_   s                 r=   Ú4test_standard_scaler_partial_fit_numerical_stabilityr  1  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Ö@r>   rQ   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 )	Nrg   r�   rÉ   r   FT©ro   rË   r~   rP   )r@   rj   rS   ÚrandrB   r   rû   rv   r(   r9   rŽ   )rQ   r’   r]   Únull_transformÚX_nullÚX_origs         r=   Útest_partial_fit_sparse_inputr  `  sÆ   € ñ 	œŸ™ C 5¨3¨%°#°¸¸Ð">Ó?Ó@€AáÜŸ™ §¡¨¡Ó,ˆä#¨e¸eÈ$ÔO€NØ×'Ñ'¨¸Ð'ÓG×QÑQÐRSÓT€FÜ�v—~‘~Ó'¨¯©«Ô5Ø×-Ñ-¨fÓ5€FÜ�v—~‘~Ó'¨¯©Ó)9Ô:Ü�v—~‘~Ó'¨¯©«Õ5r>   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   r4   rP   )rú   rS   r  rB   r   r  r   r~   rî   rû   rv   r'   rŽ   r@   r­   r¸   Úfloatr¹   r)   ru   r‰   r�   ÚsumrU   Úapprox)rQ   r]   r  rF   r  ÚX_sofarÚchunks_copyÚscaled_batchÚscaled_incrÚright_inputÚzeroÚepsilons               r=   Ú.test_standard_scaler_trasform_with_partial_fitr)  q  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r>   c            	      óÊ   — t        j                  g d¢g d¢g d¢g d¢g d¢g d¢gt         j                  ¬«      } t        «       }|j	                  | «       |j                  | «       y )N)r4   r4   r4   r   r4   r   )r   rÐ   r   r4   r   r   )r4   rc   r4   r4   r   r   )r   r4   r   r   r4   r   )r   rc   r   r4   r   r4   rµ   )r@   rj   Úint32r   rX   rŽ   )rÜ   r_   s     r=   Ú.test_standard_check_array_of_inverse_transformr,  ›  sW   € ô 	�‰âÚÚÚÚÚð	
ô �h‰hô
	€Aô Ó€FØ
‡J�Jˆq„Mð
 ×Ñ˜QÕr>   z#array_namespace, device, dtype_nameÚcheck)ÚidsÚ	estimator)ÚclipÚl1©ÚnormÚl2Úmaxc                 óJ   — | j                   j                  } ||| |||¬«       y )N)ÚdeviceÚ
dtype_name)r¨   r©   )r/  r-  Úarray_namespacer7  r8  Únames         r=   Ú test_scaler_array_api_compliancer;  ³  s%   € ð0 ×Ñ×'Ñ'€DÙ	ˆ$�	˜?°6ÀjÖQr>   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   r4   ©r4   rN   ©Úfeature_rangerN   )ç      à¿ç333333ã?r@  rA  )rN   r4   )ÚirisÚdatar   rî   r'   Úminr5  rŽ   rU   rV   rW   rX   )r]   r_   ÚX_transÚX_trans_invs       r=   Útest_min_max_scaler_irisrG  Ï  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�   rg   ç      à?©r�   rg   gš™™™™™¹¿©r�   rg   gš™™™™™ñ?©r�   rf   rJ  ©ç      ð¿rg   r�   ©r�   rg   rp   )r�   r�   rJ  ©r�   r�   r�   ©r�   r�   rg   )rO  r�   gsh‘í|?µ?)r�   r�   g‡ÙÎ÷Sõ?rN   rë   r=  r>  )rg   rg   rp   ©rg   rg   rg   )rg   rg   rf   )r   rî   r'   rŽ   rv   r   )	r]   ÚX_newr_   rE  ÚX_expected_0_1rF  ÚX_trans_newÚX_expected_0_1_newÚX_expected_1_2s	            r=   Ú*test_min_max_scaler_zero_variance_featuresrY  ï  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 ~Õ6r>   c                  óÂ   — t         j                  } t        | d¬«      }t        t	        j
                  |d¬«      d«       t        t	        j                  |d¬«      d«       y )Nr4   r   r   )rB  rC  r   r'   r@   rD  r5  )r]   rE  s     r=   Útest_minmax_scale_axis1r[    sA   € Ü�	‰	€AÜ˜1 1Ô%€GÜœbŸf™f W°1Ô5°qÔ9ÜœbŸf™f W°1Ô5°qÕ9r>   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   rX   rv   r†   r‡   r@   rj   rC   r'   rD  r­   r\   r5  r�   rB   rŽ   rs   rˆ   r   )r]   r_   r�   r�   ÚX_1drÿ   Úmax_s          r=   Ú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õr>   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ø   rc   rd   r�   r   Frn   rP   Tr}   r   ©r�   g{®Gáz„¿gìQ¸…ë@gffffffÖ¿gö(\�Âõè¿rN   rå   r  )r@   r•   r–   rT   r  rB   rU   rV   rW   r   rX   rv   rº   ræ   rC  r'   rt   ru   r‰   r�   rŠ   rŒ   r0   r  rŽ   r9   r.   rî   r(   )rQ   r’   rS   r]   ÚX_sparser_   r�   Úscaler_sparseÚX_sparse_scaledÚX_sparse_scaled_meanÚX_sparse_scaled_varr�   ÚX_sparse_scaled_backr  r  r  s                   r=   Útest_scaler_without_centeringrh  ;  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ro   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   r4   rO   re   r7   rd   rc   rÐ   r   rµ   z3'with_mean=True' cannot be used with sparse matrix.rÊ   )rO   rc   rN   )r@   rj   Únanr—   r   ÚissparserU   r§   r   rX   r(   r�   )ro   rË   r’   r]   Útransformers        r=   Ú#test_scaler_n_samples_seen_with_nanrn  x  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ÕHr>   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)rt   ru   r‰   r�   )Úscaler_1Úscaler_2s     r=   Ú"_check_identity_scalers_attributesrr  ‹  sp   € Ø�>‰>˜XŸ^™^Ô3Ð3Ñ3Ð3Ð3Ø�=‰=˜HŸM™MÔ1Ð1Ñ1Ð1Ð1Ø�?‰?˜hŸo™oÔ5Ð5Ñ5Ð5Ð5Ø×#Ñ# x×'?Ñ'?Ò?Ð?Ñ?r>   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 )Nrj  )rd   re   r   )rÐ   r   r7   rµ   FrÊ   )r@   rj   r—   r   rî   r$   r   r%   rr  rû   rX   )r’   ÚX_denserb  Útransformer_denseÚX_trans_denseÚtransformer_sparseÚX_trans_sparses          r=   Útest_scaler_return_identityry  ’  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ÕMr>   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ø   é   ©rc   rd   r5   r   T)ÚrecordFrn   r}   r   )r�   gX9´Èv¾ñ?gV-²ý?g      5@g‹lçû©ñø?rN   rå   r  )r@   r•   r–   r  r×   rØ   r   rX   rv   rº   ræ   rC  r'   rt   ru   r‰   rŠ   rŒ   r0   rš   r  rŽ   r9   r.   rî   r(   )r’   rS   r]   rb  r_   r�   rc  rd  re  ÚX_sparse_scaled_stdr�   rg  r  r  r  s                  r=   Ú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ø   rc   rd   r�   r   Fr}   )ro   r~   )	r@   r•   r–   rT   r~   r   rX   r(   r9   )r’   rS   r]   rb  ÚX_copyÚX_sparse_copys         r=   Útest_scaler_without_copyrƒ  å  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ÕCr>   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ø   rc   rd   Trn   )r@   r•   r–   rT   rU   rV   rW   r   r   rX   rv   rŽ   )r’   rS   r]   rb  r_   ÚX_transformed_sparses         r=   Ú+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)Nrd   re   é   rÐ   z,Input contains infinity or a value too largerÓ   )r@   ÚinfrU   rV   rW   r   ©r]   s    r=   Ú&test_scale_input_finiteness_validationr‹    sI   € ä
�&‰&�!�Q˜˜1Ð	Ð€AÜ	�‰ÜÐHô
ñ ô 	ˆ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)Nr2   r7   Trž   zCannot center sparse matricesrÓ   )r   r  r   rU   rV   rW   rX   )rb  r_   Úerr_msgs      r=   Útest_robust_scaler_error_sparserŽ    sP   € Ü�{‰{˜4 Ó$€HÜ¨Ô.€FØ-€GÜ	�‰”z¨Ô	1ñ Ø�
‰
�8Ô÷÷ ñ ús   Á AÁA$rŸ   Úwith_scalingr]   rJ  ©Ú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   rl  rU   r§   r   rX   r†   Úcenter_r@   Úndarrayr‰   )r]   rŸ   r�  r_   s       r=   Útest_robust_scaler_attributesr•    sŒ   € ñ
 œ&Ÿ/™/¨!Ô,Ü�‰Ð>Ô?ä¨ÀlÔS€FØ
‡J�Jˆq„MáÜ˜&Ÿ.™.¬"¯*©*Ô5Ð5Ð5à�~‰~Ð%Ð%Ð%ÙÜ˜&Ÿ-™-¬¯©Ô4Ð4Ñ4à�}‰}Ð$Ð$Ñ$r>   Ú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 )Nr7   rd   r   Frž   r4   )r@   r•   rT   r   rX   r‰   rU   r!  rv   r$   r9   )r–  r]   r_   rE  s       r=   Ú"test_robust_scaler_col_zero_sparser˜  2  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ÕCr>   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   rc   rd   r�   r   )
r@   r•   r–   rT   r   rX   rv   r'   ÚmedianrŒ   )rS   r]   r_   r�   s       r=   Útest_robust_scaler_2d_arraysr›  B  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Õ9r>   r‘  )r   gš™™™™™©?çš™™™™™¹?rJ  r4   Ú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 )
Nr2   rd   r�  rž  rŸ  r­   rµ   Frž   )r   r  Útocscr@   ÚabsrC  r­   rB   r—   r9   r   rX   r$   r‰   )r‘  r�  rb  rt  rc  Úscaler_denses         r=   Ú+test_robust_scaler_equivalence_dense_sparser¤  O  sÖ   € ô �{‰{˜4 ¨GÔ4×:Ñ:Ó<€HØ˜*Ò$ÜŸ™˜xŸ}™}Ó-ˆ�Ø	˜JÒ	&ÜŸ™ §¡Ó.Ð.ˆ�Ø	˜GÒ	#ÜŸ™ §¡×!4Ñ!4¼B¿J¹JÔGˆŒØ×ÑÓ €Gä °Ô6€MÜ¨uÔ5€Là×Ñ�hÔØ×Ñ�WÔä�M×(Ñ(¨,×*=Ñ*=Õ>r>   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   rc   rd   )rœ  rg   rf   r�   rO  Frž   )r@   r•   r–   rT   rj   r   rX   rv   r‰   r'   r9   rŽ   )r–  rS   r]   Ú
single_rowr_   Ú	row_transÚrow_expectedÚrow_scaled_backs           r=   Ú(test_robust_scaler_transform_one_row_csrrª  e  s©   € ô �)‰)×
Ñ
 Ó
"€CØ�	‰	�!�Q‹€AÜ—‘Ò5Ð6Ó7€JÜ¨Ô/€FØ�Z‰Z˜‹]€FØ× Ñ ¡¨zÓ!:Ó;€IØ §¡Ñ-€LÜ˜i×/Ñ/Ó1°<Ô@Ø×.Ñ.¨yÓ9€OÜ˜j¨/×*AÑ*AÓ*CÕDr>   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€   r4   ©	rB  rC  r   rî   r'   r@   rš  rŽ   Ú
percentile)r]   r_   rE  rF  r°  Úiqrs         r=   Útest_robust_scaler_irisr´  t  s~   € Ü�	‰	€AÜ‹^€FØ×"Ñ" 1Ó%€GÜœbŸi™i¨°aÔ8¸!Ô<Ø×*Ñ*¨7Ó3€KÜ˜a Ô-Ü
�‰�g °Ô2€AØ
ˆA‰$��1‘‰+€CÜ˜c 1Õ%r>   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)r7   éZ   ©Úquantile_ranger   r   r¯  r4   r±  )r]   r_   rE  rF  r°  Úq_ranges         r=   Ú!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Õ)r>   Úcsc_containerc                 ó²  — t         j                  }t        d¬«      }|j                  |«      }|j	                  |«      }t        ||«       t        dd¬«      }|j                  |«      }|j	                  |«      }t        ||«        | |«      }|j                  |«      }|j	                  |«      }t        |j                  «       |j                  «       «       y )Nr1   ©Ún_quantilesÚnormal)r¾  Úoutput_distribution)rB  rC  r   rî   rŽ   r'   r9   )r»  r]   rm  rE  rF  rb  ÚX_sparse_tranÚX_sparse_tran_invs           r=   Ú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ÕNr>   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£   )
rN   rc   r   r   re   rÐ   r   r7   r   r   )
r   r   çÍÌÌÌÌÌ@çffffff@r   r   çffffff@r   ç      #@rœ  )
éþÿÿÿrc   r   r   re   rÐ   r   r7   r   r   zmThe number of quantiles cannot be greater than the number of samples used. Got 1000 quantiles and 10 samples.rÓ   r7   )Ú	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_samplesr4   r   )r@   Ú	transposerU   rV   rW   r   rX   rv   rŽ   rÛ   rÚ   ÚlenÚn_quantiles_rB   )r»  r]   ÚX_negr�  rm  Ú
X_bad_featÚwarn_msgr}  s           r=   Ú#test_quantile_transform_check_errorrÑ  ¡  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   r4   rN   Trd   )Úignore_implicit_zerosr¾  z['ignore_implicit_zeros' takes effect only with sparse matrix. This parameter has no effect.rÓ   )r   r   r4   r   rN   rN   r4   r   r4   rN   r   )r   r   r4   r4   r4   r4   r4   r4   r4   r4   r4   )r   rc   r   r4   rN   rO   rc   rd   re   rˆ  rÐ   r�   rJ  rg   )	r3   r3   r4   r   r   r   r4   r3   r4   )	r   r   r4   r4   r4   r4   r4   r4   r4   )	r   rc   r   r4   rN   rO   rc   rd   re   g      Ø?rÐ   )rÓ  r¾  rÊ  Úrandom_state)r@   rj   r   rU   rÛ   rÚ   rX   rî   r&   r9   rŽ   )
r»  r]   rb  rm  rÝ   Ú
X_expectedrE  ÚX_dataÚX_colÚX_rows
             r=   Ú+test_quantile_transform_sparse_ignore_zerosrÙ  Û  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   rN   rÅ  )r­  rc   rÆ  )r÷   re   rÇ  )r®  rÐ   rÈ  )r£   r7   rœ  rd   r½  r   r4   )Únum)rO   r4   r   )r3   r4   r   )ée   é   r7   )r   r   r   ©r4   r4   r4   )r@   rj   r   rX   rî   ÚtileÚlinspaceÚTr&   Úsortr'   rv   rŽ   )r]   rm  rE  rÕ  ry   rF  s         r=   Ú!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 Õ-r>   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 r2   r4   r   r   rd   r7   )rÔ  r¾  rÊ  ç{®Gáz„?g®Gáz®ï?Úcsc)r‘  ÚformatrÔ  rœ  )r@   râ  r•   Úsampler¶   r   rX   rà  rˆ   Ú
quantiles_r5  r¢  ÚappendrÌ  Úuniquer   r  )	r[   r¾  r]   ÚROUNDÚinf_norm_arrrÔ  rm  ÚdiffÚinf_norms	            r=   Ú#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¨|Ó+<Ò<Ð<Ñ<r>   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   )éÈ   r4   r5   rd   N)r¾  rÊ  r4   )r@   r•   r–   r¿  r   rX   rà  r$   Úreferences_Úquantilerˆ   rê  )r]   r¾  rm  Úexpected_referencesÚexpected_quantiless        r=   Ú,test_quantile_transform_subsampling_disabledrø  l  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ÕGr>   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�   rf   r�   )g      9@ç      @r�   )g      I@r�   rÅ  )r�   r�   rÆ  )r�   g      @r�   )r�   g       @r�   )g     ÀR@r�   rÇ  )r�   g      $@r�   )r�   r�   rÈ  )r¡   r�   rœ  r7   r½  r   r   r�   rg   )r@   rj   r   rX   rî   r'   rD  r9   r5  rŽ   rv   )r»  r]   rm  rE  rF  ru  s         r=   Ú"test_quantile_transform_sparse_toyrû  y  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¨;×+>Ñ+>Ó+@ÕAr>   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£   )rN   rc   re   rÐ   r7   )rÅ  rÆ  rÇ  rÈ  rœ  r   rd   )r€   r¾  r4   )r@   rj   r   rá  r'   )r]   Ú
X_trans_a0Ú
X_trans_a1s      r=   Útest_quantile_transform_axis1rÿ     sH   € Ü
�‰Ò&Ò(8Ò:SÐTÓU€Aä# A§C¡C¨a¸QÔ?€JÜ# A¨A¸1Ô=€JÜ˜j¨*¯,©,Õ7r>   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   r4   rO   ©r¾  rÔ  rJ  rœ  r½  )r2   r4   éöÿÿÿr7   )r@   rj   r   rî   r'   r9   rX   rv   r•   rD  r5  rŽ   rô  )r»  rt  rb  rE  Ú
X_trans_spr]   ÚX1rm  s           r=   Ú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ò ð ñ r>   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�   r7   rp   rN   rO   rc   r2   r   r  é	   rë   )	rB  rC  r@   rj   r   r   rî   rŽ   r'   )ÚX_1ÚX_2r]   rm  rE  rF  s         r=   Ú#test_quantile_transform_and_inverser
  Î  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Ó<ˆÜ! ! [¸!Ö<ñ	=r>   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   r4   rJ  r7   rø   r  )	r@   rj   rk  r   rî   ræ   rê  r»   rº   )r]   rm  s     r=   Útest_quantile_transform_nanr  Ø  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×:Ñ:Ô<Ð<Ð<Ð<r>   Ú
array_typerj   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   r4   r4   rN   rN   rO   rO   rc   rd   rd   r4   r4   r  r  r  rÐ   rÐ   rˆ  r7   rœ  r3   r4   r£   r½  r   )
r@   rj   r  r#   r   rX   rê  rÌ  r»   rï  )r  r]   r¾  ÚqtÚ	quantiless        r=   Ú*test_quantile_transformer_sorted_quantilesr  ä  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Ñ&Ô'Ð'Ñ'r>   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))r3   r¶  )rÉ  éýÿÿÿ)r7   rÜ  )g      Y@rÜ  )r¶  r÷   r·  zInvalid quantile range: \(rÓ   )r   rU   rV   rW   rX   rB  rC  )Úrange_r_   s     r=   Ú test_robust_scaler_invalid_ranger  ø  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ø   rc   rd   r�   r   Frn   r4   )ro   r€   r   ra  rN   rå   Tr  )r@   r•   r–   rT   r   rº   ræ   rC  r¡  r'   r9   rU   rV   rW   rŠ   rŒ   r0   )	r–  rS   r]   ÚX_csrr�   ÚX_csr_scaledÚX_csc_scaledÚX_csr_scaled_meanÚX_csr_scaled_stds	            r=   Ú%test_scale_function_without_centeringr    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 )Nr4   r   r   r¬  r¯  ©rB  rC  r   r'   r@   rš  r²  ©r]   rE  r°  r³  s       r=   Útest_robust_scale_axis1r   +  sY   € Ü�	‰	€AÜ˜1 1Ô%€GÜœbŸi™i¨°aÔ8¸!Ô<Ü
�‰�g °Ô2€AØ
ˆA‰$��1‘‰+€CÜ˜c 1Õ%r>   c                  óâ   — t         j                  d d …df   } t        | «      }t        t	        j
                  |«      d«       t	        j                  |d¬«      }|d   |d   z
  }t        |d«       y )Nr4   r   r¬  )r°  r  r  s       r=   Útest_robust_scale_1d_arrayr"  4  sZ   € Ü�	‰	’!�Q�$‰€AÜ˜1‹o€GÜœbŸi™i¨Ó0°!Ô4Ü
�‰�g Ô*€AØ
ˆA‰$��1‘‰+€CÜ˜c 1Õ%r>   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 )NrI  rK  rL  rQ  )r�   r�   rO  rR  rM  rN  rP  )r�   rg   r�   )rO  r�   g_Ò­£ªê¿)r�   r�   gÑ–s)®ªú?rO   rë   )r   rî   r'   rŽ   rv   )r]   r_   rE  rÕ  rF  rT  rV  ÚX_expected_news           r=   Ú)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ÖEr>   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å  r4   )r£   r4   r£   iœÿÿÿ)r4   éc   T)r¸  Úunit_variancer   çü©ñÒMbP?)r¢  ræ  )r@   r•   r–   rT   Úvstackrs   r   rX   rv   r“  rU   r!  r‰   rŒ   )rS   r]   ÚX_with_outliersr¸  Úrobust_scalerrE  s         r=   Ú test_robust_scaler_unit_variancer-  V  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Ñ6r>   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 )NrI  )r�   rg   ç333333Ó¿rP  rQ  )r�   rg   çUUUUUUÕ?)r�   rg   gš™™™™™É¿)r�   rg   rg   rM  rN  )r�   rf   r0  rN   rë   )r   rî   r'   rŽ   rv   r   r9   )r’   r]   r_   rE  rÕ  rF  rT  rV  r$  rb  rx  ÚX_trans_sparse_invs               r=   Ú)test_maxabs_scaler_zero_variance_featuresr2  h  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×!;Ñ!;Ó!=Õ>r>   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�   rg   rJ  rO  )r�   rg   r/  r@  )r�   rg   g      YÀr�   )r�   r�   r�   g       À)r�   rg   g{®Gázt?r@  )r�   rg   gú~j¼t“h¿g      Ð¿)r�   rg   rO  r�   )r�   r�   r�   rO  )r   rî   r'   )r]   r_   rE  rÕ  s       r=   Ú'test_maxabs_scaler_large_negative_valuer4  ’  sO   € ò 	ÚÚÚð		€Aô ‹^€FØ×"Ñ" 1Ó%€GâÚ!ÚÚð	€Jô ˜g zÕ2r>   c                 óJ  —  | g d¢g«      }t        «       }|j                  |«      }|j                  |«      } | g d¢g«      }t        |j	                  «       |j	                  «       «       |j                  |«      }t        |j	                  «       |j	                  «       «       y )N)rJ  rg   rg   rS  )r   rX   rv   r'   r9   rŽ   )r–  r]   r_   rE  rÕ  r�   s         r=   Ú(test_maxabs_scaler_transform_one_row_csrr6  ¦  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ÕCr>   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}   r4   r   r   rg   r‚   )rƒ   r„   r…   r   rX   rv   r†   r‡   r@   rj   rC   r'   r¢  r5  rs   r\   r�   rB   rŽ   rˆ   r   )r]   r_   r�   r�   r]  Úmax_abss         r=   Útest_maxabs_scaler_1dr9  ³  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ÕLr>   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   r4   rN   r÷   rø   rù   )rú   rB   r   rX   r   rû   r'   Úmax_abs_r�   r‰   rv   r   r  rL   r  r  )r–  r]   rI   rJ   r  r  Úscaler_incr_csrÚscaler_incr_cscr  r  ÚX_cscr  rF   s                r=   Útest_maxabs_scaler_partial_fitr?  Ó  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/r>   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`
    r1  r4   r   rO   rg   r�   r4  r5  N)r@   r¢  r   r¶   r&   Úlar3  r5  )r3  ÚX_normÚrow_sumsrF   Úrow_maxss        r=   Úcheck_normalizerrE    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¨Õ-ð	 
r>   r3  ©r1  r4  r5  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   rc   rd   r�   rO   T©r3  r~   F)
r@   r•   r–   rT   ÚindptrrC  r   rv   r9   rE  )r3  r–  rS   rt  ÚX_sparse_unprunedÚindptr_3Úindptr_4ÚX_sparse_prunedr]   Ú
normalizerÚX_norm1ÚX_norm2rB  s                r=   Útest_normalizer_l1_l2_maxrQ  !  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Õ*ñ	+ñ+r>   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   rc   rd   r�   rO   FrH  Úcsr)r@   r•   r–   rT   r   rv   r   rl  rè  r9   rE  )r3  r’   rS   rt  r]   rB  s         r=   Ú!test_normalizer_l1_l2_max_non_csrrT  C  s“   € ô
 �)‰)×
Ñ
 Ó
"€CØ�i‰i˜˜1‹o€Gð €GˆAŠqˆD�Má˜Ó!€AÜ˜T¨Ô.×8Ñ8¸Ó;€Fà˜‰?Ðˆ?Ü�?‰?˜6Ô" v§}¡}¸Ò'=Ð=Ð=ä�V‹_€FÜ�T˜6Õ"r>   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   rc   rd   r�   rO   rN   r3   r5  r2  )r@   r•   r–   rT   r¢  Úargmaxr   rv   r9   r(   Úsign)r–  rS   rt  Ú	X_all_negÚX_all_neg_sparser]   rN  rB  s           r=   Útest_normalizer_max_signrZ  X  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r>   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é%   rO   rN   Fr}   r   )r€   r~   r7   rd   )r1  r4  r2  r1  r4   r   )rÈ   r   rú  )rg   r�   r�   )rf   rÈ   r�   rF  T)r3  Úreturn_norm)ç      @rg   rÉ   r4  )rÉ   rg   g1œ¥C+Ø@)rú  rg   rÈ   r5  )r@   r•   r–   rT   r(   r   rá  rs   r˜   r—   rš   r›   r9   r¢  r   r'   rj   rU   rV   ÚNotImplementedError)r–  r]   Úrsrt  rb  rs   r›   r3  rB  rC  ÚX_norm_squaredÚ_Únormss                r=   Útest_normalizerd  m  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)r4   r   rd   )rN   rO   r3   rf   T)Ú	thresholdr~   r   rc   r4   rN   r}   Frµ   r@  rd   )r@   rj   r~   r   r9   rv   r   r   rl  rX   r‡   r—   r-   rU   rV   rW   )re  ÚX_r]   Ú	binarizerÚX_binÚX_floats         r=   Útest_binarizerrl  ›  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         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   ©rd   rc   FrÕ   )rN   rc   )r@   r•   r–   Úrandom_sampler   rX   rv   Údotrá  r   rî   r'   Ú	ones_likerB   r$   )rS   ÚX_fitr_   Ú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                    r=   Útest_center_kernelr�  Ô  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Õ6r>   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)r@   r*  r0  rŠ  s    r=   Úphiz2test_kernelcenterer_non_linear_kernel.<locals>.phi  s;   € ä�y‰yä—‘˜ ¨$Ô/Ü—‘˜ $¨aÔ0Ð0ðó
ð 	
r>   FrÕ   N)r@   r•   r–   rT   r   rî   rv   rá  r   rX   r$   rq  rB   )rS   r]   ry   r†  Úphi_XÚ
phi_X_testr_   Úphi_X_centerÚphi_X_test_centerÚKÚK_testÚK_centerÚK_test_centerÚkernel_centererr}  Ú
K_centeredr  ÚK_test_centereds                     r=   Ú%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°ÕGr>   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)rO   r   r   )r   rO   r   )r   r   rO   rÞ  )rc   r�  ÚsvrrN   )Úcv)r@   rj   rs   rp  rá  r   r
   r   Ú__sklearn_tags__Ú
input_tagsÚpairwiser	   r'   )r]   Úy_truer‹  ÚkcentÚpipelineÚy_preds         r=   Útest_cv_pipeline_precomputedr�  6  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Õ-r>   c                  ó"  — t         j                  j                  d«      } | j                  d«      }t	        «       t        «       t        «       fD ]?  }|j                  |«      j                  |«      }|j                  |«      }t        ||«       ŒA y )Nr   rn  )r@   r•   r–   ro  r   r   r   rX   rv   rî   r(   )rS   r]   ÚobjÚX_transformedÚX_transformed2s        r=   Útest_fit_transformr¢  J  su   € Ü
�)‰)×
Ñ
 Ó
"€CØ×Ñ˜&Ó!€AÜÓ ¤*£,´	³Ð<ò :ˆØŸ™ ›
×,Ñ,¨QÓ/ˆØ×*Ñ*¨1Ó-ˆÜ˜=¨.Õ9ñ:r>   c                  óZ   — ddgddgddgg} t        | «      } t        | g d¢g d¢g d¢g«       y ©Nr4   r   )r4   r4   r   rh   )r   r(   rŠ  s    r=   Útest_add_dummy_featurer¥  S  s5   € Ø
ˆQˆ�!�Q�˜!˜Q˜Ð €AÜ˜!Ó€AÜ�qš9¢i²Ð;Õ<r>   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   rl  r(   r9   )r’   r]   Údesired_formats      r=   Útest_add_dummy_feature_sparser¨  Y  sm   € ñ 	˜1˜a˜& 1 a &¨1¨a¨&Ð1Ó2€AØ—X‘X€NÜ˜!Ó€AÜ�?‰?˜1Ô !§(¡(¨nÒ"<Ð?¸aÓ?Ð<Ü�q—y‘y“{¢Y²	º9Ð$EÕFr>   c                  óÌ   — t         j                  } | d d …d d…f   }t        dd¬«      t        «       t	        «       g}|D ]$  }|j                  | «       |j                  |«       Œ& y )NrN   FrÊ   )rB  rC  r   r   r   rî   )r]   rú   Úscalersr_   s       r=   Útest_fit_cold_startr«  d  sh   € Ü�	‰	€AØŠQ���ˆU‰8€Dô 	 °Ô7Ü‹Ü‹ð€Gð ò #ˆØ×Ñ˜QÔð 	×Ñ˜TÕ"ñ	#r>   Ú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   r@   r¢  r„   rU   rV   r   rv   rŽ   )r¬  Úptr]   s      r=   Ú test_power_transformer_notfittedr²  v  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³  )r@   r¢  r   rî   r&   rŽ   )r¬  r³  r]   r±  rE  s        r=   Útest_power_transformer_inverser¶  €  sK   € ð ˜yÒ(Œ�‰ˆqŒ	¨a€AÜ	 °[Ô	A€BØ×Ñ˜qÓ!€GÜ˜˜2×/Ñ/°Ó8Õ9r>   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µ  r3   r4   r   )r@   r¢  r„   r   rî   r   r   ÚboxcoxÚflattenr   r&   r  rŽ   Úlambdas_rÌ  rB   r†   r”  )r]   r³  r±  rE  ÚX_trans_funcrÕ  Úlambda_expecteds          r=   Útest_power_transformer_1dr¾  Œ  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ñ%3r>   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µ  r4   )r@   r¢  rú   r   rî   r   r¶   rB   r   r¹  rº  r   r&   r»  rŽ   r'   rÌ  r†   r”  )
r]   r³  r±  ÚX_trans_classr¼  rE  ÚjrÕ  ÚlmbdaÚX_invs
             r=   Útest_power_transformer_2drÄ  ¤  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ñ+3r>   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   rX   r@   r¢  rú   rU   rV   rW   rv   r   r­   rB   )r±  ÚX_with_negativesÚnot_positive_messages      r=   Ú9test_power_transformer_boxcox_strictly_positive_exceptionrÈ  ¿  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    r=   Ú+test_power_transformer_yeojohnson_any_inputrÊ  Û  s   € ô �A˜mÖ,r>   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   r4   )
r   r@   r¢  rú   rX   rU   rV   rW   rv   rŽ   )r¬  r±  r]   Úwrong_shape_messages       r=   Ú&test_power_transformer_shape_exceptionrÍ  á  s²   € ä	 Ô	(€BÜ
�‰Œt‹€AØ‡F�Fˆ1„Ið
 	Rð ô 
�‰”zÐ)<Ô	=ñ  Ø
�‰�Q’q˜!˜A˜#�v‘YÔ÷ ô 
�‰”zÐ)<Ô	=ñ (Ø
×Ñ˜Qšq ! A #˜v™YÔ'÷(ð (÷ ð  ú÷(ð (ús   ÁB6ÂCÂ6B?ÃCc                  óð   — t        dd¬«      } t        j                  t        «      d d …dd…f   }t        j                  dg«      | _        | j                  |«      }t        | j                  |«      |«       y )Nr­  Frµ  r   r4   )	r   r@   r¢  rú   rj   r»  rv   r'   rŽ   ©r±  r]   rE  s      r=   Ú"test_power_transformer_lambda_zerorÐ  ô  s]   € Ü	 ¸Ô	>€BÜ
�‰Œt‹’Q˜˜!˜�VÑ€Aô —(‘(˜A˜3“-€B„KØ�l‰l˜1‹o€GÜ˜b×2Ñ2°7Ó;¸QÕ?r>   c                  óÒ   — t        dd¬«      } t        j                  t        «      d d …dd…f   }t        j                  dg«      | _        | j                  |«      }t        ||«       y )Nr®  Frµ  r   r4   )r   r@   r¢  rú   rj   r»  rv   r'   rÏ  s      r=   Ú!test_power_transformer_lambda_onerÒ  þ  sP   € ä	 ¸EÔ	B€BÜ
�‰Œt‹’Q˜˜!˜�VÑ€Aä—(‘(˜A˜3“-€B„KØ�l‰l˜1‹o€GÜ˜g qÕ)r>   zmethod, lmbda))r­  rœ  )r­  rJ  )r®  rœ  )r®  rJ  )r®  rg   c                 ó  — t         j                  j                  d«      }d}|j                  dd|df¬«      }| dk(  rt        j                  |d|z  dz   d «      }t        | d¬	«      }|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  r4   )Úlocr   r6   r­  r3   rÑ   Frµ  rN   rë   )r@   r•   r–   r¿  r0  r   r»  rŽ   rî   r&   Úlinalgr3  rŠ   rŒ   )r¬  rÂ  rS   r[   r]   r±  rÃ  ÚX_inv_transs           r=   Ú#test_optimization_power_transformerr×  	  sæ   € ô" �)‰)×
Ñ
 Ó
"€CØ€IØ�
‰
�q ¨°A¨ˆ
Ó7€Aà�Òô �G‰G�A�r˜E‘z DÑ(¨$Ó/ˆä	 °UÔ	;€BØ�'€B„KØ× Ñ  Ó#€Eä	 °UÔ	;€BØ×"Ñ" 5Ó)€Kä˜œ2Ÿ9™9Ÿ>™>¨!¨k©/Ó:¸YÑFÐPQÕRÜ˜˜;×+Ñ+Ó-°qÕ9Ü˜˜;Ÿ?™?Ó,°aÖ8r>   c                  ó‚   — t        dd¬«      } dg| _        | j                  dgg«      }t        j                  |«      sJ ‚y )Nr­  Frµ  rJ  gÍÌÌÌÌÌ À)r   r»  rŽ   r@   ræ   )r±  rÃ  s     r=   Útest_invserse_box_coxrÙ  .	  s;   € ä	 ¸Ô	>€BØ�%€B„KØ× Ñ  4 & Ó*€EÜ�8‰8�EŒ?Ð‰?r>   c                  óÔ   — g d¢} t        j                  | «      j                  dd«      } t        d¬«      j	                  | «      j
                  }t        j                  |dd¬«      sJ ‚y )	N)gffffff@gÍÌÌÌÌÌ Àrg   rf   gffffffæ?g333333@rq   gffffff@gÍÌÌÌÌÌü?gÍÌÌÌÌÌ@r^  rÈ   gš™™™™™"@g      @g      Àr3   r4   r®  r°  gáz®Gáô?r)  r¥   )r@   rj   r  r   rX   r»  Úallclose)r]   rÂ  s     r=   Útest_yeo_johnson_darwin_examplerÜ  6	  sU   € ò 	V€AÜ
�‰�‹×Ñ˜B Ó"€AÜ MÔ2×6Ñ6°qÓ9×BÑB€EÜ�;‰;�u˜e¨$Õ/Ð/Ñ/r>   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Ô  rd   rë   )r@   r¢  r„   r   rX   r»  ÚconcatenateÚ	full_likerk  r    r&   rv   r(   ræ   )r¬  r]   r±  Úlmbda_no_nansÚ
lmbda_nansrE  s         r=   Ú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«+Õ6r>   c                 óÐ   — t         }| dk(  rt        j                  |«      }t        | |¬«      }t	        |j                  |«      j                  |«      |j                  |«      «       y )Nr­  )r³  )r„   r@   r¢  r   r'   rX   rv   rî   )r¬  r³  r]   r±  s       r=   Ú$test_power_transformer_fit_transformrä  V	  sR   € ô 	€AØ�ÒÜ�F‰F�1‹Iˆä	˜&¨kÔ	:€BÜ˜bŸf™f Q›i×1Ñ1°!Ó4°b×6FÑ6FÀqÓ6IÕJr>   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„   r@   r¢  r~   r'   r   rX   rv   rî   rŽ   ©r¬  r³  r]   Ú
X_originalr±  rE  rÖ  s          r=   Ú test_power_transformer_copy_Truerê  b	  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Ø˜+Ñ%Ð%Ñ%r>   c                 óœ  — t         }| 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è  s          r=   Ú!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Ñ!Ð!Ñ!r>   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Ó   )	rS   ro  r@   rk  r   rU   rV   rW   rî   )r]   r�  r±  s      r=   Ú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:r	  çš™™™™™é?)r‘  rÔ  )r7   r4   )r¤   c                 óÔ   — t        j                  ddd¬«      }t        d¬«      }|j                  |«      j	                  | «       t        j                  |j                  d   «      sJ ‚y )Nrd   r4   rï  r�  Frn   r   )r   r•   r   rX   rû   r@   rï   ru   )r	  r  r_   s      r=   Ú7test_standard_scaler_sparse_partial_fit_finite_variancerñ  «	  sP   € ô �-‰-˜˜1 cÔ
*€CÜ eÔ,€FØ
‡J�JˆsƒO×Ñ Ô$Ü�;‰;�v—{‘{ 1‘~Ô&Ð&Ñ&r>   r?  )r   r4   )r  r7   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)r?  r0  r   r   rN   r7   r4   )
rB  rC  r   rX   r@   rD  r5  Úr_rv   r$   )r?  r]   r_   ÚX_minÚX_maxry   r   s          r=   Útest_minmax_scaler_cliprö  ¼	  s«   € ô 	�	‰	€AÜ¨¸DÔA×EÑEÀaÓH€FÜ—6‘6˜! !Ô$¤b§f¡f¨Q°QÔ&7ˆ5€EÜ�e‰e�E˜"˜1�I ‘N E¨!¨" I°¡NÐ2Ñ3Ð4€FØ×$Ñ$ VÓ,€MÜØØ
˜Ñ
˜M¨!Ñ,¨m¸AÑ.>ÀÈaÑ@PÐ	QÐRõr>   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   rX   rú   rU   rV   rW   rŽ   )r_   r�  s     r=   Ú-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
    r  )rA  rf   rÈ   rú  rc   )rÝ  é   rú  é   é   r{  éU   r¶  rµ   r3   r4   rÒ   Nr�   rg   rÉ  rN   )r@   rj   r—   r  r   r×   rØ   rÙ   ÚRuntimeWarningrî   rº   ræ   rŠ   rU   r!  rŒ   rD  r5  )ÚX_non_gaussianr±  rE  s      r=   Ú1test_power_transformer_significantly_non_gaussianr   Ö	  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)rX   rB  rC  Úget_feature_names_outÚfeature_namesr(   )r  ÚtrÚ	names_outs      r=   Útest_one_to_one_featuresr  î	  s@   € ñ 
‹×	Ñ	œ4Ÿ9™9Ó	%€BØ×(Ñ(¬×);Ñ);Ó<€IÜ�y¤$×"4Ñ"4Õ5r>   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)r  Úpandas)Úcolumnsz0input_features is not equal to feature_names_in_rÓ   ÚabcdN)rU   ÚimportorskipÚ	DataFramerB  rC  r  rX   r  r(   ÚreÚescaperV   rW   r‡   )r  ÚpdÚdfr  Únames_out_df_defaultÚnames_out_df_valid_inÚmsgÚinvalid_namess           r=   Útest_one_to_one_features_pandasr   
  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   )re   rc   r4   ÚkernelcentererN)r@   r•   r–   ro  r   r   rX   r  rB   r(   r¶   )rS   r]   Ú
X_pairwiseru  r  Úsamples_out2rF   s          r=   Ú&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                 ó4  — g d¢g d¢g d¢g}t        d| ¬«      j                  |«      }t        |j                  g d¢«       |j	                  |«      }|j                  |«      }||fD ]0  }| r t        |t        j                  |«      «       Œ%t        ||«       Œ2 y)z>Check that PowerTransfomer leaves constant features unchanged.)rÉ  r   rN   r®  rµ  rÞ  N)r   rX   r$   r»  rî   rv   r@   r‹   )r³  r]   r±  ÚXftÚXtÚXt_s         r=   Ú'test_power_transformer_constant_featurer!  -
  s…   € ò 
’Z¢Ð,€Aä	 ¸KÔ	H×	LÑ	LÈQÓ	O€Bä�B—K‘K¢Ô+à
×
Ñ
˜1Ó
€CØ	�‰�a‹€Bà�Rˆyò $ˆÙÜ˜C¤§¡¨qÓ!1Õ2ä˜C Õ#ñ	$r>   )Ër  r×   Únumpyr@   Únumpy.linalgrÕ  rA  rU   Úscipyr   r   Úsklearnr   Úsklearn.baser   Úsklearn.exceptionsr   Ú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!   Ú-sklearn.utils._test_common.instance_generatorr"   Úsklearn.utils._testingr#   r$   r%   r&   r'   r(   r)   r*   Úsklearn.utils.estimator_checksr+   Úsklearn.utils.fixesr,   r-   r.   r/   Úsklearn.utils.sparsefuncsr0   Ú	load_irisrB  r•   r–   rS   r\   r[   r«   r  rÁ   rT   rú   r  rƒ   r„   Útolistr…   ÚX_list_1colr9   rC   rL   ra   ÚmarkÚparametrizerj   rk  rz   r‘   r�   r˜   r—   r±   rÆ   rÎ   rã   rç   rñ   rõ   r	  r  r  r  r)  r,  r;  rG  rY  r[  r_  rh  rn  rr  ry  r  rƒ  r†  r‹  rŽ  r  r•  r˜  r›  r¤  rª  r´  rº  rÃ  rÑ  rÙ  rã  rñ  rø  rû  rÿ  r  r
  r  r  r  r  r   r"  r%  r-  r2  r4  r6  r9  r?  rE  rQ  rT  rZ  rd  r‡   rl  r�  r’  r�  r¢  r¥  r¨  r«  r²  r¶  r¾  rÄ  rÈ  r¢  r­   rB   rÊ  rÍ  rÐ  rÒ  r×  rÙ  rÜ  râ  rä  rê  rì  rî  r¬   rñ  rö  rø  r   r  r  r  r!  )r–  s   0r=   ú<module>r:     sX  ðó 
Û ã Ý Û ß å Ý Ý -Ý 2Ý 5Ý %÷÷ ÷ ÷ õ ÷& QÝ ß .õõ S÷	÷ 	ó 	õ÷ó õ 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ò@ð$ ‡�×ÑÚ â
’YÐ	¢)ªYº	Ð!BÀSÈ#ÀJÐOâš	Ð"Úš	¢9ªiÐ8ØˆB�H‰H�a˜�VÓð	
ð �—‘˜ˆ^˜bŸf™f b§f¡f¨aÐ0Ð1à�B—F‘F˜A�Ø—‘˜Ÿ™ Ð#Ø—‘˜Ÿ™ Ð#Ø—‘˜Ÿ™ Ð#ð	ð ˆB�H‰H�a˜�VÓð		
ðóð* ‡�×ÑÐ,Ò.SÓTñNó Uó+ð,Nò,"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ðD ‡�×Ñ˜Ò&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 ‡�×ÑØ)Ñ+TÓ+Vóð ‡�×ÑØØ%Ð&Ø ð ó ð
 ‡�×ÑØá‹Ù‹Ù˜$ÔÙÓÙ˜ÔÙ˜ÔÙ˜Ôðð 	!ð ó ñRóóóð*Ròò@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)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ð ‡�×ÑØ	Ø€V‡]�]�2�q #°AÔ6Ð7ð ,öàñ 	�g�b—g’g˜g°"·&±&Ô9Õ:òñóñ'óð'ð ‡�×Ñ˜¨6°9Ð*=Ó>ñ
ó ?ð
ò	-òð0 ‡�×ÑØàØØØØØðó
ñ6ó
ð6ð ‡�×ÑØàØØØØØØØð	óñ0óð0ò&
Wð ‡�×Ñ˜¨¨u¨Ó6ñ$ó 7ñ$ùòAs   õ,x/