Ë
    ÷Q(hql  ã            	       óÄ  — d dl Z d dl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mZmZmZmZ d dlmZ d dlmZmZmZmZ d„ Zej2                  j5                  d	 ej6                  g d
¢ej8                  ¬«      gdf ej6                  ddej:                  gej<                  ¬«      gdf ej6                  g d¢e¬«      gdfdg«      ej2                  j5                  dddg«      ej2                  j5                  dddg«      d„ «       «       «       Z ej2                  j5                  d ej6                  g d
¢ej8                  ¬«      gdf ej6                  g d¢e¬«      gddgfg«      ej2                  j5                  d ej6                  g d¢«       ej6                  g d¢«      g«      ej2                  j5                  dddg«      d„ «       «       «       Z!ej2                  j5                  d  ej6                  d gd!z  d"gd!z  z   d#gz   gej8                  ¬«      jD                  g d
¢gf ej6                  d$gd!z  d%gd!z  z   d&gz   ge¬«      jD                  g d'¢gfg«      ej2                  j5                  dd(dg«      d)„ «       «       Z#ej2                  j5                  d*g d+¢d,f ej6                  g d-¢g d¢g«      jD                  d.fg«      d/„ «       Z$d0„ Z%ej2                  j5                  d1d"d2gd!z  d3d4gfg d¢d5z  d"d2gz   g d6¢fg d7¢d5z  d8d9gz   g d:¢fg«      d;„ «       Z&ej2                  j5                  d<d=d>g«      ej2                  j5                  dddg«      ej2                  j5                  dg d?¢«      d@„ «       «       «       Z'ej2                  j5                  dA ej6                  dBgdCz  «      dBf ej6                  d gdCz  «      d f ej6                  dDgdCz  e¬«      d fgg dE¢¬F«      ej2                  j5                  dg dG¢«      dH„ «       «       Z(dI„ Z)dJ„ Z*ej2                  j5                  dg dK¢«      dL„ «       Z+ej2                  j5                  ddMdg«      dN„ «       Z,dO„ Z-y)Pé    N)Úassert_allcloseÚassert_array_equal)ÚRandomForestRegressor)ÚRidge)ÚKFoldÚShuffleSplitÚStratifiedKFoldÚcross_val_scoreÚtrain_test_split)Úmake_pipeline)ÚKBinsDiscretizerÚLabelBinarizerÚLabelEncoderÚTargetEncoderc                 ó<  — t        j                  |t         j                  ¬«      }t        j                  |«      }|dk(  r�t        j                  |«      }t        |«      D ]j  }|| |k(     }|j                  d   }	|	dk(  r|||<   Œ%t        j                  |«      }
|
|z  }|	|	|z   z  }|t        j                  |«      z  d|z
  |z  z   ||<   Œl |S t        |«      D ]?  }|| |k(     }t        j                  |«      ||z  z   }|j                  d   |z   }||z  ||<   ŒA |S )z0Simple Python implementation of target encoding.©ÚdtypeÚautor   é   )ÚnpÚzerosÚfloat64ÚmeanÚvarÚrangeÚshapeÚsum)Ú	X_ordinalÚ	y_numericÚn_categoriesÚsmoothÚcur_encodingsÚy_meanÚ
y_varianceÚcÚy_subsetÚn_iÚy_subset_varianceÚmÚlambda_Úcurrent_sumÚcurrent_cnts                  úm/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sklearn/preprocessing/tests/test_target_encoder.pyÚ_encode_targetr.      s7  € ä—H‘H˜\´·±Ô<€MÜ�W‰W�YÓ€Fà�ÒÜ—V‘V˜IÓ&ˆ
Ü�|Ó$ò 	TˆAØ  ¨a¡Ñ0ˆHØ—.‘. Ñ#ˆCà�aŠxØ#)�˜aÑ Øä "§¡ xÓ 0ÐØ! JÑ.ˆAØ˜S 1™W‘oˆGà&¬¯©°Ó):Ñ:¸aÀ'¹kÈVÑ=SÑSˆM˜!Òð	Tð Ðä�|Ó$ò 	9ˆAØ  ¨a¡Ñ0ˆHÜŸ&™& Ó*¨V°f©_Ñ<ˆKØ"Ÿ.™.¨Ñ+¨fÑ4ˆKØ*¨[Ñ8ˆM˜!Òð		9ð
 Ðó    zcategories, unknown_value©r   r   é   r   é   ç      ð?ç      @ç      @)ÚcatÚdogÚsnakeÚbear)r   é   r!   ç      @r   Útarget_typeÚbinaryÚ
continuousc                 óH  — d}t        j                  dgdz  dgdz  z   dgdz  z   gt         j                  ¬«      j                  }t        j                  g d	¢gt         j                  ¬«      j                  }|j                  d   }| d
k(  r|}	|}
n| d   |   }	| d   |   }
t        j
                  |
