§
    ¦˜ºh_b  ã                   ó0  — d dl Z d dlZd dlZd dlZd dlZd dlmZ d dl	m
Z
 d dlZd dlmZmZ d dlmZmZ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! d dl"m#Z# d dl$m%Z% d dl&m'Z'm(Z(m)Z)  G d„ de¦  «        Z* G d„ de¦  «        Z+ G d„ de¦  «        Z, G d„ de¦  «        Z- G d„ de¦  «        Z. G d„ de-¦  «        Z/ G d„ de-e.¦  «        Z0 G d„ de0¦  «        Z1 G d„ d e¦  «        Z2 G d!„ d"e¦  «        Z3 G d#„ d$¦  «        Z4 G d%„ d&e¦  «        Z5d'„ Z6d(„ Z7d)„ Z8d*„ Z9d+„ Z:d,„ Z;d-„ Z<d.„ Z=d/„ Z>d0„ Z?d1„ Z@d2„ ZAd3„ ZBd4„ ZCd5„ ZDd6„ ZEejF         G                    d7 e d8d ¬9¦  «         ejH        d ¬:¦  «        f e!d8d ¬9¦  «         ejI        d ¬:¦  «        fg¦  «        d;„ ¦   «         ZJd<„ ZKd=„ ZLd>„ ZM G d?„ d@e ¦  «        ZNdAZOdB„ ZP G dC„ dDe ¦  «        ZQdE„ ZRdF„ ZS G dG„ dH¦  «        ZT G dI„ dJeTe¦  «        ZUdK„ ZVdL„ ZW G dM„ dNe¦  «        ZX e)eY¬O¦  «        dP„ ¦   «         ZZdQ„ Z[dR„ Z\dS„ Z]dT„ Z^dU„ Z_dV„ Z`dW„ ZadX„ ZbdY„ Zc G dZ„ d[¦  «        Zd G d\„ d]ede¦  «        ZeejF         G                    d^ e¦   «          ee¦   «         g¦  «        d_„ ¦   «         Zfd`„ ZgdS )aé    N)Úassert_allclose)Úconfig_contextÚdatasets)ÚBaseEstimatorÚTransformerMixinÚcloneÚis_classifier)ÚPCA)ÚInconsistentVersionWarning)ÚGridSearchCV)ÚPipeline)ÚStandardScaler)ÚSVC)ÚDecisionTreeClassifierÚDecisionTreeRegressor)ÚMockDataFrame)Ú_get_output_config)Úassert_array_equalÚassert_no_warningsÚignore_warningsc                   ó   — e Zd Zdd„ZdS )ÚMyEstimatorr   Nc                 ó"   — || _         || _        d S ©N)Úl1Úempty)Úselfr   r   s      ú_/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/sklearn/tests/test_base.pyÚ__init__zMyEstimator.__init__#   s   € ØˆŒØˆŒ
ˆ
ˆ
ó    )r   N©Ú__name__Ú
__module__Ú__qualname__r   © r    r   r   r   "   s(   € € € € € ðð ð ð ð ð r    r   c                   ó   — e Zd Zdd„ZdS )ÚKNc                 ó"   — || _         || _        d S r   )ÚcÚd)r   r)   r*   s      r   r   z
K.__init__)   ó   € ØˆŒØˆŒˆˆr    ©NNr!   r%   r    r   r'   r'   (   ó(   € € € € € ðð ð ð ð ð r    r'   c                   ó   — e Zd Zdd„ZdS )ÚTNc                 ó"   — || _         || _        d S r   )ÚaÚb)r   r1   r2   s      r   r   z
T.__init__/   r+   r    r,   r!   r%   r    r   r/   r/   .   r-   r    r/   c                   ó   — e Zd Zd„ ZdS )ÚNaNTagc                 ó
   — ddiS )NÚ	allow_nanTr%   ©r   s    r   Ú
_more_tagszNaNTag._more_tags5   s   € Ø˜TÐ"Ð"r    N©r"   r#   r$   r8   r%   r    r   r4   r4   4   s#   € € € € € ð#ð #ð #ð #ð #r    r4   c                   ó   — e Zd Zd„ ZdS )ÚNoNaNTagc                 ó
   — ddiS ©Nr6   Fr%   r7   s    r   r8   zNoNaNTag._more_tags:   ó   € Ø˜UÐ#Ð#r    Nr9   r%   r    r   r;   r;   9   ó#   € € € € € ð$ð $ð $ð $ð $r    r;   c                   ó   — e Zd Zd„ ZdS )ÚOverrideTagc                 ó
   — ddiS r=   r%   r7   s    r   r8   zOverrideTag._more_tags?   r>   r    Nr9   r%   r    r   rA   rA   >   r?   r    rA   c                   ó   — e Zd Zd„ ZdS )ÚDiamondOverwriteTagc                 ó   — t          ¦   «         S r   )Údictr7   s    r   r8   zDiamondOverwriteTag._more_tagsD   s   € Ý‰vŒvˆr    Nr9   r%   r    r   rD   rD   C   s#   € € € € € ðð ð ð ð r    rD   c                   ó   — e Zd ZdS )ÚInheritDiamondOverwriteTagN©r"   r#   r$   r%   r    r   rH   rH   H   ó   € € € € € Ø€Dr    rH   c                   ó:   — e Zd ZdZ ej        dg¦  «        fd„ZdS )ÚModifyInitParamsz_Deprecated behavior.
    Equal parameters but with a type cast.
    Doesn't fulfill a is a
    r   c                 ó8   — |                      ¦   «         | _        d S r   )Úcopyr1   ©r   r1   s     r   r   zModifyInitParams.__init__R   s   € Ø—’‘”ˆŒˆˆr    N)r"   r#   r$   Ú__doc__ÚnpÚarrayr   r%   r    r   rL   rL   L   sC   € € € € € ðð ð
 "˜œ 1 #™œð ð ð ð ð ð r    rL   c                   ó   — e Zd ZdZdd„ZdS )ÚBuggyz9A buggy estimator that does not set its parameters right.Nc                 ó   — d| _         d S ©Né   ©r1   rO   s     r   r   zBuggy.__init__Y   s   € ØˆŒˆˆr    r   ©r"   r#   r$   rP   r   r%   r    r   rT   rT   V   s.   € € € € € Ø?Ð?ðð ð ð ð ð r    rT   c                   ó$   — e Zd Zd„ Zdd„Zdd„ZdS )ÚNoEstimatorc                 ó   — d S r   r%   r7   s    r   r   zNoEstimator.__init__^   ó   € Øˆr    Nc                 ó   — | S r   r%   ©r   ÚXÚys      r   ÚfitzNoEstimator.fita   s   € Øˆr    c                 ó   — d S r   r%   ©r   r`   s     r   ÚpredictzNoEstimator.predictd   s   € Øˆtr    r,   r   )r"   r#   r$   r   rb   re   r%   r    r   r[   r[   ]   sK   € € € € € ðð ð ðð ð ð ðð ð ð ð ð r    r[   c                   ó   — e Zd ZdZd„ ZdS )ÚVargEstimatorz-scikit-learn estimators shouldn't have vargs.c                 ó   — d S r   r%   )r   Úvargss     r   r   zVargEstimator.__init__k   r]   r    NrY   r%   r    r   rg   rg   h   s)   € € € € € Ø7Ð7ðð ð ð ð r    rg   c                  ó  — ddl m} m}  | |d¬¦  «        }t          |¦  «        }||usJ ‚|                     ¦   «         |                     ¦   «         k    sJ ‚ | |t          j        d¦  «        ¬¦  «        }t          |¦  «        }||usJ ‚d S )Nr   ©Ú	SelectFprÚ	f_classifçš™™™™™¹?©Úalpha)é
   é   )Úsklearn.feature_selectionrl   rm   r   Ú
