ó
    ¦ñ:iÆo  ã            	       óN  • S SK r S SKrS SKrS SKrS SKrS SKJr  S SK	J
r
  S SKrS SKJrJr  S SKJrJrJrJrJr  S SKJr  S SKJr  S SKJr  S SKJr  S S	KJr  S S
KJr  S SK J!r!J"r"  S SK#J$r$  S SK%J&r&  S SK'J(r(J)r)J*r*J+r+   " S S\5      r, " S S\5      r- " S S\5      r. " S S\5      r/ " S S\5      r0 " S S\/5      r1 " S S\/\05      r2 " S S\25      r3 " S S \5      r4 " S! S"\5      r5 " S# S$5      r6 " S% S&\5      r7S' r8S( r9S) r:S* r;S+ r<S, r=S- r>S. r?S/ r@S0 rAS1 rBS2 rCS3 rDS4 rES5 rFS6 rG\R�                  R“                  S7\!" S8S S99\R”                  " S S:94\"" S8S S99\R–                  " S S:94/5      S; 5       rLS< rMS= rNS> rO " S? S@\!5      rPSArQSB rR " SC SD\!5      rSSE rTSF rU " SG SH5      rV " SI SJ\V\5      rWSK rXSL rY " SM SN\5      rZ\+" \[SO9SP 5       r\SQ r]SR r^SS r_ST r`SU raSV rbSW rcSX rdSY re " SZ S[5      rf " S\ S]\f\5      rg\R�                  R“                  S^\" 5       \g" 5       /5      S_ 5       rhS` ri\R�                  R“                  Sa/ SbQ5      Sc 5       rj\R�                  R×                  Sd5      Se 5       rl\R�                  R×                  Sd5      Sf 5       rmg)gé    N)Úassert_allclose)Úconfig_contextÚdatasets)ÚBaseEstimatorÚOutlierMixinÚTransformerMixinÚcloneÚis_classifier)ÚPCA)ÚInconsistentVersionWarning)ÚGridSearchCV)ÚPipeline)ÚStandardScaler)ÚSVC)ÚDecisionTreeClassifierÚDecisionTreeRegressor)ÚMockDataFrame)Ú_get_output_config)Ú_convert_containerÚassert_array_equalÚassert_no_warningsÚignore_warningsc                   ó   • \ rS rSrSS jrSrg)ÚMyEstimatoré)   Nc                 ó   • Xl         X l        g ©N)Úl1Úempty)Úselfr   r   s      ÚZ/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/sklearn/tests/test_base.pyÚ__init__ÚMyEstimator.__init__*   s   € ØŒØ�
ó    )r   r   )r   N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r"   Ú__static_attributes__© r$   r!   r   r   )   s   † ÷r$   r   c                   ó   • \ rS rSrSS jrSrg)ÚKé/   Nc                 ó   • Xl         X l        g r   ©ÚcÚd)r    r1   r2   s      r!   r"   Ú
K.__init__0   ó   € ØŒØ�r$   r0   ©NNr%   r+   r$   r!   r-   r-   /   ó   † ÷r$   r-   c                   ó   • \ rS rSrSS jrSrg)ÚTé5   Nc                 ó   • Xl         X l        g r   ©ÚaÚb)r    r<   r=   s      r!   r"   Ú
T.__init__6   r4   r$   r;   r5   r%   r+   r$   r!   r8   r8   5   r6   r$   r8   c                   ó   • \ rS rSrS rSrg)ÚNaNTagé;   c                 ó
   • SS0$ )NÚ	allow_nanTr+   ©r    s    r!   Ú
_more_tagsÚNaNTag._more_tags<   s   € Ø˜TÐ"Ð"r$   r+   N©r&   r'   r(   r)   rE   r*   r+   r$   r!   r@   r@   ;   s   † õ#r$   r@   c                   ó   • \ rS rSrS rSrg)ÚNoNaNTagé@   c                 ó
   • SS0$ ©NrC   Fr+   rD   s    r!   rE   ÚNoNaNTag._more_tagsA   ó   € Ø˜UÐ#Ð#r$   r+   NrG   r+   r$   r!   rI   rI   @   ó   † õ$r$   rI   c                   ó   • \ rS rSrS rSrg)ÚOverrideTagéE   c                 ó
   • SS0$ rL   r+   rD   s    r!   rE   ÚOverrideTag._more_tagsF   rN   r$   r+   NrG   r+   r$   r!   rQ   rQ   E   rO   r$   rQ   c                   ó   • \ rS rSrS rSrg)ÚDiamondOverwriteTagéJ   c                 ó   • [        5       $ r   )ÚdictrD   s    r!   rE   ÚDiamondOverwriteTag._more_tagsK   s	   € Ü‹vˆr$   r+   NrG   r+   r$   r!   rV   rV   J   s   † õr$   rV   c                   ó   • \ rS rSrSrg)ÚInheritDiamondOverwriteTagéO   r+   N©r&   r'   r(   r)   r*   r+   r$   r!   r\   r\   O   ó   † Úr$   r\   c                   óF   • \ rS rSrSr\R                  " S/5      4S jrSrg)ÚModifyInitParamséS   zSDeprecated behavior.
Equal parameters but with a type cast.
Doesn't fulfill a is a
r   c                 ó.   • UR                  5       U l        g r   )Úcopyr<   ©r    r<   s     r!   r"   ÚModifyInitParams.__init__Y   s   € Ø—‘“ˆ�r$   ©r<   N)	r&   r'   r(   r)   Ú__doc__ÚnpÚarrayr"   r*   r+   r$   r!   ra   ra   S   s   † ñð
 Ÿš 1 #›÷ r$   ra   c                   ó"   • \ rS rSrSrSS jrSrg)ÚBuggyé]   z9A buggy estimator that does not set its parameters right.Nc                 ó   • SU l         g ©Né   rg   re   s     r!   r"   ÚBuggy.__init__`   s	   € Øˆ�r$   rg   r   ©r&   r'   r(   r)   rh   r"   r*   r+   r$   r!   rl   rl   ]   s
   † Ù?÷r$   rl   c                   ó.   • \ rS rSrS rSS jrSS jrSrg)	ÚNoEstimatoréd   c                 ó   • g r   r+   rD   s    r!   r"   ÚNoEstimator.__init__e   ó   € Ør$   Nc                 ó   • U $ r   r+   ©r    ÚXÚys      r!   ÚfitÚNoEstimator.fith   s   € Øˆr$   c                 ó   • g r   r+   ©r    r{   s     r!   ÚpredictÚNoEstimator.predictk   s   € Ør$   r+   r5   r   )r&   r'   r(   r)   r"   r}   r�   r*   r+   r$   r!   rt   rt   d   s   † òô÷r$   rt   c                   ó   • \ rS rSrSrS rSrg)ÚVargEstimatoréo   z-scikit-learn estimators shouldn't have vargs.c                 ó   • g r   r+   )r    Úvargss     r!   r"   ÚVargEstimator.__init__r   rx   r$   r+   Nrr   r+   r$   r!   r„   r„   o   s
   † Ù7õr$   r„   c                  óä   • SSK Jn Jn  U " USS9n[        U5      nX#Ld   eUR	                  5       UR	                  5       :X  d   eU " U[
        R                  " S5      S9n[        U5      nX#Ld   eg )Nr   ©Ú	SelectFprÚ	f_classifçš™™™™™¹?©Úalpha)é
   é   )Úsklearn.feature_selectionr‹   rŒ   r	   Ú