|ggf«      }
t         j                  j                  |«      }d}|dk(  r7|j                  dd|¬«      }t        j                  ddgt        ¬«      }||   }n|dk(  sJ ‚|j                  dd|¬«      }|}|j                  |«      }||   }|	|   }	||   }||   }|dk(  rt        ||d¬«      }nt        ||d¬«      }t        j                  |t         j                  ¬«      }|j!                  ||«      D ].  \  }}||df   ||   }}t#        ||||«      }|||df      ||df<   Œ0 t%        || ||¬«      }|j'                  |	|«      }|j(                  |k(  sJ ‚t+        ||«       t-        |j.                  «      dk(  sJ ‚|dk(  rt1        |j2                  «       n|j2                  �J ‚t        j4                  |«      }t#        |dd…df   |||«      }t+        |j.                  d   |«       |j6                  t9        j:                  |«      k(  sJ ‚t        j
                  |t        j                  |g«      f«      j=                  dd«      }|j?                  |
«      }t+        ||«       y)zíCheck encoding for binary and continuous targets.

    Compare the values returned by `TargetEncoder.fit_transform` against the
    expected encodings for cv splits from a naive reference Python
    implementation in _encode_target.
    r:   r   é   r   é   r1   é(   r   r0   r   r=   ©ÚlowÚhighÚsizer6   r7   r>   éöÿÿÿT©Ún_splitsÚrandom_stateÚshuffle)r!   Ú
categoriesÚcvrJ   Néÿÿÿÿ) r   ÚarrayÚint64ÚTr   ÚconcatenateÚrandomÚRandomStateÚrandintÚobjectÚuniformÚpermutationr	   r   Ú
empty_liker   Úsplitr.   r   Úfit_transformÚtarget_type_r   ÚlenÚ
encodings_r   Úclasses_r   Útarget_mean_ÚpytestÚapproxÚreshapeÚ	transform)rL   Úunknown_valueÚglobal_random_seedr!   r<   r    ÚX_train_int_arrayÚX_test_int_arrayÚ	n_samplesÚX_trainÚX_testÚdata_rngrI   r   Útarget_namesÚy_trainÚshuffled_idxrM   Úexpected_X_fit_transformÚ	train_idxÚtest_idxÚX_Úy_r"   Útarget_encoderÚX_fit_transformr#   Úexpected_encodingsÚexpected_X_test_transformÚX_test_transforms                                 r-   Útest_encodingrz   7   s`  € ð& €LÜŸ™ 1 #¨¡(¨a¨S°2©XÑ"5¸¸¸b¹Ñ"@Ð!AÌÏÉÔR×TÑTÐÜ—x‘x¢ ´2·8±8Ô<×>Ñ>ÐØ!×'Ñ'¨Ñ*€Ià�VÒØ#ˆØ!‰à˜Q‘-Ð 1Ñ2ˆØ˜A‘Ð/Ñ0ˆä�^‰^˜V } oÐ%6Ð7Ó8€Fä�y‰y×$Ñ$Ð%7Ó8€HØ€HØ�hÒØ×$Ñ$¨°¸Ð$ÓCˆ	Ü—x‘x ¨ ´fÔ=ˆØ˜yÑ)‰ð ˜lÒ*Ð*Ð*Ø×$Ñ$¨°2¸IÐ$ÓFˆ	Øˆà×'Ñ'¨	Ó2€LØ)¨,Ñ7ÐØ�lÑ#€GØ�lÑ#€GØ˜,Ñ'€Ið �hÒÜØÐ,>Èô
‰ô ˜HÐ3EÈtÔTˆô  "Ÿ}™}Ð->ÄbÇjÁjÔQÐà!Ÿx™xÐ(9¸7ÓCò 
Ñˆ	�8Ø" 9¨a <Ñ0°)¸IÑ2FˆBˆÜ& r¨2¨|¸VÓDˆØ0=Ø˜h¨˜kÑ*ñ1
Ð  ¨1 Ò-ð
ô #ØØØØ'ô	€Nð %×2Ñ2°7¸GÓD€Oà×&Ñ&¨+Ò5Ð5Ð5Ü�OÐ%=Ô>Üˆ~×(Ñ(Ó)¨QÒ.Ð.Ð.Ø�hÒÜ˜>×2Ñ2°LÕAà×&Ñ&Ð.Ð.Ð.ô �W‰W�YÓ€FÜ'Øš!˜Q˜$Ñ ¨L¸&óÐô �N×-Ñ-¨aÑ0Ð2DÔEØ×&Ñ&¬&¯-©-¸Ó*?Ò?Ð?Ð?ô !#§¡Ø	œRŸX™X v hÓ/Ð0ó!ç�gˆb�!ƒnð ð &×/Ñ/°Ó7ÐÜÐ$Ð&?Õ@r/   zcategories, unknown_valuesÚrabbitÚtarget_labels)r   r1   r:   )ÚaÚbr%   c           
      óœ  — t         j                  j                  | «      }d}d}t        j                  |j	                  dd|¬«      «      }t        j                  |j	                  dd|¬«      «      }	|d   |   }
|d   |	   }t        j
                  |
|f«      }t        j
                  ||	f«      }ddgg d¢g}d}t        j                  |j	                  d||¬«      «      }||   }t        «       j                  |«      }d}t        || d¬	«      }t        j                  |j                  d   |j                  d   |z  ft         j                  ¬