get_paramsrQ   Úzeros©rl   rm   ÚselectorÚnew_selectors       r   Ú
test_clonery   s   sµ   € ð ?Ð>Ð>Ð>Ð>Ð>Ð>Ð>àˆy˜¨#Ð.Ñ.Ô.€HÝ˜‘?”?€LØ˜<Ð'Ð'Ð'Ð'Ø×ÒÑ Ô  L×$;Ò$;Ñ$=Ô$=Ò=Ð=Ð=Ð=àˆy˜­"¬(°7Ñ*;Ô*;Ð<Ñ<Ô<€HÝ˜‘?”?€LØ˜<Ð'Ð'Ð'Ð'Ð'Ð'r    c                  ó€   — ddl m} m}  | |d¬¦  «        }d|_        t	          |¦  «        }t          |d¦  «        rJ ‚d S )Nr   rk   rn   ro   ÚtestÚown_attribute)rs   rl   rm   r|   r   Úhasattrrv   s       r   Útest_clone_2r~   …   s_   € ð ?Ð>Ð>Ð>Ð>Ð>Ð>Ð>àˆy˜¨#Ð.Ñ.Ô.€HØ#€HÔÝ˜‘?”?€LÝ�| _Ñ5Ô5Ð5Ð5Ð5Ð5Ð5r    c                  ó†  — t          ¦   «         } d| _        t          j        t          ¦  «        5  t          | ¦  «         d d d ¦  «         n# 1 swxY w Y   t          ¦   «         }t          j        t          ¦  «        5  t          |¦  «         d d d ¦  «         n# 1 swxY w Y   t          ¦   «         }t          j        t          ¦  «        5  t          |¦  «         d d d ¦  «         n# 1 swxY w Y   t          ¦   «         }t          j        t          ¦  «        5  t          |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrr   )
rT   r1   ÚpytestÚraisesÚRuntimeErrorr   r[   Ú	TypeErrorrg   rL   )ÚbuggyÚno_estimatorÚvarg_estÚests       r   Útest_clone_buggyrˆ   “   s  € å‰GŒG€EØ€E„GÝ	Œ•|Ñ	$Ô	$ð ð Ýˆe‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ ‘=”=€LÝ	Œ•yÑ	!Ô	!ð ð ÝˆlÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ ‰Œ€HÝ	Œ•|Ñ	$Ô	$ð ð Ýˆh‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ Ñ
Ô
€CÝ	Œ•|Ñ	$Ô	$ð ð Ýˆc‰
Œ
ˆ
ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð sG   ¯AÁAÁAÁ=BÂBÂ BÃC'Ã'C+Ã.C+ÄD6Ä6D:Ä=D:c                  ón  — t          t          j        g ¦  «        ¬¦  «        } t          | ¦  «        }t	          | j        |j        ¦  «         t          t          j        t          j        dgg¦  «        ¦  «        ¬¦  «        } t          | ¦  «        }t	          | j        j        |j        j        ¦  «         d S )N©r   r   )	r   rQ   rR   r   r   r   ÚspÚ
csr_matrixÚdata©ÚclfÚclf2s     r   Útest_clone_empty_arrayr‘   §   sˆ   € å
�BœH R™LœLÐ
)Ñ
)Ô
)€CÝ�‰:Œ:€DÝ�s”y $¤*Ñ-Ô-Ð-å
�BœM­"¬(°Q°C°5©/¬/Ñ:Ô:Ð
;Ñ
;Ô
;€CÝ�‰:Œ:€DÝ�s”y”~ t¤z¤Ñ7Ô7Ð7Ð7Ð7r    c                  óx   — t          t          j        ¬¦  «        } t          | ¦  «        }| j        |j        u sJ ‚d S ©NrŠ   )r   rQ   Únanr   r   rŽ   s     r   Útest_clone_nanr•   ²   s:   € å
�BœFÐ
#Ñ
#Ô
#€CÝ�‰:Œ:€DàŒ9˜œ
Ð"Ð"Ð"Ð"Ð"Ð"r    c                  óh   — dt          ¦   «         i} t          | ¦  «        }| d         |d         usJ ‚d S )Nr1   )r   r   )ÚorigÚcloneds     r   Útest_clone_dictr™   º   s:   € à•‘”Ð€DÝ�4‰[Œ[€FØ�Œ9˜F 3œKÐ'Ð'Ð'Ð'Ð'Ð'r    c                  óz  ‡— ˆfd„t          t          ¦  «        D ¦   «         } | D ]–Š ‰t          j        d¦  «        ¦  «        }t	          |¬¦  «        }t          |¦  «        }|j        j        |j        j        u sJ ‚t          |j         	                    ¦   «         |j         	                    ¦   «         ¦  «         Œ—d S )Nc                 ó”   •— g | ]D}|                      d ¦  «        r-t          t          t          |¦  «        xŠ¦  «        t          u ¯B‰‘ŒES )Ú_matrix)ÚendswithÚtypeÚgetattrr‹   )Ú.0ÚnameÚclss     €r   ú
<listcomp>z.test_clone_sparse_matrices.<locals>.<listcomp>Â   s[   ø€ ð ð ð àØ�=Š=˜Ñ#Ô#ðõ )-µG½BÀÑ4EÔ4EÐ-E¨SÑ(FÔ(FÍ$Ð(NÐ(Nð 	à(NÐ(NÐ(Nr    é   rŠ   )
Údirr‹   rQ   Úeyer   r   r   Ú	__class__r   Útoarray)Úsparse_matrix_classesÚsparse_matrixr�   Ú
clf_clonedr¢   s       @r   Útest_clone_sparse_matricesr¬   Á   sÍ   ø€ ðð ð ð å�‘G”Gðñ ô Ðð %ð Lð LˆØ˜�BœF 1™IœI™œˆÝ Ð.Ñ.Ô.ˆÝ˜3‘Z”Zˆ
ØŒyÔ" jÔ&6Ô&@Ð@Ð@Ð@Ð@Ý˜3œ9×,Ò,Ñ.Ô.°
Ô0@×0HÒ0HÑ0JÔ0JÑKÔKÐKÐKðLð Lr    c                  ón   — t          t           ¬¦  «        } t          | ¦  «        }| j        |j        u sJ ‚d S r“   )r   r   r   rŽ   s     r   Útest_clone_estimator_typesr®   Ð   s:   € õ �KÐ
(Ñ
(Ô
(€CÝ�‰:Œ:€DàŒ9˜œ
Ð"Ð"Ð"Ð"Ð"Ð"r    c                  óš   — d} t          j        t          | ¬¦  «        5  t          t          ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )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   žA Á AÁAc                  ó&  — t          ¦   «         } t          | ¦  «         t          t          ¦   «         t          ¦   «         ¦  «        }t          |¦  «        dk    sJ ‚t          dgdz  ¬¦  «        }t	          t          |¦  «        ¦  «        dk    sJ ‚d S )NzT(a=K(), b=K())Úlong_paramsiè  rX   iå  )r   Úreprr/   r'   Úlen)Úmy_estimatorr{   Úsome_ests      r   Ú	test_reprrº   á   s‚   € å‘=”=€LÝˆÑÔÐÝ�Q‰SŒS•!‘#”#‰;Œ;€DÝ�‰:Œ:Ð*Ò*Ð*Ð*Ð*å�M�? TÑ)Ð*Ñ*Ô*€HÝ�t�H‰~Œ~ÑÔ #Ò%Ð%Ð%Ð%Ð%Ð%r    c                  ó@   — t          ¦   «         } t          | ¦  «         d S r   )r   Ústr)r¸   s    r   Útest_strr½   ì   s   € å‘=”=€LÝˆÑÔÐÐÐr    c                  ó�  — t          t          ¦   «         t          ¦  «        } d|                      d¬¦  «        v sJ ‚d|                      d¬¦  «        vsJ ‚|                      d¬¦  «         | j        j        dk    sJ ‚t          j        t          ¦  «        5  |                      d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚa__dT)ÚdeepFrr   )r¿   )Úa__a)	r/   r'   rt   Ú
set_paramsr1   r*   r€   r�   Ú
ValueError)r{   s    r   Útest_get_paramsrÄ   ò   sþ   € Ý�Q‰SŒS•!‰9Œ9€Dà�T—_’_¨$�_Ñ/Ô/Ð/Ð/Ð/Ð/Ø˜Ÿš¨e˜Ñ4Ô4Ð4Ð4Ð4Ð4à‡O‚O˜€OÑÔÐØŒ6Œ8�qŠ=ˆ=ˆ=ˆ=å	Œ•zÑ	"Ô	"ð  ð  Ø�Š˜QˆÑÔÐð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  ð  ð  s   ÂB;Â;B?ÃB?c                  ó2  — t          ¦   «         } t          | ¦  «        sJ ‚t          t          | dddgi¦  «        ¦  «        sJ ‚t          t          d| fg¦  «        ¦  «        sJ ‚t          t          dt          | dddgi¦  «        fg¦  «        ¦  «        sJ ‚d S )NÚCrn   rW   ÚsvcÚsvc_cv)r   r	   r   r   )rÇ   s    r   Útest_is_classifierrÉ   ÿ   s£   € Ý
‰%Œ%€CÝ˜ÑÔÐÐÐÝ� c¨C°#°q°¨?Ñ;Ô;Ñ<Ô<Ð<Ð<Ð<Ý� E¨3 < .Ñ1Ô1Ñ2Ô2Ð2Ð2Ð2Ý� H­l¸3ÀÀsÈAÀhÀÑ.PÔ.PÐ#QÐ"RÑSÔSÑTÔTÐTÐTÐTÐTÐTr    c                  ó`  — t          dt          ¦   «         fg¦  «        } t          j        t          ¦  «        5  |                      d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  |                      d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrÇ   T)Úsvc__stupid_param)Úsvm__stupid_param)r   r   r€   r�   rÃ   rÂ   )r�   s    r   Útest_set_paramsrÍ     s  € å
�U�C™EœE�NÐ#Ñ
$Ô
$€Cõ 
Œ•zÑ	"Ô	"ð /ð /Ø�Š¨ˆÑ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /õ 
Œ•zÑ	"Ô	"ð /ð /Ø�Š¨ˆÑ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /s#   ¸AÁAÁ"AÁ?B#Â#B'Â*B'c                  óÔ   ‡—  G ˆfd„dt           ¦  «        } dddœŠt          d | ¦   «         fg¦  «        t           | ¦   «         i ¦  «        fD ]}|                     dd¬¦  «         Œd S )Nc                   ó"   •‡ — e Zd Zˆ ˆfd„Zˆ xZS )ú?test_set_params_passes_all_parameters.<locals>.TestDecisionTreec                 óJ   •—  t          ¦   «         j        di |¤Ž |‰k    sJ ‚| S )Nr%   )ÚsuperrÂ   )r   Úkwargsr§   Úexpected_kwargss     €€r   rÂ   zJtest_set_params_passes_all_parameters.<locals>.TestDecisionTree.set_params  s6   ø€ Ø�E‰GŒGÔÐ(Ð( Ð(Ð(Ð(à˜_Ò,Ð,Ð,Ð,ØˆKr    )r"   r#   r$   rÂ   Ú__classcell__)r§   rÔ   s   @€r   ÚTestDecisionTreerÐ     s>   øø€ € € € € ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	r    rÖ   r¤   rr   )Ú	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Ð 0Ñ 2Ô 2Ð3Ð4Ñ5Ô5ÝÐ%Ð%Ñ'Ô'¨Ñ,Ô,ðð Nð Nˆð 	�Š¨AÈ1ˆÑMÔMÐMÐMð	Nð Nr    c                  ó¨   — t          t          ¦   «         i ¦  «        } |                      t          ¦   «         d¬¦  «         | j        j        dk    sJ ‚d S )Ng      E@)rÙ   Úestimator__C)r   r   rÂ   r   rÙ   rÆ   )Úgscvs    r   Ú$test_set_params_updates_valid_paramsrà   ,  sP   € õ Õ.Ñ0Ô0°"Ñ5Ô5€DØ‡O‚O�c™eœe°$€OÑ7Ô7Ð7ØŒ>Ô˜tÒ#Ð#Ð#Ð#Ð#Ð#r    ztree,datasetrr   )r×   Úrandom_state)rá   c                 óD  — t           j                             d¦  «        }|\  }}|                      ||¦  «         |                     ddt          |¦  «        ¬¦  «        }|                      ||¦  «        }|                      |||¬¦  «        }d}||k    s
J |¦   «         ‚d S )Nr   rW   rq   )Úsize)Úsample_weightz5Unweighted and weighted scores are unexpectedly equal)rQ   ÚrandomÚRandomStaterb   Úrandintr·   Úscore)	ÚtreeÚdatasetÚrngr`   ra   rä   Úscore_unweightedÚscore_weightedr²   s	            r   Útest_score_sample_weightrî   4  sŸ   € õ Œ)×
Ò
 Ñ
"Ô
"€Cà�D€A€qà‡H‚HˆQ��N„N€Nà—K’K  2­C°©F¬F�KÑ3Ô3€MØ—z’z ! QÑ'Ô'ÐØ—Z’Z  1°M�ZÑBÔB€NØ
A€CØ˜~Ò-Ð-Ð-¨sÑ-Ô-Ð-Ð-Ð-r    c                  ó,  —  G d„ dt           t          ¦  «        } t          j        d¦  «        }t	          |¦  «        } | |d¬¦  «        }t          |¦  «        }|j        |j        k    j                             ¦   «         sJ ‚|j	        |j	        k    sJ ‚d S )Nc                   ó(   — e Zd ZdZdd„Zdd„Zd„ ZdS )	ú3test_clone_pandas_dataframe.<locals>.DummyEstimatora,  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
        -----
        NrW   c                 ó"   — || _         || _        d S r   )ÚdfÚscalar_param)r   ró   rô   s      r   r   z<test_clone_pandas_dataframe.<locals>.DummyEstimator.__init__`  s   € ØˆDŒGØ ,ˆDÔÐÐr    c                 ó   — d S r   r%   r_   s      r   rb   z7test_clone_pandas_dataframe.<locals>.DummyEstimator.fitd  ó   € ØˆDr    c                 ó   — d S r   r%   rd   s     r   Ú	transformz=test_clone_pandas_dataframe.<locals>.DummyEstimator.transformg  rö   r    rV   r   )r"   r#   r$   rP   r   rb   rø   r%   r    r   ÚDummyEstimatorrñ   P  sU   € € € € € ð	ð 	ð	-ð 	-ð 	-ð 	-ð	ð 	ð 	ð 	ð	ð 	ð 	ð 	ð 	r    rù   rq   rW   )rô   )