get_paramsri   Úzeros©r‹   rŒ   ÚselectorÚnew_selectors       r!   Ú
test_cloner˜   z   sr   € ÷ ?á˜¨#Ñ.€HÜ˜“?€LØÒ'Ð'Ð'Ø×ÑÓ  L×$;Ñ$;Ó$=Ó=Ð=Ð=á˜¬"¯(ª(°7Ó*;Ñ<€HÜ˜“?€LØÒ'Ð'Ñ'r$   c                  ól   • SSK Jn Jn  U " USS9nSUl        [	        U5      n[        US5      (       a   eg )Nr   rŠ   r�   rŽ   ÚtestÚown_attribute)r’   r‹   rŒ   r›   r	   Úhasattrr•   s       r!   Útest_clone_2r�   Œ   s:   € ÷ ?á˜¨#Ñ.€HØ#€HÔÜ˜“?€LÜ�| _×5Ñ5Ð5Ð5Ð5r$   c                  óZ  • [        5       n SU l        [        R                  " [        5         [        U 5        S S S 5        [        5       n[        R                  " [        5         [        U5        S S S 5        [        5       n[        R                  " [        5         [        U5        S S S 5        [        5       n[        R                  " [        5         [        U5        S S S 5        g ! , (       d  f       N·= f! , (       d  f       N�= f! , (       d  f       Ni= f! , (       d  f       g = f)Nr‘   )
rl   r<   ÚpytestÚraisesÚRuntimeErrorr	   rt   Ú	TypeErrorr„   ra   )ÚbuggyÚno_estimatorÚvarg_estÚests       r!   Útest_clone_buggyr§   š   s´   € ä‹G€EØ€E„GÜ	�Š”|Õ	$ÜˆeŒ÷ 
%ô “=€LÜ	�Š”yÕ	!ÜˆlÔ÷ 
"ô ‹€HÜ	�Š”|Õ	$ÜˆhŒ÷ 
%ô Ó
€CÜ	�Š”|Õ	$ÜˆcŒ
÷ 
%Ð	$÷ 
%Õ	$ú÷ 
"Õ	!ú÷ 
%Õ	$ú÷ 
%Õ	$ús/   ¬C)Á$C:ÂDÃDÃ)
C7Ã:
DÄ
DÄ
D*c                  óx  • [        [        R                  " / 5      S9n [        U 5      n[	        U R
                  UR
                  5        [        [        R                  " [        R                  " S//5      5      S9n [        U 5      n[	        U R
                  R                  UR
                  R                  5        g )N©r   r   )	r   ri   rj   r	   r   r   ÚspÚ
csr_matrixÚdata©ÚclfÚclf2s     r!   Útest_clone_empty_arrayr°   ®   sq   € ä
œBŸHšH R›LÑ
)€CÜ�‹:€DÜ�s—y‘y $§*¡*Ô-ä
œBŸMšM¬"¯(ª(°Q°C°5«/Ó:Ñ
;€CÜ�‹:€DÜ�s—y‘y—~‘~ t§z¡z§¡Õ7r$   c                  ó~   • [        [        R                  S9n [        U 5      nU R                  UR                  L d   eg ©Nr©   )r   ri   Únanr	   r   r­   s     r!   Útest_clone_nanr´   ¹   s/   € ä
œBŸF™FÑ
#€CÜ�‹:€Dà�9‰9˜Ÿ
™
Ò"Ð"Ñ"r$   c                  óL   • S[        5       0n [        U 5      nU S   US   Ld   eg )Nr<   )r   r	   )ÚorigÚcloneds     r!   Útest_clone_dictr¸   Á   s-   € à”“Ð€DÜ�4‹[€FØ�‰9˜F 3™KÒ'Ð'Ñ'r$   c            	      ó  • [        [        5       V s/ s HA  n U R                  S5      (       d  M  [        [	        [        U 5      =n5      [        L d  M?  UPMC     nn U Hž  nU" [
        R                  " S5      5      n[        US9n[        U5      nUR                  R                  UR                  R                  L d   e[        UR                  R                  5       UR                  R                  5       5        M      g s  sn f )NÚ_matrixé   r©   )Údirrª   ÚendswithÚtypeÚgetattrri   Úeyer   r	   r   Ú	__class__r   Útoarray)ÚnameÚclsÚsparse_matrix_classesÚsparse_matrixr®   Ú
clf_cloneds         r!   Útest_clone_sparse_matricesrÈ   È   sÑ   € ô œ”GóâˆDØ�=‰=˜×#ó 	ä(,´G¼BÀÓ4EÐ-E¨SÓ(FÌ$Ð(N÷ 	Ùð ð ó %ˆÙœBŸFšF 1›I›ˆÜ Ñ.ˆÜ˜3“Zˆ
Ø�y‰y×"Ñ" j×&6Ñ&6×&@Ñ&@Ò@Ð@Ð@Ü˜3Ÿ9™9×,Ñ,Ó.°
×0@Ñ0@×0HÑ0HÓ0JÖKò %ùòs   ’D° DÁDc                  ój   • [        [         S9n [        U 5      nU R                  UR                  L d   eg r²   )r   r	   r   r­   s     r!   Útest_clone_estimator_typesrÊ   ×   s-   € ô œKÑ
(€CÜ�‹:€Dà�9‰9˜Ÿ
™
Ò"Ð"Ñ"r$   c                  óŒ   • Sn [         R                  " [        U S9   [        [        5        S S S 5        g ! , (       d  f       g = f)Nz8You should provide an instance of scikit-learn estimator©Úmatch)rŸ   r    r¢   r	   r   )Úmsgs    r!   Ú%test_clone_class_rather_than_instancerÏ   à   s,   € ð E€CÜ	�Š”y¨Ó	,ÜŒkÔ÷ 
-×	,Ö	,ús	   œ5µ
Ac                  óÖ   • [        5       n [        U 5        [        [        5       [        5       5      n[        U5      S:X  d   e[        S/S-  S9n[	        [        U5      5      S:X  d   eg )NzT(a=K(), b=K())Úlong_paramsiè  rg   iå  )r   Úreprr8   r-   Úlen)Úmy_estimatorrš   Úsome_ests      r!   Ú	test_reprrÖ   è   s[   € ä“=€LÜˆÔÜŒQ‹S”!“#‹;€DÜ�‹:Ð*Ó*Ð*Ð*ä�M�? TÑ)Ñ*€HÜŒt�H‹~Ó #Ó%Ð%Ñ%r$   c                  ó.   • [        5       n [        U 5        g r   )r   Ústr)rÔ   s    r!   Útest_strrÙ   ó   s   € ä“=€LÜˆÕr$   c                  ód  • [        [        5       [        5      n SU R                  SS9;   d   eSU R                  SS9;  d   eU R                  SS9  U R                  R
                  S:X  d   e[        R                  " [        5         U R                  SS9  S S S 5        g ! , (       d  f       g = f)NÚa__dT)ÚdeepFr‘   )rÛ   )Úa__a)	r8   r-   r“   Ú
set_paramsr<   r2   rŸ   r    Ú
ValueError)rš   s    r!   Útest_get_paramsrà   ù   s‰   € ÜŒQ‹S”!‹9€Dà�T—_‘_¨$�_Ð/Ó/Ð/Ð/Ø˜Ÿ™¨e˜Ð4Ó4Ð4Ð4à‡O�O˜€OÑØ�6‰6�8‰8�q‹=Ðˆ=ä	�Š”zÕ	"Ø�‰˜QˆÑ÷ 
#×	"Ö	"ús   ÂB!Â!
B/c                  ó  • [        5       n [        U 5      (       d   e[        [        U SSS/05      5      (       d   e[        [        SU 4/5      5      (       d   e[        [        S[        U SSS/05      4/5      5      (       d   eg )NÚCr�   rp   ÚsvcÚsvc_cv)r   r
   r   r   )rã   s    r!   Útest_is_classifierrå     sƒ   € Ü
‹%€CÜ˜×ÑÐÐÜœ c¨C°#°q°¨?Ó;×<Ñ<Ð<Ð<Üœ E¨3 < .Ó1×2Ñ2Ð2Ð2Üœ H¬l¸3ÀÀsÈAÀhÀÓ.PÐ#QÐ"RÓS×TÑTÐTÑTr$   c                  ó<  • [        S[        5       4/5      n [        R                  " [        5         U R                  SS9  S S S 5        [        R                  " [        5         U R                  SS9  S S S 5        g ! , (       d  f       NA= f! , (       d  f       g = f)Nrã   T)Úsvc__stupid_param)Úsvm__stupid_param)r   r   rŸ   r    rß   rÞ   )r®   s    r!   Útest_set_paramsré     sl   € ä
�UœC›E�NÐ#Ó
$€Cô 
�Š”zÕ	"Ø�‰¨ˆÑ.÷ 
#ô 
�Š”zÕ	"Ø�‰¨ˆÑ.÷ 
#Ð	"÷	 
#Õ	"ú÷ 
#Õ	"ús   ±A<Á#BÁ<
B
Â
Bc                  óª   ^•  " U4S jS[         5      n SSS.m[        SU " 5       4/5      [        U " 5       0 5      4 H  nUR                  SSS9  M     g )Nc                   ó,   >^ • \ rS rSrU U4S jrSrU =r$ )Ú?test_set_params_passes_all_parameters.<locals>.TestDecisionTreei$  c                 ó8   >• [         TU ]  " S0 UD6  UT:X  d   eU $ )Nr+   )ÚsuperrÞ   )r    ÚkwargsrÁ   Úexpected_kwargss     €€r!   rÞ   ÚJtest_set_params_passes_all_parameters.<locals>.TestDecisionTree.set_params%  s&   ø€ Ü‰GÒÑ( Ò(à˜_Ó,Ð,Ð,ØˆKr$   r+   )r&   r'   r(   r)   rÞ   r*   Ú__classcell__)rÁ   rð   s   @€r!   ÚTestDecisionTreerì   $  s   ù† ÷	ô 	r$   ró   r»   r‘   )Ú	max_depthÚmin_samples_leafÚ	estimator)Úestimator__max_depthÚestimator__min_samples_leaf)r   r   r   rÞ   )ró   r¦   rð   s     @r!   Ú%test_set_params_passes_all_parametersrù      s\   ø€ ÷Ô1ô ð %&¸1Ñ=€Oä�;Ñ 0Ó 2Ð3Ð4Ó5ÜÑ%Ó'¨Ó,óˆð 	�‰¨AÈ1ˆÓMò	r$   c                  ó”   • [        [        5       0 5      n U R                  [        5       SS9  U R                  R
                  S:X  d   eg )Ng      E@)rö   Úestimator__C)r   r   rÞ   r   rö   râ   )Úgscvs    r!   Ú$test_set_params_updates_valid_paramsrý   3  s>   € ô Ô.Ó0°"Ó5€DØ‡O�Oœc›e°$€OÑ7Ø�>‰>×Ñ˜tÓ#Ð#Ñ#r$   ztree,datasetr‘   )rô   Úrandom_state)rþ   c                 óþ   • [         R                  R                  S5      nUu  p4U R                  X45        UR	                  SS[        U5      S9nU R                  X45      nU R                  X4US9nSnXg:w  d   U5       eg )Nr   rp   r�   )Úsize)Úsample_weightz5Unweighted and weighted scores are unexpectedly equal)ri   ÚrandomÚRandomStater}   ÚrandintrÓ   Úscore)	ÚtreeÚdatasetÚrngr{   r|   r  Úscore_unweightedÚscore_weightedrÎ   s	            r!   Útest_score_sample_weightr  ;  sy   € ô �)‰)×
Ñ
 Ó
"€Cà�D€Aà‡H�HˆQ„Nà—K‘K  2¬C°«F�KÐ3€MØ—z‘z !Ó'ÐØ—Z‘Z °M�ZÐB€NØ
A€CØÓ-Ð2¨sÓ2Ñ-r$   c                  ó:  •  " S S[         [        5      n [        R                  " S5      n[	        U5      nU " USS9n[        U5      nUR                  UR                  :H  R                  R                  5       (       d   eUR                  UR                  :X  d   eg )Nc                   ó2   • \ rS rSrSrSS jrS	S jrS rSrg)
Ú3test_clone_pandas_dataframe.<locals>.DummyEstimatoriW  zäThis is a dummy class for generating numerical features

This feature extractor extracts numerical features from pandas data
frame.

Parameters
----------

df: pandas data frame
    The pandas data frame parameter.

Notes
-----
Nc                 ó   • Xl         X l        g r   ©ÚdfÚscalar_param)r    r  r  s      r!   r"   Ú<test_clone_pandas_dataframe.<locals>.DummyEstimator.__init__g  s   € ØŒGØ ,Õr$   c                 ó   • g r   r+   rz   s      r!   r}   Ú7test_clone_pandas_dataframe.<locals>.DummyEstimator.fitk  ó   € Ør$   c                 ó   • g r   r+   r€   s     r!   Ú	transformÚ=test_clone_pandas_dataframe.<locals>.DummyEstimator.transformn  r  r$   r  ro   r   )	r&   r'   r(   r)   rh   r"   r}   r  r*   r+   r$   r!   ÚDummyEstimatorr  W  s   † ñ	ô	-ô	õ	r$   r  r�   rp   )r  )
r   r   ri   Úaranger   r	   r  ÚvaluesÚallr  )r  r2   r  ÚeÚcloned_es        r!   Útest_clone_pandas_dataframer   V  s�   € ôÔ)¬=ô ô6 	�	Š	�"‹€AÜ	�qÓ	€BÙ�r¨Ñ*€AÜ�Q‹x€Hð �D‰D�H—K‘KÑ×'Ñ'×+Ñ+×-Ñ-Ð-Ð-Ø�>‰>˜X×2Ñ2Ó2Ð2Ñ2r$   c                  ó^  •  " S S[         5      n [        R                  " SS/SS/SS//5      n[        5       R	                  U5      nUR
                  nU " U5      n[        UR
                  U5        [        UR                  5       UR                  5       5        [        R                  " SS/SS/S	S//5      nUR	                  U5        [        UR
                  U5        UR                  U5        [        UR
                  U5        [        U5      nXdL d   e[        UR
                  U5        g
)z:Checks that clone works with `__sklearn_clone__` protocol.c                   ó2   • \ rS rSrS rS rS rS rS rSr	g)	Ú,test_clone_protocol.<locals>.FrozenEstimatori  c                 ó   • Xl         g r   ©Úfitted_estimator)r    r&  s     r!   r"   Ú5test_clone_protocol.<locals>.FrozenEstimator.__init__€  s   € Ø$4Õ!r$   c                 ó.   • [        U R                  U5      $ r   )r¿   r&  )r    rÃ   s     r!   Ú__getattr__Ú8test_clone_protocol.<locals>.FrozenEstimator.__getattr__ƒ  s   € Ü˜4×0Ñ0°$Ó7Ð7r$   c                 ó   • U $ r   r+   rD   s    r!   Ú__sklearn_clone__Ú>test_clone_protocol.<locals>.FrozenEstimator.__sklearn_clone__†  ó   € ØˆKr$   c                 ó   • U $ r   r+   ©r    Úargsrï   s      r!   r}   Ú0test_clone_protocol.<locals>.FrozenEstimator.fit‰  r.  r$   c                 ó:   • U R                   R                  " U0 UD6$ r   )r&  r  r0  s      r!   Úfit_transformÚ:test_clone_protocol.<locals>.FrozenEstimator.fit_transformŒ  s   € Ø×(Ñ(×2Ò2°DÐC¸FÑCÐCr$   r%  N)
r&   r'   r(   r)   r"   r)  r,  r}   r4  r*   r+   r$   r!   ÚFrozenEstimatorr#    s   † ò	5ò	8ò	ò	õ	Dr$   r6  éÿÿÿÿéþÿÿÿéýÿÿÿr‘   é   é   rp   N)r   ri   rj   r   r}   Úcomponents_r   r   Úget_feature_names_outÚasarrayr4  r	   )r6  r{   ÚpcaÚ
componentsÚ
frozen_pcaÚX_newÚclone_frozen_pcas          r!   Útest_clone_protocolrD  |  s  € ôDœ-ô Dô  	�Š�2�r�(˜R ˜H r¨2 hÐ/Ó0€AÜ
‹%�)‰)�A‹,€CØ—‘€Já  Ó%€JÜ�J×*Ñ*¨JÔ7ô �z×7Ñ7Ó9¸3×;TÑ;TÓ;VÔWô �JŠJ˜˜Q˜ ! Q ¨!¨Q¨Ð0Ó1€EØ‡N�N�5ÔÜ�J×*Ñ*¨JÔ7ð ×Ñ˜UÔ#Ü�J×*Ñ*¨JÔ7ô ˜ZÓ(ÐØÒ)Ð)Ð)ÜÐ$×0Ñ0°*Õ=r$   c                  ó   • [         R                  " 5       n [        5       R                  U R                  U R
                  5      n[        R                  " U5      nSU;   d   e[        [        R                  U5      nUR                  U R                  U R
                  5      nUR                  U R                  U R
                  5      nXE:X  d   eg )Nó   _sklearn_version)r   Ú	load_irisr   r}   r¬   ÚtargetÚpickleÚdumpsr   Úloadsr  )Úirisr  Útree_pickleÚtree_restoredÚscore_of_originalÚscore_of_restoreds         r!   Ú?test_pickle_version_warning_is_not_raised_with_matching_versionrQ  ¨  s›   € Ü×ÒÓ€DÜ!Ó#×'Ñ'¨¯	©	°4·;±;Ó?€DÜ—,’,˜tÓ$€KØ +Ó-Ð-Ð-Ü&¤v§|¡|°[ÓA€Mð Ÿ
™
 4§9¡9¨d¯k©kÓ:ÐØ%×+Ñ+¨D¯I©I°t·{±{ÓCÐØÓ1Ð1Ñ1r$   c                   ó   • \ rS rSrS rSrg)ÚTreeBadVersioniµ  c                 óF   • [        U R                  R                  5       SS9$ )NÚ	something)Ú_sklearn_version)rY   Ú__dict__ÚitemsrD   s    r!   Ú__getstate__ÚTreeBadVersion.__getstate__¶  s   € Ü�D—M‘M×'Ñ'Ó)¸KÑHÐHr$   r+   N©r&   r'   r(   r)   rY  r*   r+   r$   r!   rS  rS  µ  s   † õIr$   rS  z´Trying to unpickle estimator {estimator} from version {old_version} when using version {current_version}. This might lead to breaking code or invalid results. Use at your own risk.c                  óv  • [         R                  " 5       n [        5       R                  U R                  U R
                  5      n[        R                  " U5      n[        R                  SS[        R                  S9n[        R                  " [        US9 n[        R                  " U5        S S S 5        WR                   S   R"                  n[%        U[&        5      (       d   eUR(                  S:X  d   eUR*                  S:X  d   eUR,                  [        R                  :X  d   eg ! , (       d  f       Nƒ= f)NrS  rU  ©rö   Úold_versionÚcurrent_versionrÌ   r   )r   rG  rS  r}   r¬   rH  rI  rJ  Úpickle_error_messageÚformatÚsklearnÚ__version__rŸ   ÚwarnsÚUserWarningrK  ÚlistÚmessageÚ
isinstancer   Úestimator_nameÚoriginal_sklearn_versionÚcurrent_sklearn_version)rL  r  Útree_pickle_otherrg  Úwarning_records        r!   Ú<test_pickle_version_warning_is_issued_upon_different_versionrn  Ã  sü   € Ü×ÒÓ€DÜÓ×Ñ §	¡	¨4¯;©;Ó7€DÜŸš TÓ*ÐÜ"×)Ñ)Ø"ØÜ×+Ñ+ð *ð €Gô
 
�Š”k¨Ò	1°^Ü�ŠÐ&Ô'÷ 
2ð ×!Ñ! !Ñ$×,Ñ,€GÜ�gÔ9×:Ñ:Ð:Ð:Ø×!Ñ!Ð%5Ó5Ð5Ð5Ø×+Ñ+¨{Ó:Ð:Ð:Ø×*Ñ*¬g×.AÑ.AÓAÐAÑA÷ 
2Õ	1ús   ÂD*Ä*
D8c                   ó   • \ rS rSrS rSrg)ÚTreeNoVersioniÖ  c                 ó   • U R                   $ r   )rW  rD   s    r!   rY  ÚTreeNoVersion.__getstate__×  s   € Ø�}‰}Ðr$   r+   Nr[  r+   r$   r!   rp  rp  Ö  s   † õr$   rp  c                  óž  • [         R                  " 5       n [        5       R                  U R                  U R
                  5      n[        R                  " U5      nSU;  d   e[        R                  SS[        R                  S9n[        R                  " [        US9   [        R                  " U5        S S S 5        g ! , (       d  f       g = f)NrF  rp  zpre-0.18r]  rÌ   )r   rG  rp  r}   r¬   rH  rI  rJ  r`  ra  rb  rc  rŸ   rd  re  rK  )rL  r  Útree_pickle_noversionrg  s       r!   ÚDtest_pickle_version_warning_is_issued_when_no_version_info_in_pickleru  Û  s—   € Ü×ÒÓ€Dä‹?×Ñ˜tŸy™y¨$¯+©+Ó6€Dä"ŸLšL¨Ó.ÐØÐ&;Ó;Ð;Ð;Ü"×)Ñ)Ø!ØÜ×+Ñ+ð *ð €Gô 
�Š”k¨Ó	1Ü�ŠÐ*Ô+÷ 
2×	1Ö	1ús   ÂB>Â>
Cc                  óX  • [         R                  " 5       n [        5       R                  U R                  U R
                  5      n[        R                  " U5      n [        R                  nS[        l        [        [        R                  U5        U[        l        g ! W[        l        f = f)NÚ
notsklearn)r   rG  rp  r}   r¬   rH  rI  rJ  r'   r   rK  )rL  r  rt  Úmodule_backups       r!   ÚCtest_pickle_version_no_warning_is_issued_with_non_sklearn_estimatorry  ì  ss   € Ü×ÒÓ€DÜ‹?×Ñ˜tŸy™y¨$¯+©+Ó6€DÜ"ŸLšL¨Ó.Ðð1Ü%×0Ñ0ˆØ#/ŒÔ Üœ6Ÿ<™<Ð)>Ô?à#0ŒÕ ø =ŒÕ ús   Á5B ÂB)c                   ó    • \ rS rSrS rS rSrg)ÚDontPickleAttributeMixiniø  c                 óD   • U R                   R                  5       nS US'   U$ ©NÚ_attribute_not_pickled©rW  rd   ©r    r¬   s     r!   rY  Ú%DontPickleAttributeMixin.__getstate__ù  ó$   € Ø�}‰}×!Ñ!Ó#ˆØ)-ˆÐ%Ñ&Øˆr$   c                 óD   • SUS'   U R                   R                  U5        g )NTÚ	_restored)rW  Úupdate)r    Ústates     r!   Ú__setstate__Ú%DontPickleAttributeMixin.__setstate__þ  s   € Ø!ˆˆkÑØ�‰×Ñ˜UÕ#r$   r+   N)r&   r'   r(   r)   rY  r‡  r*   r+   r$   r!   r{  r{  ø  s   † òõ
$r$   r{  c                   ó   • \ rS rSrSS jrSrg)ÚMultiInheritanceEstimatori  c                 ó   • Xl         S U l        g r   ©Úattribute_pickledr~  ©r    r�  s     r!   r"   Ú"MultiInheritanceEstimator.__init__  ó   € Ø!2ÔØ&*ˆÕ#r$   ©r~  r�  N©r»   r%   r+   r$   r!   rŠ  rŠ    s   † ÷+r$   rŠ  c                  óæ   • [        5       n SU l        [        R                  " U 5      n[        R                  " U5      nUR
                  S:X  d   eUR                  b   eUR                  (       d   eg ©Nú$this attribute should not be pickledr»   )rŠ  r~  rI  rJ  rK  r�  r„  ©rö   Ú
serializedÚestimator_restoreds      r!   Ú3test_pickling_when_getstate_is_overwritten_by_mixinr™  	  sd   € Ü)Ó+€IØ'M€IÔ$ä—’˜iÓ(€JÜŸš jÓ1ÐØ×/Ñ/°1Ó4Ð4Ð4Ø×4Ñ4Ñ<Ð<Ð<Ø×'×'Ð'Ñ'r$   c                  ól  •  [        5       n SnXl        [        U 5      R                  nS[        U 5      l        U R	                  5       nUS SS.:X  d   eSUS'   U R                  U5        U R                  S:X  d   eU R                  (       d   e U[        U 5      l        g ! W[        W 5      l        f = f)Nr•  rw  r»   r‘  r;  r�  )rŠ  r~  r¾   r'   rY  r‡  r�  r„  )rö   ÚtextÚold_modr—  s       r!   ÚFtest_pickling_when_getstate_is_overwritten_by_mixin_outside_of_sklearnr�    s¬   € ð-Ü-Ó/ˆ	Ø5ˆØ+/Ô(Ü�y“/×,Ñ,ˆØ%1ŒˆY‹Ô"à×+Ñ+Ó-ˆ
Ø¸ÐSTÑUÓUÐUÐUà*+ˆ
Ð&Ñ'Ø×Ñ˜zÔ*Ø×*Ñ*¨aÓ/Ð/Ð/Ø×"×"Ð"Ñ"à%,ŒˆY‹Õ"ø WŒˆY‹Õ"ús   ‚BB! Â!B3c                   ó$   • \ rS rSrSS jrS rSrg)ÚSingleInheritanceEstimatori'  c                 ó   • Xl         S U l        g r   rŒ  rŽ  s     r!   r"   Ú#SingleInheritanceEstimator.__init__(  r�  r$   c                 óD   • U R                   R                  5       nS US'   U$ r}  r  r€  s     r!   rY  Ú'SingleInheritanceEstimator.__getstate__,  r‚  r$   r‘  Nr’  )r&   r'   r(   r)   r"   rY  r*   r+   r$   r!   rŸ  rŸ  '  s   † ô+õr$   rŸ  )Úcategoryc                  óÀ   • [        5       n SU l        [        R                  " U 5      n[        R                  " U5      nUR
                  S:X  d   eUR                  b   eg r”  )rŸ  r~  rI  rJ  rK  r�  r–  s      r!   ÚCtest_pickling_works_when_getstate_is_overwritten_in_the_child_classr¦  2  sU   € ä*Ó,€IØ'M€IÔ$ä—’˜iÓ(€JÜŸš jÓ1ÐØ×/Ñ/°1Ó4Ð4Ð4Ø×4Ñ4Ñ<Ð<Ñ<r$   c                  ól  • [        5       n [        5       nU R                  5       S   (       d   eUR                  5       S   (       a   e[        5       nUR                  5       S   (       a   e[	        5       nUR                  5       S   (       d   e[        5       nUR                  5       S   (       d   eg )NrC   )r@   rI   Ú	_get_tagsrQ   rV   r\   )Únan_tag_estÚno_nan_tag_estÚredefine_tags_estÚdiamond_tag_estÚinherit_diamond_tag_ests        r!   Útest_tag_inheritancer®  =  sž   € ô “(€KÜ“Z€NØ× Ñ Ó" ;×/Ð/Ð/Ø×'Ñ'Ó)¨+×6Ð6Ð6ä#›ÐØ ×*Ñ*Ó,¨[×9Ð9Ð9ä)Ó+€OØ×$Ñ$Ó& {×3Ð3Ð3ä8Ó:ÐØ"×,Ñ,Ó.¨{×;Ð;Ñ;r$   c                  óº   •  " S S[         5      n U " 5       nSn[        R                  " [        US9   UR	                  5         S S S 5        g ! , (       d  f       g = f)Nc                   ó(   • \ rS rSrSS jrSS jrSrg)Ú<test_raises_on_get_params_non_attribute.<locals>.MyEstimatoriP  c                 ó   • g r   r+   )r    Úparams     r!   r"   ÚEtest_raises_on_get_params_non_attribute.<locals>.MyEstimator.__init__Q  r  r$   Nc                 ó   • U $ r   r+   rz   s      r!   r}   Ú@test_raises_on_get_params_non_attribute.<locals>.MyEstimator.fitT  r.  r$   r+   r’  r   )r&   r'   r(   r)   r"   r}   r*   r+   r$   r!   r   r±  P  s   † ô	÷	r$   r   z-'MyEstimator' object has no attribute 'param'rÌ   )r   rŸ   r    ÚAttributeErrorr“   )r   r¦   rÎ   s      r!   Ú'test_raises_on_get_params_non_attributer¸  O  s@   € ô”mô ñ ‹-€CØ
9€Cä	�Š”~¨SÓ	1Ø�‰Ô÷ 
2×	1Ö	1ús   ²AÁ
Ac                  óà   • [        5       n U R                  5       nSU;   d   eSU;   d   e[        SS9   U R                  5       nSU;   d   eSU;  d   e S S S 5        g ! , (       d  f       g = f)Nz
text/plainz	text/htmlr›  ©Údisplay)r   Ú_repr_mimebundle_r   )r  Úoutputs     r!   Útest_repr_mimebundle_r¾  ^  sr   € ä!Ó#€DØ×#Ñ#Ó%€FØ˜6Ó!Ð!Ð!Ø˜&Ó Ð Ð ä	 Ó	'Ø×'Ñ'Ó)ˆØ˜vÓ%Ð%Ð%Ø &Ó(Ð(Ñ(÷ 
(×	'Ö	'ús   ´!AÁ
A-c                  ó  • [        5       n U R                  5       nSU;   d   e[        SS9   Sn[        R                  " [
        US9   U R                  5       nS S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nz<style>r›  rº  z _repr_html_ is only defined whenrÌ   )r   Ú_repr_html_r   rŸ   r    r·  )r  r½  rÎ   s      r!   Útest_repr_html_wrapsrÁ  k  sl   € ä!Ó#€Dà×ÑÓ€FØ˜ÓÐÐä	 Ó	'Ø0ˆÜ�]Š]œ>°Ó5Ø×%Ñ%Ó'ˆF÷ 6÷ 
(Ð	'ç5Õ5ú÷ 
(Õ	'ús#   ¬A;ÁA*ÁA;Á*
A8	Á4A;Á;
B	c                  óö   • [        5       n / SQ/ SQ/nU R                  USS9  U R                  S:X  d   eSn[        R                  " [
        US9   U R                  SS	S9  S
S
S
5        g
! , (       d  f       g
= f)z>Check that `_check_n_features` validates data when reset=False)rp   r‘   r:  )r;  r»   é   T©Úresetr:  zHX does not contain any features, but MyEstimator is expecting 3 featuresrÌ   ú	invalid XFN)r   Ú_check_n_featuresÚn_features_in_rŸ   r    rß   )r¦   ÚX_trainrÎ   s      r!   Útest_n_features_in_validationrÊ  x  sl   € ä
‹-€CÚš)Ð$€GØ×Ñ˜'¨ÐÑ.à×Ñ Ó"Ð"Ð"à
T€CÜ	�Š”z¨Ó	-Ø×Ñ˜k°ÐÑ7÷ 
.×	-Ö	-ús   ÁA*Á*
A8c                  ó~   • [        5       n U R                  SSS9  [        U S5      (       a   eU R                  SSS9  g)zYCheck that `_check_n_features` does not validate data when
n_features_in_ is not defined.rÆ  TrÄ  rÈ  FN)r   rÇ  rœ   )r¦   s    r!   Ú test_n_features_in_no_validationrÌ  …  sG   € ô ‹-€CØ×Ñ˜+¨TÐÑ2ä�sÐ,×-Ñ-Ð-Ð-ð ×Ñ˜+¨UÐÒ3r$   c                  óÞ  • [         R                  " S5      n [        R                  " 5       nUR                  nU R                  X!R                  S9n " S S[        [        5      nU" 5       R                  U5      n[        UR                  UR                  5        UR                  U5        [        US5      (       a   eUR                  U5        SnU R                  X!R                  SSS2   S9n[         R                  " [        US	9   UR!                  U5        SSS5        S
n[         R"                  " [$        US	9   UR!                  U5        SSS5        SnU" 5       R                  U5      n[         R"                  " [$        US	9   UR!                  U5        SSS5        U R                  U5      nU" 5       n[&        R(                  " 5          [&        R*                  " S[$        5        UR                  U5        SSS5        X(/n	U	 HM  n
[&        R(                  " 5          [&        R*                  " S[$        5        UR!                  U
5        SSS5        MO     U R                  U/ SQS9nU" 5       n[,        R.                  " S5      n[         R                  " [0        US	9   UR                  U5        SSS5        [         R                  " [0        US	9   UR!                  U5        SSS5        g! , (       d  f       GNÝ= f! , (       d  f       GNº= f! , (       d  f       GN�= f! , (       d  f       GN1= f! , (       d  f       GM?  = f! , (       d  f       N�= f! , (       d  f       g= f)z;Check that feature_name_in are recorded by `_validate_data`Úpandas©Úcolumnsc                   ó$   • \ rS rSrSS jrS rSrg)Ú.test_feature_names_in.<locals>.NoOpTransformeri˜  Nc                 ó(   • U R                  U5        U $ r   ©Ú_validate_datarz   s      r!   r}   Ú2test_feature_names_in.<locals>.NoOpTransformer.fit™  ó   € Ø×Ñ Ô"ØˆKr$   c                 ó&   • U R                  USS9  U$ ©NFrÄ  rÔ  r€   s     r!   r  Ú8test_feature_names_in.<locals>.NoOpTransformer.transform�  s   € Ø×Ñ ¨ÐÑ/ØˆHr$   r+   r   ©r&   r'   r(   r)   r}   r  r*   r+   r$   r!   ÚNoOpTransformerrÒ  ˜  s   † ô	õ	r$   rÜ  Úfeature_names_in_z5The feature names should match those that were passedNr7  rÌ   zVX does not have valid feature names, but NoOpTransformer was fitted with feature nameszIX has feature names, but NoOpTransformer was fitted without feature namesÚerror)r<   r=   rp   r‘   a™  Feature names are only supported if all input features have string names, but your input has ['int', 'str'] as feature name / column name types. If you want feature names to be stored and validated, you must convert them all to strings, by using X.columns = X.columns.astype(str) for example. Otherwise you can remove feature / column names from your input data, or convert them all to a non-string data type.)rŸ   Úimportorskipr   rG  r¬   Ú	DataFrameÚfeature_namesr   r   r}   r   rÝ  rÐ  rœ   r    rß   r  rd  re  ÚwarningsÚcatch_warningsÚsimplefilterÚreÚescaper¢   )ÚpdrL  ÚX_npr  rÜ  ÚtransrÎ   Údf_badÚdf_int_namesÚXsr{   Údf_mixeds               r!   Útest_feature_names_inrî  ‘  s‰  € ä	×	Ò	˜XÓ	&€BÜ×ÒÓ€DØ�9‰9€DØ	�‰�d×$6Ñ$6ˆÐ	7€BôÔ*¬Mô ñ Ó×!Ñ! "Ó%€EÜ�u×.Ñ.°·
±
Ô;ð 
‡I�Iˆd„OÜ�uÐ1×2Ñ2Ð2Ð2à	‡I�Iˆb„MØ
A€CØ�\‰\˜$×(:Ñ(:¹4¸R¸4Ñ(@ˆ\ÐA€FÜ	�Š”z¨Ó	-Ø�‰˜Ô÷ 
.ð
	$ð ô 
�Š”k¨Ó	-Ø�‰˜Ô÷ 
.ð V€CÙÓ×!Ñ! $Ó'€EÜ	�Š”k¨Ó	-Ø�‰˜Ô÷ 
.ð —<‘< Ó%€LÙÓ€EÜ	×	 Ò	 Õ	"Ü×Ò˜g¤{Ô3Ø�	‰	�,Ô÷ 
#ð Ð	€BÛˆÜ×$Ò$Õ&Ü×!Ò! '¬;Ô7Ø�O‰O˜AÔ÷ 'Ñ&ñ ð �|‰|˜DÒ*:ˆ|Ð;€HÙÓ€EÜ
�)Š)ð	?ó€Cô 
�Š”y¨Ó	,Ø�	‰	�(Ô÷ 
-ô 
�Š”y¨Ó	,Ø�‰˜Ô!÷ 
-Ð	,÷_ 
.Ö	-ú÷ 
.Ö	-ú÷ 
.Ö	-ú÷ 
#Ö	"ú÷ '×&ú÷ 
-Õ	,ú÷ 
-Õ	,úsT   Ä
K2Ä?LÆ
LÇ-L(È#-L:Ê$MËMË2
LÌ
LÌ
L%Ì(
L7Ì:
M
	Í
MÍ
M,c                  ó`  • [         R                  " S5      n [        R                  " 5       nU R	                  UR
                  UR                  S9nU R                  UR                  5      n " S S[        [        5      nU" 5       nUR                  USS9n[        U[        R                  5      (       d   e[        XbR!                  5       5        UR                  USS9nXrL d   eUR                  USS9n[        U[        R                  5      (       d   e[        XƒR!                  5       5        UR                  USS9n	X“L d   eUR                  X#SS9u  ph[        U[        R                  5      (       d   e[        XbR!                  5       5        [        U[        R                  5      (       d   e[        XƒR!                  5       5        UR                  X#SS9u  pyXrL d   eX“L d   eS	n
[         R"                  " [$        U
S
9   UR                  5         SSS5        g! , (       d  f       g= f)z/Check cast_to_ndarray option of _validate_data.rÎ  rÏ  c                   ó   • \ rS rSrSrg)Ú;test_validate_data_cast_to_ndarray.<locals>.NoOpTransformeriç  r+   Nr^   r+   r$   r!   rÜ  rñ  ç  ó   † Úr$   rÜ  T)Úcast_to_ndarrayF)r|   ró  z*Validation should be done on X, y or both.rÌ   N)rŸ   rß  r   rG  rà  r¬   rá  ÚSeriesrH  r   r   rÕ  rh  ri   Úndarrayr   Úto_numpyr    rß   )rç  rL  r  r|   rÜ  Úno_opÚX_np_outÚX_df_outÚy_np_outÚy_series_outrÎ   s              r!   Ú"test_validate_data_cast_to_ndarrayrü  ß  sØ  € ô 
×	Ò	˜XÓ	&€BÜ×ÒÓ€DØ	�‰�d—i‘i¨×);Ñ);ˆÐ	<€BØ
�	‰	�$—+‘+Ó€AôÔ*¬Mô ñ Ó€EØ×#Ñ# B¸Ð#Ð=€HÜ�h¤§
¡
×+Ñ+Ð+Ð+Ü�HŸk™k›mÔ,à×#Ñ# B¸Ð#Ð>€HØŠ>Ðˆ>à×#Ñ# a¸Ð#Ð>€HÜ�h¤§
¡
×+Ñ+Ð+Ð+Ü�HŸj™j›lÔ+à×'Ñ'¨!¸UÐ'ÐC€LØÒÐÐà×-Ñ-¨bÀTÐ-ÐJÑ€HÜ�h¤§
¡
×+Ñ+Ð+Ð+Ü�HŸk™k›mÔ,Ü�h¤§
¡
×+Ñ+Ð+Ð+Ü�HŸj™j›lÔ+à"×1Ñ1°"ÈÐ1ÐOÑ€HØŠ>Ðˆ>ØÒÐÐà
6€CÜ	�Š”z¨Ó	-Ø×ÑÔ÷ 
.×	-Ö	-ús   ÈHÈ
H-c                  ó†   • [        5       R                  SS9n [        SU 5      n[        U 5      n[        SU5      nX:X  d   eg)z-Check that clone keeps the set_output config.rÎ  )r  r  N)r   Ú
set_outputr   r	   )ÚssÚconfigÚss_cloneÚconfig_clones       r!   Útest_clone_keeps_output_configr    sG   € ô 
Ó	×	$Ñ	$¨xÐ	$Ð	8€BÜ ¨RÓ0€Fä�R‹y€HÜ% k°8Ó<€LØÓ!Ð!Ñ!r$   c                   ó   • \ rS rSrSrg)Ú_Emptyi  r+   Nr^   r+   r$   r!   r  r    r_   r$   r  c                   ó   • \ rS rSrSrg)ÚEmptyEstimatori  r+   Nr^   r+   r$   r!   r  r    r_   r$   r  rö   c                 óº   • U R                  5       nS[        R                  0nX:X  d   e[        R                  " [        R
                  " [        5       5      5        g)zÐCheck that ``__getstate__`` returns an empty ``dict`` with an empty
instance.

Python 3.11+ changed behaviour by returning ``None`` instead of raising an
``AttributeError``. Non-regression test for gh-25188.
rV  N)rY  rb  rc  rI  rK  rJ  r   )rö   r†  Úexpecteds      r!   Ú"test_estimator_empty_instance_dictr
    sG   € ð ×"Ñ"Ó$€EØ"¤G×$7Ñ$7Ð8€HØÓÐÐô ‡L‚L”—’œm›oÓ.Õ/r$   c                  óh  •  " S S5      n  " S S[         U 5      nSn[        R                  " [        US9   U" 5       R	                  5         SSS5        [        R                  " [        US9   [
        R                  " U" 5       5        SSS5        g! , (       d  f       NL= f! , (       d  f       g= f)z:Using a `BaseEstimator` with `__slots__` is not supported.c                   ó   • \ rS rSrSrSrg)ÚDtest_estimator_getstate_using_slots_error_message.<locals>.WithSlotsi.  )Úxr+   N)r&   r'   r(   r)   Ú	__slots__r*   r+   r$   r!   Ú	WithSlotsr  .  s   † Ø‹	r$   r  c                   ó   • \ rS rSrSrg)ÚDtest_estimator_getstate_using_slots_error_message.<locals>.Estimatori1  r+   Nr^   r+   r$   r!   Ú	Estimatorr  1  rò  r$   r  zRYou cannot use `__slots__` in objects inheriting from `sklearn.base.BaseEstimator`rÌ   N)r   rŸ   r    r¢   rY  rI  rJ  )r  r  rÎ   s      r!   Ú1test_estimator_getstate_using_slots_error_messager  +  s   € ÷ñ ô”M 9ô ð	'ð ô
 
�Š”y¨Ó	,Ù‹× Ñ Ô"÷ 
-ô 
�Š”y¨Ó	,Ü�Š‘Y“[Ô!÷ 
-Ð	,÷ 
-Õ	,ú÷ 
-Õ	,ús   ¶BÁ-B#Â
B Â#
B1zconstructor_name, minversion))Ú	dataframez1.5.0)Úpyarrowz12.0.0)Úpolarsz0.20.23c                 óœ  • / SQ/ SQ/n/ SQn[        X X1S9n " S S[        [        5      nU" 5       nUR                  U5        [	        UR
                  U5        UR                  U5      nU S:w  a  [        XG5        / SQn[        X US	9n	[        R                  " [        S
S9   UR                  U	5        SSS5        g! , (       d  f       g= f)z:Uses the dataframe exchange protocol to get feature names.)rp   r;  r‘   )r:  r:  rÃ  )Úcol_0Úcol_1Úcol_2)Úcolumns_nameÚ
minversionc                   ó$   • \ rS rSrSS jrS rSrg)Ú0test_dataframe_protocol.<locals>.NoOpTransformeriP  Nc                 ó(   • U R                  U5        U $ r   rÔ  rz   s      r!   r}   Ú4test_dataframe_protocol.<locals>.NoOpTransformer.fitQ  r×  r$   c                 ó"   • U R                  USS9$ rÙ  rÔ  r€   s     r!   r  Ú:test_dataframe_protocol.<locals>.NoOpTransformer.transformU  s   € Ø×&Ñ& q°Ð&Ð6Ð6r$   r+   r   rÛ  r+   r$   r!   rÜ  r  P  s   † ô	õ	7r$   rÜ  r  )r<   r=   r1   )r  zThe feature names should matchrÌ   N)r   r   r   r}   r   rÝ  r  r   rŸ   r    rß   )
Úconstructor_namer  r¬   rÐ  r  rÜ  r÷  ÚX_outÚ	bad_namesrê  s
             r!   Útest_dataframe_protocolr'  @  s¯   € ò ’yÐ!€DÚ)€GÜ	Ø¨Wñ
€Bô7Ô*¬Mô 7ñ Ó€EØ	‡I�Iˆb„MÜ�u×.Ñ.°Ô8Ø�O‰O˜BÓ€Eà˜9Ó$ô 	˜Ô"â€IÜ ÀYÑO€FÜ	�Š”zÐ)IÓ	JØ�‰˜Ô÷ 
K×	JÖ	Jús   Â"B=Â=
CÚenable_slep006c                  ó¬  •  " S S[         [        5      n [        R                  " [        SS9   U " 5       R                  SS9R                  S//S/SS9  SSS5        [        R                  " SS	9 nU " 5       R                  SS9R                  S//S/5        [        U5      S
:X  d   e SSS5        g! , (       d  f       Ne= f! , (       d  f       g= f)zgTest that having a transformer with metadata for transform raises a
warning when calling fit_transform.c                   ó(   • \ rS rSrSS jrSS jrSrg)ÚTtest_transformer_fit_transform_with_metadata_in_transform.<locals>.CustomTransformerim  Nc                 ó   • U $ r   r+   ©r    r{   r|   Úprops       r!   r}   ÚXtest_transformer_fit_transform_with_metadata_in_transform.<locals>.CustomTransformer.fitn  r.  r$   c                 ó   • U$ r   r+   ©r    r{   r.  s      r!   r  Ú^test_transformer_fit_transform_with_metadata_in_transform.<locals>.CustomTransformer.transformq  ó   € ØˆHr$   r+   r5   r   rÛ  r+   r$   r!   ÚCustomTransformerr+  m  ó   † ô	÷	r$   r4  z*`transform` method which consumes metadatarÌ   T©r.  rp   N©Úrecordr   )
r   r   rŸ   rd  re  Úset_transform_requestr4  râ  rã  rÓ   )r4  r8  s     r!   Ú9test_transformer_fit_transform_with_metadata_in_transformr:  h  sÂ   € ô
œMÔ+;ô ô 
�Š”kÐ)UÓ	VÙÓ×1Ñ1°tÐ1Ð<×JÑJØˆSˆE�A�3˜Qð 	Kñ 	
÷ 
Wô 
×	 Ò	 ¨Ò	-°ÙÓ×1Ñ1°tÐ1Ð<×JÑJÈQÈCÈ5ÐSTÐRUÔVÜ�6‹{˜aÓÐÑ÷ 
.Ð	-÷ 
WÕ	Vú÷ 
.Õ	-úó   ®'B4Á19CÂ4
CÃ
Cc                  ó¬  •  " S S[         [        5      n [        R                  " [        SS9   U " 5       R                  SS9R                  S//S/SS9  SSS5        [        R                  " SS	9 nU " 5       R                  SS9R                  S//S/5        [        U5      S
:X  d   e SSS5        g! , (       d  f       Ne= f! , (       d  f       g= f)zeTest that having an OutlierMixin with metadata for predict raises a
warning when calling fit_predict.c                   ó(   • \ rS rSrSS jrSS jrSrg)ÚVtest_outlier_mixin_fit_predict_with_metadata_in_predict.<locals>.CustomOutlierDetectori‡  Nc                 ó   • U $ r   r+   r-  s       r!   r}   ÚZtest_outlier_mixin_fit_predict_with_metadata_in_predict.<locals>.CustomOutlierDetector.fitˆ  r.  r$   c                 ó   • U$ r   r+   r1  s      r!   r�   Ú^test_outlier_mixin_fit_predict_with_metadata_in_predict.<locals>.CustomOutlierDetector.predict‹  r3  r$   r+   r5   r   )r&   r'   r(   r)   r}   r�   r*   r+   r$   r!   ÚCustomOutlierDetectorr>  ‡  r5  r$   rC  z(`predict` method which consumes metadatarÌ   Tr6  rp   Nr7  r   )
r   r   rŸ   rd  re  Úset_predict_requestÚfit_predictrâ  rã  rÓ   )rC  r8  s     r!   Ú7test_outlier_mixin_fit_predict_with_metadata_in_predictrF  ‚  sÁ   € ô
¤¬|ô ô 
�Š”kÐ)SÓ	TÙÓ×3Ñ3¸Ð3Ð>×JÑJØˆSˆE�A�3˜Qð 	Kñ 	
÷ 
Uô 
×	 Ò	 ¨Ò	-°ÙÓ×3Ñ3¸Ð3Ð>×JÑJÈQÈCÈ5ÐSTÐRUÔVÜ�6‹{˜aÓÐÑ÷ 
.Ð	-÷ 
UÕ	Tú÷ 
.Õ	-úr;  )nrI  rå  râ  Únumpyri   rŸ   Úscipy.sparseÚsparserª   Únumpy.testingr   rb  r   r   Úsklearn.baser   r   r   r	   r
   Úsklearn.decompositionr   Úsklearn.exceptionsr   Úsklearn.model_selectionr   Úsklearn.pipeliner   Úsklearn.preprocessingr   Úsklearn.svmr   Úsklearn.treer   r   Úsklearn.utils._mockingr   Úsklearn.utils._set_outputr   Úsklearn.utils._testingr   r   r   r   r   r-   r8   r@   rI   rQ   rV   r\   ra   rl   rt   r„   r˜   r�   r§   r°   r´   r¸   rÈ   rÊ   rÏ   rÖ   rÙ   rà   rå   ré   rù   rý   ÚmarkÚparametrizeÚmake_classificationÚmake_regressionr  r   rD  rQ  rS  r`  rn  rp  ru  ry  r{  rŠ  r™  r�  rŸ  re  r¦  r®  r¸  r¾  rÁ  rÊ  rÌ  rî  rü  r  r  r  r
  r  r'  Úusefixturesr:  rF  r+   r$   r!   Ú<module>r[     s   ðó Û 	Û ã Û Ý Ý )ã ß ,÷õ õ &Ý 9Ý 0Ý %Ý 0Ý ß FÝ 0Ý 8÷ó ô�-ô ôˆô ôˆô ô#ˆ]ô #ô
$ˆ}ô $ô
$�&ô $ô
˜& (ô ô
	Ð!4ô 	ô�}ô ôˆMô ÷ñ ô�Mô ò(ò$6òò(8ò#ò(òLò#òò&òò
 òUò
/ò$Nò&$ð ‡�×ÑØñ #¨Q¸QÑ?Ø×(Ò(°aÑ8ð	
ñ
 "¨A¸AÑ>Ø×$Ò$°!Ñ4ð	
ð	óñ3óð3ò#3òL)>òX
2ôIÐ+ô Iðð òBô&Ð*ô ò
,ò"	1÷$ñ $ô+Ð 8¸-ô +ò(ò-ô& ô ñ ˜;Ñ(ñ=ó )ð=ò<ò$ò
)ò
(ò
8ò	4òK"ò\&òR"÷	ñ 	ô	�V˜]ô 	ð ‡�×Ñ˜¡}£¹Ó8HÐ&IÓJñ0ó Kð0ò"ð* ‡�×ÑØ"òóñ óð ð@ ‡�×ÑÐ)Ó*ñ ó +ð ð2 ‡�×ÑÐ)Ó*ñ ó +ñ r$   