«      }t        |«      D ]r  \  }}t        |«      D ]_  }|j                  ||«      D ]H  \  }}|dd…|f   }|||f   ||   }}t        ||t!        |«      |«      }|||z  z   }||||f      |||f<   ŒJ Œa Œt t#        ||| ¬«      } | j                  ||«      }!| j$                  dk(  sJ ‚t'        |!|«       g }"t        |«      D ]M  \  }}t        |«      D ]:  }|dd…|f   }t        |dd…|f   |t!        |«      |«      }|"j)                  |«       Œ< ŒO t!        | j*                  «      ||z  k(  sJ ‚t        ||z  «      D ]  }#t'        | j*                  |#   |"|#   «       Œ  t-        | j.                  |«       t        j                  ddgddgddgg«      }$|dk(  r|$}%nnt        j0                  |$dd…dd…f   t2        ¬
«      }%t        |$j                  d   «      D ]  }&|d   |$dd…|&f      |%dd…|&f<   Œ t        j4                  |%|f«      }%t        j6                  |d¬«      }'t        j                  |$j                  d   |$j                  d   |z  ft         j                  ¬
«      }(|$j                  d   })g d¢}t        |)dz
  «      D ]'  }*t        |"«      D ]  \  }#}+|+|$|*||#   f      |(|*|#f<   Œ Œ) g d¢},t        ||z  «      D ]  }#|'|,|#      |(|)dz
  |#f<   Œ | j9                  |%«      }-t'        |-|(«       y)z&Check encoding for multiclass targets.éP   r1   r   rC   r:   r   r0   TrH   r   N©r!   rM   rJ   Ú
multiclassr2   é   r   rN   ©Úaxis)r   r   r   r   r   r   )r   r   r1   r   r   r1   )r   rS   rT   rO   rU   Úcolumn_stackr   r[   r	   Úemptyr   r   Ú	enumerater   rZ   r.   r]   r   r\   r   Úappendr^   r   r_   rY   rV   Úvstackr   rd   ).rf   rL   Úunknown_valuesr|   r!   Úrngri   Ú
n_featuresÚ
feat_1_intÚ
feat_2_intÚfeat_1Úfeat_2rj   ÚX_train_intÚcategories_Ú	n_classesÚy_train_intrn   Úy_train_encrI   rM   rp   Úf_idxÚcatsÚc_idxrq   rr   Úy_classrs   rt   Úcurrent_encodingÚexp_idxru   rv   rw   ÚiÚ
X_test_intrk   Ú
column_idxr#   rx   Ún_rowsÚrow_idxÚencÚmean_idxry   s.                                                 r-   Útest_encoding_multiclassr¤   ¢   sÖ  € ô �)‰)×
Ñ
Ð 2Ó
3€Cà€IØ€JÜ—‘˜#Ÿ+™+¨!°!¸)˜+ÓDÓE€JÜ—‘˜#Ÿ+™+¨!°!¸)˜+ÓDÓE€JØ˜‰]˜:Ñ&€FØ˜‰]˜:Ñ&€FÜ�o‰o˜v vÐ.Ó/€GÜ—/‘/ :¨zÐ":Ó;€KØ�q�6š9Ð%€Kà€IÜ—(‘(˜3Ÿ;™;¨1°9À9˜;ÓMÓN€KØ˜KÑ(€GÜ Ó"×0Ñ0°Ó9€Kà€HÜ	ØÐ(:ÀDô
€Bô
  "Ÿx™xØ	×	Ñ	˜1Ñ	˜{×0Ñ0°Ñ3°iÑ?Ð@Ü�j‰jô Ðô ! Ó-ò ‰ˆˆtÜ˜9Ó%ò 	ˆEØ')§x¡x°¸Ó'Aò 
Ñ#�	˜8Ø%¢a¨ hÑ/�Ø$ Y°Ð%5Ñ6¸À	Ñ8J�B�Ü#1°"°b¼#¸d»)ÀVÓ#LÐ ð   5¨9Ñ#4Ñ5�Ø>NØ ¨% Ñ0ñ?Ð(¨°7Ð):Ò;ñ
ñ	ðô #ØØØ'ô€Nð
 %×2Ñ2°7¸GÓD€Oà×&Ñ&¨,Ò6Ð6Ð6Ü�OÐ%=Ô>ð ÐÜ  Ó-ò 8‰ˆˆtÜ˜9Ó%ò 	8ˆEØ!¢! U (Ñ+ˆGÜ-ØšA˜u˜HÑ% w´°D³	¸6ó Ðð ×%Ñ%Ð&6Õ7ñ	8ð8ô ˆ~×(Ñ(Ó)¨Z¸)Ñ-CÒCÐCÐCÜ�: 	Ñ)Ó*ò MˆÜ˜×1Ñ1°!Ñ4Ð6HÈÑ6KÕLðMä�~×.Ñ.°Ô>ô —‘˜A˜q˜6 A q 6¨A¨q¨6Ð2Ó3€JØ˜ÒØ‰ä—‘˜z¨#¨2¨#ªq¨&Ñ1¼Ô@ˆÜ 