r   r   rQ   Úaranger   r   ró   ÚvaluesÚallrô   )rù   r*   ró   ÚeÚcloned_es        r   Útest_clone_pandas_dataframerÿ   O  s¬   € ðð ð ð ð Õ)­=ñ ô ð õ6 	Œ	�"‰Œ€AÝ	�qÑ	Ô	€BØˆ�r¨Ð*Ñ*Ô*€AÝ�Q‰xŒx€Hð ŒD�H”KÒÔ'×+Ò+Ñ-Ô-Ð-Ð-Ð-ØŒ>˜XÔ2Ò2Ð2Ð2Ð2Ð2Ð2r    c                  ó”  —  G d„ dt           ¦  «        } t          j        ddgddgddgg¦  «        }t          ¦   «                              |¦  «        }|j        } | |¦  «        }t          |j        |¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         t          j	        ddgddgd	dgg¦  «        }|                     |¦  «         t          |j        |¦  «         | 
                    |¦  «         t          |j        |¦  «         t          |¦  «        }||u sJ ‚t          |j        |¦  «         d
S )z:Checks that clone works with `__sklearn_clone__` protocol.c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ú,test_clone_protocol.<locals>.FrozenEstimatorc                 ó   — || _         d S r   )Úfitted_estimator)r   r  s     r   r   z5test_clone_protocol.<locals>.FrozenEstimator.__init__y  s   € Ø$4ˆDÔ!Ð!Ð!r    c                 ó,   — t          | j        |¦  «        S r   )rŸ   r  )r   r¡   s     r   Ú__getattr__z8test_clone_protocol.<locals>.FrozenEstimator.__getattr__|  s   € Ý˜4Ô0°$Ñ7Ô7Ð7r    c                 ó   — | S r   r%   r7   s    r   Ú__sklearn_clone__z>test_clone_protocol.<locals>.FrozenEstimator.__sklearn_clone__  ó   € ØˆKr    c                 ó   — | S r   r%   ©r   ÚargsrÓ   s      r   rb   z0test_clone_protocol.<locals>.FrozenEstimator.fit‚  r	  r    c                 ó&   —  | j         j        |i |¤ŽS r   )r  rø   r  s      r   Úfit_transformz:test_clone_protocol.<locals>.FrozenEstimator.fit_transform…  s   € Ø2�4Ô(Ô2°DÐC¸FÐCÐCÐCr    N)r"   r#   r$   r   r  r  rb   r  r%   r    r   ÚFrozenEstimatorr  x  sd   € € € € € ð	5ð 	5ð 	5ð	8ð 	8ð 	8ð	ð 	ð 	ð	ð 	ð 	ð	Dð 	Dð 	Dð 	Dð 	Dr    r  éÿÿÿÿéþÿÿÿéýÿÿÿrr   é   é   rW   N)r   rQ   rR   r
   rb   Úcomponents_r   r   Úget_feature_names_outÚasarrayr  r   )r  r`   ÚpcaÚ
componentsÚ
frozen_pcaÚX_newÚclone_frozen_pcas          r   Útest_clone_protocolr  u  sk  € ðDð Dð Dð Dð D�-ñ Dô Dð Dõ  	Œ�2�r�(˜R ˜H r¨2 hÐ/Ñ0Ô0€AÝ
‰%Œ%�)Š)�A‰,Œ,€CØ”€Jà � Ñ%Ô%€JÝ�JÔ*¨JÑ7Ô7Ð7õ �z×7Ò7Ñ9Ô9¸3×;TÒ;TÑ;VÔ;VÑWÔWÐWõ ŒJ˜˜Q˜ ! Q ¨!¨Q¨Ð0Ñ1Ô1€EØ‡N‚N�5ÑÔÐÝ�JÔ*¨JÑ7Ô7Ð7ð ×Ò˜UÑ#Ô#Ð#Ý�JÔ*¨JÑ7Ô7Ð7õ ˜ZÑ(Ô(ÐØ˜zÐ)Ð)Ð)Ð)ÝÐ$Ô0°*Ñ=Ô=Ð=Ð=Ð=r    c                  ó|  — t          j        ¦   «         } t          ¦   «                              | j        | j        ¦  «        }t          j        |¦  «        }d|v sJ ‚t          t          j	        |¦  «        }| 
                    | j        | j        ¦  «        }| 
                    | j        | j        ¦  «        }||k    sJ ‚d S )Nó   version)r   Ú	load_irisr   rb   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_versionr*  ¡  s¬   € ÝÔÑÔ€DÝ!Ñ#Ô#×'Ò'¨¬	°4´;Ñ?Ô?€DÝ”,˜tÑ$Ô$€KØ˜Ð$Ð$Ð$Ð$Ý&¥v¤|°[ÑAÔA€Mð Ÿ
š
 4¤9¨d¬kÑ:Ô:ÐØ%×+Ò+¨D¬I°t´{ÑCÔCÐØÐ 1Ò1Ð1Ð1Ð1Ð1Ð1r    c                   ó   — e Zd Zd„ ZdS )ÚTreeBadVersionc                 óR   — t          | j                             ¦   «         d¬¦  «        S )NÚ	something)Ú_sklearn_version)rF   Ú__dict__Úitemsr7   s    r   Ú__getstate__zTreeBadVersion.__getstate__¯  s#   € Ý�D”M×'Ò'Ñ)Ô)¸KÐHÑHÔHÐHr    N©r"   r#   r$   r2  r%   r    r   r,  r,  ®  s(   € € € € € ðIð Ið Ið Ið Ir    r,  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                  ó<  — t          j        ¦   «         } t          ¦   «                              | j        | j        ¦  «        }t          j        |¦  «        }t           	                    ddt          j        ¬¦  «        }t          j        t          |¬¦  «        5 }t          j        |¦  «         d d d ¦  «         n# 1 swxY w Y   |j        d         j        }t%          |t&          ¦  «        sJ ‚|j        dk    sJ ‚|j        dk    sJ ‚|j        t          j        k    sJ ‚d S )Nr,  r.  ©rÙ   Úold_versionÚcurrent_versionr°   r   )r   r   r,  rb   r�   r!  r"  r#  Úpickle_error_messageÚformatÚsklearnÚ__version__r€   ÚwarnsÚUserWarningr$  ÚlistÚmessageÚ
isinstancer   Úestimator_nameÚoriginal_sklearn_versionÚcurrent_sklearn_version)r%  ré   Útree_pickle_otherr?  Úwarning_records        r   Ú<test_pickle_version_warning_is_issued_upon_different_versionrF  ¼  sN  € ÝÔÑÔ€DÝÑÔ×Ò ¤	¨4¬;Ñ7Ô7€DÝœ TÑ*Ô*ÐÝ"×)Ò)Ø"ØÝÔ+ð *ñ ô €Gõ
 
Œ•k¨Ð	1Ñ	1Ô	1ð (°^ÝŒÐ&Ñ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð Ô! !Ô$Ô,€GÝ�gÕ9Ñ:Ô:Ð:Ð:Ð:ØÔ!Ð%5Ò5Ð5Ð5Ð5ØÔ+¨{Ò:Ð:Ð:Ð:ØÔ*­gÔ.AÒAÐAÐAÐAÐAÐAs   ÂB7Â7B;Â>B;c                   ó   — e Zd Zd„ ZdS )ÚTreeNoVersionc                 ó   — | j         S r   )r0  r7   s    r   r2  zTreeNoVersion.__getstate__Ð  s
   € ØŒ}Ðr    Nr3  r%   r    r   rH  rH  Ï  s#   € € € € € ðð ð ð ð r    rH  c                  ó–  — t          j        ¦   «         } t          ¦   «                              | j        | j        ¦  «        }t          j        |¦  «        }d|vsJ ‚t           	                    ddt          j        ¬¦  «        }t          j        t          |¬¦  «        5  t          j        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr  rH  zpre-0.18r5  r°   )r   r   rH  rb   r�   r!  r"  r#  r8  r9  r:  r;  r€   r<  r=  r$  )r%  ré   Útree_pickle_noversionr?  s       r   ÚDtest_pickle_version_warning_is_issued_when_no_version_info_in_picklerL  Ô  s  € ÝÔÑÔ€Då‰?Œ?×Ò˜tœy¨$¬+Ñ6Ô6€Då"œL¨Ñ.Ô.ÐØÐ2Ð2Ð2Ð2Ð2Ý"×)Ò)Ø!ØÝÔ+ð *ñ ô €Gõ 
Œ•k¨Ð	1Ñ	1Ô	1ð ,ð ,ÝŒÐ*Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ,ð ,s   ÂB>Â>CÃCc                  óL  — t          j        ¦   «         } t          ¦   «                              | j        | j        ¦  «        }t          j        |¦  «        }	 t          j        }dt          _        t          t          j
        |¦  «         |t          _        d S # |t          _        w xY w)NÚ
notsklearn)r   r   rH  rb   r�   r!  r"  r#  r#   r   r$  )r%  ré   rK  Úmodule_backups       r   ÚCtest_pickle_version_no_warning_is_issued_with_non_sklearn_estimatorrP  å  s‡   € ÝÔÑÔ€DÝ‰?Œ?×Ò˜tœy¨$¬+Ñ6Ô6€DÝ"œL¨Ñ.Ô.Ðð1Ý%Ô0ˆØ#/�Ô Ý�6œ<Ð)>Ñ?Ô?Ð?à#0�Ô Ð Ð ø =�Ô Ð0Ð0Ð0Ð0s   Á2B ÂB#c                   ó   — e Zd Zd„ Zd„ ZdS )ÚDontPickleAttributeMixinc                 óB   — | j                              ¦   «         }d |d<   |S ©NÚ_attribute_not_pickled©r0  rN   ©r   r�   s     r   r2  z%DontPickleAttributeMixin.__getstate__ò  ó%   € ØŒ}×!Ò!Ñ#Ô#ˆØ)-ˆÐ%Ñ&Øˆr    c                 óD   — d|d<   | j                              |¦  «         d S )NTÚ	_restored)r0  Úupdate)r   Ústates     r   Ú__setstate__z%DontPickleAttributeMixin.__setstate__÷  s(   € Ø!ˆˆkÑØŒ×Ò˜UÑ#Ô#Ð#Ð#Ð#r    N)r"   r#   r$   r2  r]  r%   r    r   rR  rR  ñ  s2   € € € € € ðð ð ð
$ð $ð $ð $ð $r    rR  c                   ó   — e Zd Zdd„ZdS )ÚMultiInheritanceEstimatorr¤   c                 ó"   — || _         d | _        d S r   ©Úattribute_pickledrU  ©r   rb  s     r   r   z"MultiInheritanceEstimator.__init__ý  ó   € Ø!2ˆÔØ&*ˆÔ#Ð#Ð#r    N©r¤   r!   r%   r    r   r_  r_  ü  s(   € € € € € ð+ð +ð +ð +ð +ð +r    r_  c                  ó¾   — t          ¦   «         } d| _        t          j        | ¦  «        }t          j        |¦  «        }|j        dk    sJ ‚|j        �J ‚|j        sJ ‚d S ©Nú$this attribute should not be pickledr¤   )r_  rU  r"  r#  r$  rb  rZ  ©rÙ   Ú
serializedÚestimator_restoreds      r   Ú3test_pickling_when_getstate_is_overwritten_by_mixinrl    sl   € Ý)Ñ+Ô+€IØ'M€IÔ$å”˜iÑ(Ô(€JÝœ jÑ1Ô1ÐØÔ/°1Ò4Ð4Ð4Ð4ØÔ4Ð<Ð<Ð<ØÔ'Ð'Ð'Ð'Ð'Ð'r    c                  ó€  — 	 t          ¦   «         } d}|| _        t          | ¦  «        j        }dt          | ¦  «        _        |                      ¦   «         }|d ddœk    sJ ‚d|d<   |                      |¦  «         | j        dk    sJ ‚| j        sJ ‚	 |t          | ¦  «        _        d S # |t          | ¦  «        _        w xY w)Nrh  rN  r¤   )rU  rb  r  rb  )r_  rU  rž   r#   r2  r]  rb  rZ  )rÙ   ÚtextÚold_modrj  s       r   ÚFtest_pickling_when_getstate_is_overwritten_by_mixin_outside_of_sklearnrp    sÙ   € ð-Ý-Ñ/Ô/ˆ	Ø5ˆØ+/ˆ	Ô(Ý�y‘/”/Ô,ˆØ%1�ˆY‰ŒÔ"à×+Ò+Ñ-Ô-ˆ
Ø¸ÐSTÐUÐUÒUÐUÐUÐUà*+ˆ
Ð&Ñ'Ø×Ò˜zÑ*Ô*Ð*ØÔ*¨aÒ/Ð/Ð/Ð/ØÔ"Ð"Ð"Ð"Ð"à%,�ˆY‰ŒÔ"Ð"Ð"ø W�ˆY‰ŒÔ"Ð,Ð,Ð,Ð,s   ‚BB' Â'B=c                   ó   — e Zd Zdd„Zd„ ZdS )ÚSingleInheritanceEstimatorr¤   c                 ó"   — || _         d | _        d S r   ra  rc  s     r   r   z#SingleInheritanceEstimator.__init__!  rd  r    c                 óB   — | j                              ¦   «         }d |d<   |S rT  rV  rW  s     r   r2  z'SingleInheritanceEstimator.__getstate__%  rX  r    Nre  )r"   r#   r$   r   r2  r%   r    r   rr  rr     s7   € € € € € ð+ð +ð +ð +ðð ð ð ð r    rr  )Úcategoryc                  ó¬   — t          ¦   «         } d| _        t          j        | ¦  «        }t          j        |¦  «        }|j        dk    sJ ‚|j        �J ‚d S rg  )rr  rU  r"  r#  r$  rb  ri  s      r   ÚCtest_pickling_works_when_getstate_is_overwritten_in_the_child_classrw  +  s]   € å*Ñ,Ô,€IØ'M€IÔ$å”˜iÑ(Ô(€JÝœ jÑ1Ô1ÐØÔ/°1Ò4Ð4Ð4Ð4ØÔ4Ð<Ð<Ð<Ð<Ð<r    c                  óª  — t          ¦   «         } t          ¦   «         }|                      ¦   «         d         sJ ‚|                     ¦   «         d         rJ ‚t          ¦   «         }|                     ¦   «         d         rJ ‚t	          ¦   «         }|                     ¦   «         d         sJ ‚t          ¦   «         }|                     ¦   «         d         sJ ‚d S )Nr6   )r4   r;   Ú	_get_tagsrA   rD   rH   )Únan_tag_estÚno_nan_tag_estÚredefine_tags_estÚdiamond_tag_estÚinherit_diamond_tag_ests        r   Útest_tag_inheritancer  6  sÎ   € õ ‘(”(€KÝ‘Z”Z€NØ× Ò Ñ"Ô" ;Ô/Ð/Ð/Ð/Ø×'Ò'Ñ)Ô)¨+Ô6Ð6Ð6Ð6å#™œÐØ ×*Ò*Ñ,Ô,¨[Ô9Ð9Ð9Ð9å)Ñ+Ô+€OØ×$Ò$Ñ&Ô& {Ô3Ð3Ð3Ð3å8Ñ:Ô:ÐØ"×,Ò,Ñ.Ô.¨{Ô;Ð;Ð;Ð;Ð;Ð;r    c                  óÔ   —  G d„ dt           ¦  «        }  | ¦   «         }d}t          j        t          |¬¦  «        5  |                     ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nc                   ó   — e Zd Zdd„Zdd„ZdS )ú<test_raises_on_get_params_non_attribute.<locals>.MyEstimatorr¤   c                 ó   — d S r   r%   )r   Úparams     r   r   zEtest_raises_on_get_params_non_attribute.<locals>.MyEstimator.__init__J  rö   r    Nc                 ó   — | S r   r%   r_   s      r   rb   z@test_raises_on_get_params_non_attribute.<locals>.MyEstimator.fitM  r	  r    re  r   )r"   r#   r$   r   rb   r%   r    r   r   r‚  I  s<   € € € € € ð	ð 	ð 	ð 	ð	ð 	ð 	ð 	ð 	ð 	r    r   z-'MyEstimator' object has no attribute 'param'r°   )r   r€   r�   ÚAttributeErrorrt   )r   r‡   r²   s      r   Ú'test_raises_on_get_params_non_attributer‡  H  sÇ   € ðð ð ð ð •mñ ô ð ð ˆ+‰-Œ-€CØ
9€Cå	Œ•~¨SÐ	1Ñ	1Ô	1ð ð Ø�ŠÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   »AÁA!Á$A!c                  óö   — t          ¦   «         } |                      ¦   «         }d|v sJ ‚d|v sJ ‚t          d¬¦  «        5  |                      ¦   «         }d|v sJ ‚d|vsJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nz
text/plainz	text/htmlrn  ©Údisplay)r   Ú_repr_mimebundle_r   )ré   Úoutputs     r   Útest_repr_mimebundle_r�  W  së   € å!Ñ#Ô#€DØ×#Ò#Ñ%Ô%€FØ˜6Ð!Ð!Ð!Ð!Ø˜&Ð Ð Ð Ð å	 Ð	'Ñ	'Ô	'ð )ð )Ø×'Ò'Ñ)Ô)ˆØ˜vÐ%Ð%Ð%Ð%Ø &Ð(Ð(Ð(Ð(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð )ð )s   ¿!A.Á.A2Á5A2c                  ó:  — t          ¦   «         } |                      ¦   «         }d|v sJ ‚t          d¬¦  «        5  d}t          j        t
          |¬¦  «        5  |                      ¦   «         }d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nz<style>rn  r‰  z _repr_html_ is only defined whenr°   )r   Ú_repr_html_r   r€   r�   r†  )ré   rŒ  r²   s      r   Útest_repr_html_wrapsr�  d  s$  € å!Ñ#Ô#€Dà×ÒÑÔ€FØ˜ÐÐÐÐå	 Ð	'Ñ	'Ô	'ð (ð (Ø0ˆÝŒ]�>°Ð5Ñ5Ô5ð 	(ð 	(Ø×%Ò%Ñ'Ô'ˆFð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (s5   ¹BÁA8Á,BÁ8A<	Á<BÁ?A<	Â BÂBÂBc                  ó  — t          ¦   «         } g d¢g d¢g}|                      |d¬¦  «         | j        dk    sJ ‚d}t          j        t
          |¬¦  «        5  |                      dd	¬¦  «         d
d
d
¦  «         d
S # 1 swxY w Y   d
S )z>Check that `_check_n_features` validates data when reset=False)rW   rr   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™  q  sá   € å
‰-Œ-€CØˆyˆy˜)˜)˜)Ð$€GØ×Ò˜'¨ÐÑ.Ô.Ð.àÔ Ò"Ð"Ð"Ð"à
T€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð 8ð 8Ø×Ò˜k°ÐÑ7Ô7Ð7ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8ð 8ð 8s   ÁA=Á=BÂBc                  ó¢   — t          ¦   «         } |                      dd¬¦  «         t          | d¦  «        rJ ‚|                      dd¬¦  «         dS )z]Check 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›  ~  s^   € õ ‰-Œ-€CØ×Ò˜+¨TÐÑ2Ô2Ð2å�sÐ,Ñ-Ô-Ð-Ð-Ð-ð ×Ò˜+¨UÐÑ3Ô3Ð3Ð3Ð3r    c                  ó:  — t          j        d¦  «        } t          j        ¦   «         }|j        }|                      ||j        ¬¦  «        } G d„ dt          t          ¦  «        } |¦   «          	                    |¦  «        }t          |j        |j        ¦  «         | 	                    |¦  «         t          |d¦  «        rJ ‚| 	                    |¦  «         d}|                      ||j        ddd…         ¬¦  «        }t          j        t          |¬	¦  «        5  |                     |¦  «         ddd¦  «         n# 1 swxY w Y   d
}t          j        t$          |¬	¦  «        5  |                     |¦  «         ddd¦  «         n# 1 swxY w Y   d} |¦   «          	                    |¦  «        }t          j        t$          |¬	¦  «        5  |                     |¦  «         ddd¦  «         n# 1 swxY w Y   |                      |¦  «        } |¦   «         }t'          j        ¦   «         5  t'          j        dt$          ¦  «         | 	                    |¦  «         ddd¦  «         n# 1 swxY w Y   ||g}	|	D ]\}
t'          j        ¦   «         5  t'          j        dt$          ¦  «         |                     |
¦  «         ddd¦  «         n# 1 swxY w Y   Œ]|                      |g d¢¬¦  «        } |¦   «         }t-          j        d¦  «        }t          j        t0          |¬	¦  «        5  | 	                    |¦  «         ddd¦  «         n# 1 swxY w Y   t          j        t0          |¬	¦  «        5  |                     |¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z;Check that feature_name_in are recorded by `_validate_data`Úpandas©Úcolumnsc                   ó   — e Zd Zdd„Zd„ ZdS )ú.test_feature_names_in.<locals>.NoOpTransformerNc                 ó0   — |                       |¦  «         | S r   ©Ú_validate_datar_   s      r   rb   z2test_feature_names_in.<locals>.NoOpTransformer.fit’  s   € Ø×Ò Ñ"Ô"Ð"ØˆKr    c                 ó4   — |                       |d¬¦  «         |S )NFr“  r£  rd   s     r   rø   z8test_feature_names_in.<locals>.NoOpTransformer.transform–  s    € Ø×Ò ¨ÐÑ/Ô/Ð/ØˆHr    r   )r"   r#   r$   rb   rø   r%   r    r   ÚNoOpTransformerr¡  ‘  s7   € € € € € ð	ð 	ð 	ð 	ð	ð 	ð 	ð 	ð 	r    r¦  Úfeature_names_in_z5The feature names should match those that were passedNr  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)r1   r2   rW   rr   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   r   r�   Ú	DataFrameÚfeature_namesr   r   rb   r   r§  rŸ  r}   r�   rÃ   rø   r<  r=  ÚwarningsÚcatch_warningsÚsimplefilterÚreÚescaperƒ   )Úpdr%  ÚX_npró   r¦  Útransr²   Údf_badÚdf_int_namesÚXsr`   Údf_mixeds               r   Útest_feature_names_inr¸  Š  s:  € å	Ô	˜XÑ	&Ô	&€BÝÔÑÔ€DØŒ9€DØ	�Š�d DÔ$6ˆÑ	7Ô	7€Bðð ð ð ð Õ*­Mñ ô ð ð ˆOÑÔ×!Ò! "Ñ%Ô%€EÝ�uÔ.°´
Ñ;Ô;Ð;ð 
‡I‚Iˆd�O„O€OÝ�uÐ1Ñ2Ô2Ð2Ð2Ð2à	‡I‚Iˆb�M„M€MØ
A€CØ�\Š\˜$¨Ô(:¸4¸4¸R¸4Ô(@ˆ\ÑAÔA€FÝ	Œ•z¨Ð	-Ñ	-Ô	-ð  ð  Ø�Š˜ÑÔÐð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  ð
	$ð õ 
Œ•k¨Ð	-Ñ	-Ô	-ð ð Ø�Š˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð V€CØˆOÑÔ×!Ò! $Ñ'Ô'€EÝ	Œ•k¨Ð	-Ñ	-Ô	-ð ð Ø�Š˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð —<’< Ñ%Ô%€LØˆOÑÔ€EÝ	Ô	 Ñ	"Ô	"ð  ð  ÝÔ˜g¥{Ñ3Ô3Ð3Ø�	Š	�,ÑÔÐð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  ð �Ð	€BØð ð ˆÝÔ$Ñ&Ô&ð 	ð 	ÝÔ! '­;Ñ7Ô7Ð7Ø�OŠO˜AÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	øð
 �|Š|˜DÐ*:Ð*:Ð*:ˆ|Ñ;Ô;€HØˆOÑÔ€EÝ
Œ)ð	?ñô €Cõ 
Œ•y¨Ð	,Ñ	,Ô	,ð ð Ø�	Š	�(ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Œ•y¨Ð	,Ñ	,Ô	,ð "ð "Ø�Š˜Ñ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð "ð "s~   ÄD;Ä;D?ÅD?Å#FÆF	ÆF	Ç
G,Ç,G0Ç3G0È)0I%É%I)É,I)Ê0KËK	ËK	Ì%MÍMÍMÍ-NÎNÎNc                  óè  — t          j        d¦  «        } t          j        ¦   «         }|                      |j        |j        ¬¦  «        }|                      |j        ¦  «        } G d„ dt          t          ¦  «        } |¦   «         }|                     |d¬¦  «        }t          |t          j        ¦  «        sJ ‚t          ||                     ¦   «         ¦  «         |                     |d¬¦  «        }||u sJ ‚|                     |d¬¦  «        }t          |t          j        ¦  «        sJ ‚t          ||                     ¦   «         ¦  «         |                     |d¬¦  «        }	|	|u sJ ‚|                     ||d¬¦  «        \  }}t          |t          j        ¦  «        sJ ‚t          ||                     ¦   «         ¦  «         t          |t          j        ¦  «        sJ ‚t          ||                     ¦   «         ¦  «         |                     ||d¬¦  «        \  }}	||u sJ ‚|	|u sJ ‚d	}
t          j        t$          |
¬
¦  «        5  |                     ¦   «          ddd¦  «         dS # 1 swxY w Y   dS )z/Check cast_to_ndarray option of _validate_data.r�  rž  c                   ó   — e Zd ZdS )ú;test_validate_data_cast_to_ndarray.<locals>.NoOpTransformerNrI   r%   r    r   r¦  r»  à  ó   € € € € € Øˆr    r¦  T)Úcast_to_ndarrayF)ra   r½  z*Validation should be done on X, y or both.r°   N)r€   r©  r   r   rª  r�   r«  ÚSeriesr!  r   r   r¤  r@  rQ   Úndarrayr   Úto_numpyr�   rÃ   )r±  r%  ró   ra   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¨Ô);ˆÑ	<Ô	<€BØ
�	Š	�$”+ÑÔ€Aðð ð ð ð Õ*­Mñ ô ð ð ˆOÑÔ€EØ×#Ò# B¸Ð#Ñ=Ô=€HÝ�h¥¤
Ñ+Ô+Ð+Ð+Ð+Ý�H˜bŸkšk™mœmÑ,Ô,Ð,à×#Ò# B¸Ð#Ñ>Ô>€HØ�rˆ>ˆ>ˆ>ˆ>à×#Ò# a¸Ð#Ñ>Ô>€HÝ�h¥¤
Ñ+Ô+Ð+Ð+Ð+Ý�H˜aŸjšj™lœlÑ+Ô+Ð+à×'Ò'¨!¸UÐ'ÑCÔC€LØ˜1ÐÐÐÐà×-Ò-¨b°!ÀTÐ-ÑJÔJÑ€HˆhÝ�h¥¤
Ñ+Ô+Ð+Ð+Ð+Ý�H˜bŸkšk™mœmÑ,Ô,Ð,Ý�h¥¤
Ñ+Ô+Ð+Ð+Ð+Ý�H˜aŸjšj™lœlÑ+Ô+Ð+à"×1Ò1°"°aÈÐ1ÑOÔOÑ€HˆlØ�rˆ>ˆ>ˆ>ˆ>Ø˜1ÐÐÐÐà
6€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ø×ÒÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÉI'É'I+É.I+c                  ó¸   — t          ¦   «                              d¬¦  «        } t          d| ¦  «        }t          | ¦  «        }t          d|¦  «        }||k    sJ ‚dS )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Í    s`   € õ 
Ñ	Ô	×	$Ò	$¨xÐ	$Ñ	8Ô	8€BÝ ¨RÑ0Ô0€Få�R‰yŒy€HÝ% k°8Ñ<Ô<€LØ�\Ò!Ð!Ð!Ð!Ð!Ð!r    c                   ó   — e Zd ZdS )Ú_EmptyNrI   r%   r    r   rÏ  rÏ    rJ   r    rÏ  c                   ó   — e Zd ZdS )ÚEmptyEstimatorNrI   r%   r    r   rÑ  rÑ    rJ   r    rÑ  rÙ   c                 ó¾   — |                       ¦   «         }dt          j        i}||k    sJ ‚t          j        t          j        t          ¦   «         ¦  «        ¦  «         dS )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.
    r/  N)r2  r:  r;  r"  r$  r#  r   )rÙ   r\  Úexpecteds      r   Ú"test_estimator_empty_instance_dictrÔ    sY   € ð ×"Ò"Ñ$Ô$€EØ"¥GÔ$7Ð8€HØ�HÒÐÐÐõ „L•”�m™oœoÑ.Ô.Ñ/Ô/Ð/Ð/Ð/r    c                  óŠ  —  G d„ d¦  «        }  G d„ dt           | ¦  «        }d}t          j        t          |¬¦  «        5   |¦   «                              ¦   «          ddd¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          j         |¦   «         ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z:Using a `BaseEstimator` with `__slots__` is not supported.c                   ó   — e Zd ZdZdS )úDtest_estimator_getstate_using_slots_error_message.<locals>.WithSlots)ÚxN)r"   r#   r$   Ú	__slots__r%   r    r   Ú	WithSlotsr×  '  s   € € € € € Øˆ	ˆ	ˆ	r    rÚ  c                   ó   — e Zd ZdS )úDtest_estimator_getstate_using_slots_error_message.<locals>.EstimatorNrI   r%   r    r   Ú	EstimatorrÜ  *  r¼  r    rÝ  zRYou cannot use `__slots__` in objects inheriting from `sklearn.base.BaseEstimator`r°   N)r   r€   r�   rƒ   r2  r"  r#  )rÚ  rÝ  r²   s      r   Ú1test_estimator_getstate_using_slots_error_messagerÞ  $  su  € ðð ð ð ð ñ ô ð ðð ð ð ð •M 9ñ ô ð ð	'ð õ
 
Œ•y¨Ð	,Ñ	,Ô	,ð #ð #Øˆ	‰Œ× Ò Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #õ 
Œ•y¨Ð	,Ñ	,Ô	,ð "ð "ÝŒ�Y�Y‘[”[Ñ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð "ð "s#   ¿A(Á(A,Á/A,ÂB8Â8B<Â?B<)hr"  r¯  r¬  ÚnumpyrQ   r€   Úscipy.sparseÚsparser‹   Únumpy.testingr   r:  r   r   Úsklearn.baser   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/   r4   r;   rA   rD   rH   rL   rT   r[   rg   ry   r~   rˆ   r‘   r•   r™   r¬   r®   r³   rº   r½   rÄ   rÉ   rÍ   rÜ   rà   ÚmarkÚparametrizeÚmake_classificationÚmake_regressionrî   rÿ   r  r*  r,  r8  rF  rH  rL  rP  rR  r_  rl  rp  rr  r=  rw  r  r‡  r�  r�  r™  r›  r¸  rÆ  rÍ  rÏ  rÑ  rÔ  rÞ  r%   r    r   ú<module>rò     sÆ  ðð €€€Ø 	€	€	€	Ø €€€à Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð Ø )Ð )Ð )Ð )Ð )Ð )à €€€Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NØ %Ð %Ð %Ð %Ð %Ð %Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø %Ð %Ð %Ð %Ð %Ð %Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø Ð Ð Ð Ð Ð Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8ðð ð ð ð ð ð ð ð ð ðð ð ð ð �-ñ ô ð ðð ð ð ð ˆñ ô ð ðð ð ð ð ˆñ ô ð ð#ð #ð #ð #ð #ˆ]ñ #ô #ð #ð
$ð $ð $ð $ð $ˆ}ñ $ô $ð $ð
$ð $ð $ð $ð $�&ñ $ô $ð $ð
ð ð ð ð ˜& (ñ ô ð ð
	ð 	ð 	ð 	ð 	Ð!4ñ 	ô 	ð 	ðð ð ð ð �}ñ ô ð ðð ð ð ð ˆMñ ô ð ðð ð ð ð ñ ô ð ðð ð ð ð �Mñ ô ð ð(ð (ð (ð$6ð 6ð 6ðð ð ð(8ð 8ð 8ð#ð #ð #ð(ð (ð (ðLð Lð Lð#ð #ð #ðð ð ð&ð &ð &ðð ð ð
 ð 
 ð 
 ðUð Uð Uð
/ð 
/ð 
/ð$Nð Nð Nð&$ð $ð $ð „×ÒØð #Ð"¨Q¸QÐ?Ñ?Ô?Ø(ˆHÔ(°aÐ8Ñ8Ô8ð	
ð
 "Ð!¨A¸AÐ>Ñ>Ô>Ø$ˆHÔ$°!Ð4Ñ4Ô4ð	
ð	ñô ð3ð 3ñô ð3ð#3ð #3ð #3ðL)>ð )>ð )>ðX
2ð 
2ð 
2ðIð Ið Ið Ið IÐ+ñ Iô Ið Iðð ðBð Bð Bð&ð ð ð ð Ð*ñ ô ð ð
,ð ,ð ,ð"	1ð 	1ð 	1ð$ð $ð $ð $ð $ñ $ô $ð $ð+ð +ð +ð +ð +Ð 8¸-ñ +ô +ð +ð(ð (ð (ð-ð -ð -ð&ð ð ð ð  ñ ô ð ð €˜;Ð(Ñ(Ô(ð=ð =ñ )Ô(ð=ð<ð <ð <ð$ð ð ð
)ð 
)ð 
)ð
(ð 
(ð 
(ð
8ð 
8ð 
8ð	4ð 	4ð 	4ðK"ð K"ð K"ð\&ð &ð &ðR"ð "ð "ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�V˜]ñ 	ô 	ð 	ð „×Ò˜ } }¡¤¸¸Ñ8HÔ8HÐ&IÑJÔJð0ð 0ñ KÔJð0ð"ð "ð "ð "ð "r    