× 0Ñ 0°Ñ 3Ó4ò 	OˆJØ$.¨q¡M°*¸S¸b¸SÀ*¸_Ñ2MÑ$NˆF’1�j�=Ò!ð	Oô —‘˜F NÐ3Ó4ˆä�W‰W�[ qÔ)€FÜ "§¡Ø	×	Ñ	˜!Ñ	˜j×.Ñ.¨qÑ1°IÑ=Ð>Ü�j‰jô!Ðð ×Ñ˜aÑ €FÚ€Eä˜ !™Ó$ò WˆÜÐ 2Ó3ò 	W‰FˆAˆsØ47¸
À7ÈEÐRSÉHÐCTÑ8UÑ4VÐ% g¨q jÒ1ñ	WðWò "€HÜ�9˜zÑ)Ó*ò GˆØ39¸(À1¹+Ñ3FÐ! &¨1¡*¨a -Ò0ðGð &×/Ñ/°Ó7ÐÜÐ$Ð&?Õ@r/   zX, categoriesé
   r   r:   r6   r7   r8   )r7   r6   Úcowç      @c                 óÊ  — t         j                  j                  d«      }|j                  dd| j                  d   ¬«      }t        ||d¬«      j                  | |«      }|j                  «       }|j                  | dd «      }|d   t        j                  |«      k(  sJ ‚t        |j                  «      d	k(  sJ ‚|j                  d   d   t        j                  |«      k(  sJ ‚y)
zHCustom categories with unknown categories that are not in training data.r   rG   r@   rC   )rL   r!   rJ   rN   N)r   r   r   )r   rS   rT   rW   r   r   Úfitr   rd   ra   rb   r]   r^   )ÚXrL   r!   rŒ   Úyr¢   r#   ÚX_transs           r-   Útest_custom_categoriesr­     sÉ   € ô$ �)‰)×
Ñ
 Ó
"€CØ�‰˜ "¨1¯7©7°1©:ˆÓ6€AÜ
 :°fÈ1Ô
M×
QÑ
QÐRSÐUVÓ
W€Cð �V‰V‹X€FØ�m‰m˜A˜b˜c˜FÓ#€GØ�4‰=œFŸM™M¨&Ó1Ò1Ð1Ð1äˆs�~‰~Ó !Ò#Ð#Ð#à�>‰>˜!Ñ˜RÑ ¤F§M¡M°&Ó$9Ò9Ð9Ñ9r/   zy, msg)r   r1   r   r   z'Found input variables with inconsistent)r   r1   r   z7Target type was inferred to be 'multiclass-multioutput'c                 óà   — t        j                  g d¢g«      j                  }t        «       }t	        j
                  t        |¬«      5  |j                  || «       ddd«       y# 1 sw Y   yxY w)zCheck invalidate input.)r   r   r   ©ÚmatchN)r   rO   rQ   r   ra   ÚraisesÚ
ValueErrorr[   )r«   Úmsgrª   r¢   s       r-   Útest_errorsr´   5  sT   € ô 	�‰’)�Ó×Ñ€Aä
‹/€CÜ	�‰”z¨Ô	-ñ  Ø×Ñ˜!˜QÔ÷ ÷  ñ  ús   ÁA$Á$A-c                  óº  — t        j                  g d¢g«      j                  } t        j                  g d¢«      }t        d¬«      }t	        j
                  t        t        j                  d«      ¬«      5  |j                  | |«       ddd«       |j                  dk(  sJ ‚t        dd	¬
«      }|j                  | |«       |j                  d	k(  sJ ‚y# 1 sw Y   ŒKxY w)z@Check inferred and specified `target_type` on regression target.)r   r   r   r   r   r   )r3   ç       @r4   r¶   r4   r§   r1   ©rM   zQThe least populated class in y has only 1 members, which is less than n_splits=2.r¯   Nr‚   r>   )rM   r<   )r   rO   rQ   r   ra   ÚwarnsÚUserWarningÚreÚescaper[   r\   )rª   r«   r¢   s      r-   Útest_use_regression_targetr¼   H  sÀ   € ä
�‰Ò$Ð%Ó&×(Ñ(€AÜ
�‰Ò/Ó0€Aä
˜1Ô
€CÜ	�‰ÜÜ�i‰iðó
ô
ñ  ð 	×Ñ˜!˜QÔ÷ ð ×Ñ˜|Ò+Ð+Ð+ä
˜1¨,Ô
7€CØ×Ñ�a˜ÔØ×Ñ˜|Ò+Ð+Ñ+÷ ð  ús   Á4CÃCzy, feature_namesr1   ÚAÚBé   )ÚA_1ÚA_2ÚA_3ÚB_1ÚB_2ÚB_3)Úy1Úy2Úy3rÆ   rÇ   )ÚA_y1ÚA_y2ÚA_y3ÚB_y1ÚB_y2ÚB_y3c                 óâ  — t        j                  d«      }|j                  ddgdz  ddgdz  dœ«      }t        ddd	¬
«      }|j	                  d¬«       t        ddd	¬
«      }|j	                  d¬«       |j                  || «      }|j                  || «      }t        |j                  «       |«       t        |j                  «       |«       t        |j                  «       |j                  «       y)z*Check TargetEncoder works with set_output.Úpandasr}   r~   r¥   r   r1   )r½   r¾   r4   r   ©rM   r!   rJ   Údefault)rd   N)ra   ÚimportorskipÚ	DataFramer   Ú
set_outputr[   r   Úto_numpyr   Úget_feature_names_outÚcolumns)r«   Úfeature_namesÚpdÚX_dfÚenc_defaultÚ
enc_pandasÚ	X_defaultÚX_pandass           r-   Ú!test_feature_names_out_set_outputrà   ]  sØ   € ô 
×	Ñ	˜XÓ	&€Bà�<‰<˜s C˜j¨2™o°Q¸°F¸R±KÑ@ÓA€Dä 1¨S¸qÔA€KØ×Ñ YÐÔ/Ü !¨C¸aÔ@€JØ×Ñ HÐÔ-à×)Ñ)¨$°Ó2€IØ×'Ñ'¨¨aÓ0€Hä�H×%Ñ%Ó'¨Ô3Ü�z×7Ñ7Ó9¸=ÔIÜ�z×7Ñ7Ó9¸8×;KÑ;KÕLr/   Ú	to_pandasTF)úbinary-intsú
binary-strr>   c                 óº  — 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gt         j                  ¬«      }|dk(  r?t        j                  g d¢«      }t        «       j	                  |«      }t        ddd¬«      }n{|d	k(  r?t        j                  g d
¢«      }t        «       j	                  |«      }t        ddd¬«      }n7t        j                  g d¢t         j                  ¬«      }|}t        ddd¬«      }t        j                  |«      }g d¢ddgg}t        j                  ddgddgddggt         j                  ¬«      }	| rst        j                  d«      }
|
j                  |dd…df   t        j                  ddgt        ¬«      |dd…df      dœ«      }|
j                  |	dd…df   g d¢dœ«      }	n|}t        j                  |t         j                  ¬«      }t        |«      D ]Q  \  }}|j!                  ||«      D ]7  \  }}|||f   ||   }}t#        ||t%        |«      |«      }||||f      |||f<   Œ9 ŒS g }t        |«      D ]4  \  }}t#        |dd…|f   |t%        |«      |«      }|j'                  |«       Œ6 t        j                  |d   d   |d   d   g||d   d   g|d   d   |ggt         j                  ¬«      }t)        |dd¬«      }|j	                  ||«      }t+        ||«       t%        |j,                  «      dk(  sJ ‚t/        d«      D ]  }t+        |j,                  |   ||   «       Œ  |j1                  |	«      }t+        ||«       y)z,Check target encoder with multiple features.r   r   r1   r   rã   )r}   r~   r}   r}   r~   r~   r}   r~   T)rJ   rK   râ   )r:   r2   r:   r:   r:   r2   r2   r2   )r4   gffffff@g333333@g      @gffffff@g      @çš™™™™™$@g333333@r0   r:   r¥   rÐ   Nr6   r7   )Úfeat0Úfeat1)r7   r6   r8   r�   )r   rO   rP   r   r[   r	   Úfloat32r   r   ra   rÓ   rÔ   rV   rY   r   rˆ   rZ   r.   r]   r‰   r   r   r^   r   rd   )rá   r!   r<   r   rn   Ú	y_integerrM   r#   rL   rk   rÚ   rj   rp   r—   r˜   rq   rr   rs   rt   r›   rw   rx   r¢   rv   r�   ry   s                             r-   Útest_multiple_features_quickrê   {  s†  € ô
 —‘Ø
ˆQˆ�!�Q�˜!˜Q˜ ! Q ¨!¨Q¨°!°Q°¸!¸Q¸À!ÀQÀÐHÔPR×PXÑPXô€Ið �lÒ"Ü—(‘(ÒCÓDˆÜ “N×0Ñ0°Ó9ˆ	Ü˜Q¨Q¸Ô=‰Ø	˜Ò	%Ü—(‘(Ò3Ó4ˆÜ “N×0Ñ0°Ó9ˆ	Ü˜Q¨Q¸Ô=‰ä—(‘(ÒDÌBÏJÉJÔWˆØˆ	Ü�1 1¨dÔ3ˆÜ�W‰W�YÓ€FÚ˜a ˜VÐ$€Jä�X‰Xà�ˆFØ�ˆFØ�ˆGð	
ô
 �h‰hô€Fñ Ü× Ñ  Ó*ˆà—,‘,à"¢1 a 4™ÜŸ™ 5¨% .¼Ô?À	Ê!ÈQÈ$ÁÑPñó
ˆð —‘¨ªq°!¨t©Ò?VÑWÓX‰àˆô  "Ÿ}™}¨Y¼b¿j¹jÔIÐÜ  Ó,ò ‰ˆˆtØ#%§8¡8¨I°yÓ#Aò 	ÑˆI�xØ˜y¨%Ð/Ñ0°)¸IÑ2F�ˆBÜ-¨b°"´c¸$³iÀÓHÐØ8HØ˜( E˜/Ñ*ñ9Ð$ X¨u _Ò5ñ	ðð ÐÜ  Ó,ò 4‰ˆˆtÜ)Ø’a˜�hÑ ¬C°«I°vó
Ðð 	×!Ñ!Ð"2Õ3ð	4ô !#§¡à Ñ" 1Ñ%Ð'9¸!Ñ'<¸QÑ'?Ð@ØÐ'¨Ñ*¨1Ñ-Ð.Ø Ñ" 1Ñ% vÐ.ð	
ô
 �j‰jô!Ðô ˜v¨!¸!Ô
<€CØ×'Ñ'¨°Ó9€OÜ�OÐ%=Ô>äˆs�~‰~Ó !Ò#Ð#Ð#Ü�1‹Xò BˆÜ˜Ÿ™ qÑ)Ð+=¸aÑ+@ÕAðBð —}‘} VÓ,ÐÜÐ$Ð&?Õ@r/   z	y, y_meang333333@r@   r}   )r>   r=   zbinary-string)Úids)r   r§   ç        c                 ó*  — t        j                  dgdz  g«      j                  }|j                  d   }t	        d|d¬«      }|j                  || «      }t        |t        j                  |gg|d¬«      «       |j                  d   d   t        j                  |«      k(  sJ ‚|j                  t        j                  |«      k(  sJ ‚t        j                  dgdgg«      }|j                  |«      }t        |t        j                  |ggdd¬«      «       y)z5Check edge case where feature and target is constant.r   r@   r   r1   rÑ   r„   N)r   rO   rQ   r   r   r[   r   Úrepeatr^   ra   rb   r`   rd   )	r«   r#   r!   rª   ri   r¢   r¬   rk   ÚX_test_transs	            r-   Ú test_constant_target_and_featurerð   Ð  sé   € ô 	�‰�1�#˜‘(�Ó×Ñ€AØ—‘˜‘
€Iä
˜1 V¸!Ô
<€CØ×Ñ  1Ó%€GÜ�GœRŸY™Y¨¨ z°9À1ÔEÔFØ�>‰>˜!Ñ˜QÑ¤6§=¡=°Ó#8Ò8Ð8Ð8Ø×ÑœvŸ}™}¨VÓ4Ò4Ð4Ð4ä�X‰X˜�s˜Q˜C�jÓ!€FØ—=‘= Ó(€LÜ�L¤"§)¡)¨f¨X¨J¸ÀÔ"BÕCr/   c                 óf  — d}d}t         j                  j                  | «      }|j                  |¬«      }|j	                  d||¬«      j                  dd«      }|j                  «       }||   }||   }t        d| ¬«      }|j                  ||«      }t        d	¬
«      }|j                  ||«      }	t        dd| ¬«      }
t        d| ¬«      }t        |
|||¬«      j                  «       dk  sJ ‚t        |
|||¬«      j                  «       dk  sJ ‚t        |
|	||¬«      j                  «       dkD  sJ ‚y )NrA   i¸  ©rF   r   rN   r   T)rK   rJ   F)rK   r¥   r@   )Ún_estimatorsÚmin_samples_leafrJ   é2   )rI   rJ   r·   çš™™™™™¹?ç      à?)r   rS   rT   ÚnormalrU   rc   Úargsortr   r[   r   r   r
   r   )rf   Úcardinalityri   rŒ   rn   rj   Úy_sorted_indicesru   ÚX_encoded_train_shuffledÚX_encoded_train_no_shuffledÚ	regressorrM   s               r-   ÚFtest_fit_transform_not_associated_with_y_if_ordinal_categorical_is_notrÿ   ê  sQ  € ð €KØ€IÜ
�)‰)×
Ñ
Ð 2Ó
3€CØ�j‰j˜iˆjÓ(€GØ�k‰k˜!˜[¨yˆkÓ9×AÑAÀ"ÀaÓH€Gð —‘Ó(ÐØÐ&Ñ'€GØÐ&Ñ'€Gä"¨4Ð>PÔQ€NØ-×;Ñ;¸GÀWÓMÐä"¨5Ô1€NØ"0×">Ñ">¸wÈÓ"PÐô &Ø¨"Ð;Mô€Iô 
˜rÐ0BÔ	C€BÜ˜9 g¨w¸2Ô>×CÑCÓEÈÒKÐKÐKä˜	Ð#;¸WÈÔL×QÑQÓSØ
ò	ðð	ô 	˜	Ð#>ÀÈBÔO×TÑTÓVØ
ò	ðñ	r/   c                  óJ  — t        j                  g d¢g«      j                  } t        j                  g d¢«      }t        ddd¬«      }|j	                  | |«      }t        |d   t        j                  |dd	 «      «       t        |d
   t        j                  |d	d «      «       y	)zECheck edge case with zero smoothing and cv does not contain category.)
r   r   r   r   r   r   r   r   r   r   )
gÍÌÌÌÌÌ @g333333@g333333ó?gÍÌÌÌÌÌ@r3   g      "@rå   gffffff,@gš™™™™™*@g      .@rì   Fr1   )r!   rK   rM   r   rƒ   NrN   )r   rO   rQ   r   r[   r   r   )rª   r«   r¢   r¬   s       r-   Útest_smooth_zeror    s…   € ä
�‰Ò0Ð1Ó2×4Ñ4€AÜ
�‰ÒGÓH€Aä
˜s¨E°aÔ
8€CØ×Ñ  1Ó%€Gô �G˜A‘J¤§¡¨¨!¨"¨£Ô/ô �G˜B‘K¤§¡¨¨2¨A¨£Õ0r/   )rì   g     @�@r   c                 óh  — t         j                  j                  |«      }|j                  d¬«      }d}t	        |d¬«      j                  |j                  dd«      «      }t        |||¬«      \  }}}}	|j                  |«      }
|
|j                  t         j                  «         }|
|j                  t         j                  «         }t        | |¬	«      }|j                  ||«      }|j                  |«      }|j                  ||«      }|j                  |«      }t        ||«       t        ||«       y )
Niè  rò   rA   Úordinal)Ún_binsÚencoderN   r   ©rJ   ©r!   rJ   )r   rS   rT   rø   r   r[   rc   r   rX   ÚastypeÚint32r   rd   r   )r!   rf   rŒ   r«   r    rª   rj   rk   rn   Úy_testÚpermutated_labelsÚX_train_permutedÚX_test_permutedru   ÚX_train_encodedÚX_test_encodedÚX_train_permuted_encodedÚX_test_permuted_encodeds                     r-   Ú3test_invariance_of_encoding_under_label_permutationr  )  s  € ô
 �)‰)×
Ñ
Ð 2Ó
3€Cð 	�
‰
˜ˆ
Ó€AØ€LÜ °YÔ?×MÑMØ	�	‰	�"�aÓó	€Aô (8Ø	ˆ1Ð-ô(Ñ$€GˆV�W˜fð Ÿ™¨Ó5ÐØ(¨¯©¼¿¹Ó)AÑBÐØ'¨¯©´b·h±hÓ(?Ñ@€Oä"¨&Ð?QÔR€NØ$×2Ñ2°7¸GÓD€OØ#×-Ñ-¨fÓ5€Nà-×;Ñ;Ð<LÈgÓVÐØ,×6Ñ6°ÓGÐä�OÐ%=Ô>Ü�NÐ$;Õ<r/   rì   c                 ó¬  — t        ddd¬«      }d}t        j                  j                  |«      }|j	                  |«      }d|j	                  |«      z  }d}t        |dd	|¬
«      j                  ||z   j                  dd«      «      }|j                  |«      }	|	|j                  t        j                  «         }|j                  |«      }
|j                  t        d|z  «      |d¬«      j                  dd«      }t        j                  ||
|gd¬«      }t        ||d¬«      \  }}}}|j                  ||«      }|j!                  ||«      dk  sJ ‚|j!                  ||«      dk  sJ ‚t#        t%        | |¬«      |«      j                  ||«      }|d   j&                  }|j!                  ||«      dkD  sJ |«       ‚|j!                  ||«      dkD  sJ |«       ‚|d   t)        j*                  dd¬«      k(  sJ ‚t        j,                  |dd  «      dk  j/                  «       sJ ‚t%        | |¬«      j                  ||«      }|j1                  |«      }|j1                  |«      }|j                  ||«      }|j&                  }|j!                  ||«      dkD  sJ |«       ‚|j!                  ||«      dk  sJ |«       ‚t-        |d   «      t-        |d   «      k  sJ ‚y )Ng�íµ ÷Æ°>ÚlsqrF)ÚalphaÚsolverÚfit_interceptiPÃ  gš™™™™™é?éd   r  rW   )r  r  ÚstrategyrJ   rN   r   gÍÌÌÌÌÌì?T)rF   Úreplacer„   r   r  rö   r  r÷   g{®Gáz„?)Úabsgš™™™™™É?gffffffæ?r1   )r   r   rS   rT   Úrandnr   r[   rc   rX   r  r	  ÚchoiceÚintrR   r   r©   Úscorer   r   Úcoef_ra   rb   r  Úallrd   )r!   rf   Úlinear_regressionri   rŒ   r«   Únoiser    ÚX_informativer  Ú
X_shuffledÚX_near_unique_categoriesrª   rj   rk   rn   r
  Ú	raw_modelÚmodel_with_cvÚcoefru   ÚX_enc_no_cv_trainÚX_enc_no_cv_testÚmodel_no_cvs                           r-   Ú*test_target_encoding_for_linear_regressionr-  M  sú  € ô  D°ÀuÔMÐð €IÜ
�)‰)×
Ñ
Ð 2Ó
3€CØ�	‰	�)Ó€Að
 �#—)‘)˜IÓ&Ñ&€EØ€LÜ$ØØØØô	÷
 �m�Q˜‘Y×'Ñ'¨¨AÓ.Ó/ð ð Ÿ™¨Ó5ÐØ% m×&:Ñ&:¼2¿8¹8Ó&DÑE€Mð —‘ Ó/€Jð  #Ÿz™zÜˆC�)‰OÓ 9°dð  *ó  ç�gˆb�!ƒnð ô
 	�‰Ø	˜
Ð$<Ð=Øô	€Aô (8¸¸1È1Ô'MÑ$€GˆV�W˜fð
 "×%Ñ% g¨wÓ7€IØ�?‰?˜7 GÓ,¨sÒ2Ð2Ð2Ø�?‰?˜6 6Ó*¨SÒ0Ð0Ð0ô "Ü˜V°#Ô6Ð8Ióç	�cˆ'�7Óð ð ˜Ñ×"Ñ"€DØ×Ñ˜w¨Ó0°3Ò6Ð<¸Ó<Ð6Ø×Ñ˜v vÓ.°Ò4Ð:°dÓ:Ð4ð �‰7”f—m‘m A¨4Ô0Ò0Ð0Ð0Ü�F‰F�4˜˜�8Ó˜sÑ"×'Ñ'Ô)Ð)Ð)ô #¨&¸sÔC×GÑGØ�ó€Nð '×0Ñ0°Ó9ÐØ%×/Ñ/°Ó7ÐØ#×'Ñ'Ð(9¸7ÓC€Kð ×Ñ€DØ×ÑÐ.°Ó8¸3Ò>ÐDÀÓDÐ>Ø×ÑÐ-¨vÓ6¸Ò<ÐB¸dÓBÐ<ô
 ˆt�A‰w‹<œ#˜d 1™g›,Ò&Ð&Ñ&r/   c                  óö   — t        j                  dd¬«      } | j                  dd«      5  | j                  g d¢g d¢dœ«      }t	        d	¬
«      j                  |dg   |d   «       ddd«       y# 1 sw Y   yxY w)z¸
    Test target-encoder cython code when y is read-only.

    The numpy array underlying df["y"] is read-only when copy-on-write is enabled.
    Non-regression test for gh-27879.
    rÐ   z2.0)Ú
minversionzmode.copy_on_writeT)r}   r~   r~   )r§   r;   r5   )Úxr«   r>   )r<   r0  r«   N)ra   rÓ   Úoption_contextrÔ   r   r©   )rÚ   Údfs     r-   Útest_pandas_copy_on_writer3  À  sr   € ô 
×	Ñ	˜X°%Ô	8€BØ	×	Ñ	Ð/°Ó	6ñ HØ�\‰\¢²oÑFÓGˆÜ ,Ô/×3Ñ3°B¸°u±I¸rÀ#¹wÔG÷H÷ Hñ Hús   ª<A/Á/A8).rº   Únumpyr   ra   Únumpy.testingr   r   Úsklearn.ensembler   Úsklearn.linear_modelr   Úsklearn.model_selectionr   r   r	   r
   r   Úsklearn.pipeliner   Úsklearn.preprocessingr   r   r   r   r.   ÚmarkÚparametrizerO   rP   Únanr   rV   rz   r¤   rQ   r­   r´   r¼   rà   rê   rð   rÿ   r  r  r-  r3  © r/   r-   ú<module>r?     sÃ  ðÛ 	ã Û ß =å 2Ý &÷õ õ +÷ó òð< ‡�×ÑØà
ˆ"�(‰(’9 B§H¡HÔ
-Ð	.°Ð2Ø
ˆ"�(‰(�C˜˜bŸf™fÐ%¨R¯Z©ZÔ
8Ð	9¸3Ð?Ø
ˆ"�(‰(Ò*°&Ô
9Ð	:¸FÐCØð	óð ‡�×Ñ˜ C¨ =Ó1Ø‡�×Ñ˜¨°<Ð(@ÓAñ]Aó Bó 2óð]Að@ ‡�×ÑØ à
ˆ"�(‰(’9 B§H¡HÔ
-Ð	.°Ð7Ø
ˆ"�(‰(Ò*°&Ô
9Ð	:¸VÀXÐ<NÐOðóð ‡�×ÑØ�h�b—h‘hšyÓ)¨8¨2¯8©8²OÓ+DÐEóð ‡�×Ñ˜ C¨ =Ó1ñeAó 2óóðeAðP ‡�×ÑØð ˆB�H‰H�q�c˜B‘h !  r¡Ñ)¨Q¨CÑ/Ð0¸¿¹ÔA×CÑCÚˆKð	
ð
 ˆB�H‰HØ�˜2‘  ¨"¡Ñ,°¨yÑ8Ð9Àôç‰aÚ"Ð#ð		
ðóð ‡�×Ñ˜ C¨ =Ó1ñ:ó 2óð :ð  ‡�×ÑØâ	Ð@ÐAàˆB�H‰H’i¢Ð+Ó,×.Ñ.ØEð	
ðó	ñ ó	ð ò,ð* ‡�×ÑØà
ˆQˆ�"‰�s˜C�jÐ!Ú	�Q‰˜!˜Q˜Ñ	Ò!KÐLâ Ñ" d¨D \Ñ1Ú<ð	
ðó
ñMó
ðMð& ‡�×Ñ˜ t¨U mÓ4Ø‡�×Ñ˜ C¨ =Ó1Ø‡�×Ñ˜Ò(SÓTñOAó Uó 2ó 5ðOAðd ‡�×ÑØà	ˆ�‰�3�%˜"‘*Ó	˜sÐ#Ø	ˆ�‰�1�#˜‘(Ó	˜QÐØ	ˆ�‰�3�%˜"‘* FÔ	+¨QÐ/ðò
 	2ð ó ð ‡�×Ñ˜Ò#5Ó6ñDó 7óðDò +ò\1ð" ‡�×Ñ˜Ò#5Ó6ñ =ó 7ð =ðF ‡�×Ñ˜ C¨ =Ó1ño'ó 2ðo'ód
Hr/   