Ë
    ÷Q(h!z  ã                   óh	  — 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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$ d dl%m&Z&m'Z' d dl(m)Z)m*Z* d dl+m,Z, d dl-m.Z. d dl/m0Z0m1Z1 d dl2m3Z3m4Z4  G d„ de«      Z5 G d„ de«      Z6 G d„ de«      Z7 G d„ de«      Z8 G d„ de«      Z9 G d„ de8«      Z: G d„ de8e9«      Z; G d „ d!e;«      Z< G d"„ d#e«      Z= G d$„ d%e«      Z> G d&„ d'«      Z? G d(„ d)e«      Z@d*„ ZAd+„ ZBd,„ ZCd-„ ZDd.„ ZEd/„ ZFd0„ ZGd1„ ZHd2„ ZId3„ ZJd4„ ZKd5„ ZLd6„ ZMejœ                  jŸ                  d7 e&«       d8f e  e&«       d9d:d;gi«      d8f e"d< e&«       fg«      d8f e"d= e  e&«       d9d:d;gi«      fg«      d8f e'«       d>f e  e'«       d9d:d;gi«      d>f e"d? e'«       fg«      d>f e"d@ e  e'«       d9d:d;gi«      fg«      d>fg«      dA„ «       ZPejœ                  jŸ                  d7 e'«       d8f e  e'«       d9d:d;gi«      d8f e"d? e'«       fg«      d8f e"d@ e  e'«       d9d:d;gi«      fg«      d8f e&«       d>f e  e&«       d9d:d;gi«      d>f e"d< e&«       fg«      d>f e"d= e  e&«       d9d:d;gi«      fg«      d>fg«      dB„ «       ZQejœ                  jŸ                  d7 e«       d8f e  e«       dCdDdEgi«      d8f e"dF e«       fg«      d8f e"dG e  e«       dCdDdEgi«      fg«      d8f e&«       d>f e  e&«       d9d:d;gi«      d>f e"d< e&«       fg«      d>f e"d= e  e&«       d9d:d;gi«      fg«      d>fg«      dH„ «       ZRdI„ ZSdJ„ ZTdK„ ZUejœ                  jŸ                  dL e)dMd ¬N«       ej¬                  d ¬O«      f e*dMd ¬N«       ej®                  d ¬O«      fg«      dP„ «       ZXdQ„ ZYdR„ ZZdS„ Z[ G dT„ dUe)«      Z\dVZ]dW„ Z^ G dX„ dYe)«      Z_dZ„ Z`d[„ Za G d\„ d]«      Zb G d^„ d_ebe«      Zcd`„ Zdda„ Ze G db„ dce«      Zfdd„ Zgde„ Zhdf„ Zidg„ Zjdh„ Zkdi„ Zldj„ Zmdk„ Zndl„ Zodm„ Zp G dn„ do«      Zq G dp„ dqeqe«      Zrejœ                  jŸ                  dr e«        er«       g«      ds„ «       Zsdt„ Ztejœ                  jŸ                  dug dv¢«      dw„ «       Zu ed8¬x«      dy„ «       Zv ed8¬x«      dz„ «       Zwy){é    N)Úassert_allclose)Úconfig_contextÚdatasets)ÚBaseEstimatorÚOutlierMixinÚTransformerMixinÚcloneÚis_classifierÚis_clustererÚis_outlier_detectorÚis_regressor)ÚKMeans)ÚPCA)ÚIsolationForest)ÚInconsistentVersionWarning)ÚGridSearchCV)ÚPipeline)ÚStandardScaler)ÚSVCÚSVR)ÚDecisionTreeClassifierÚDecisionTreeRegressor)ÚMockDataFrame)Ú_get_output_config)Ú_convert_containerÚassert_array_equal)Ú_check_n_featuresÚvalidate_datac                   ó   — e Zd Zdd„Zy)ÚMyEstimatorNc                 ó    — || _         || _        y ©N)Úl1Úempty)Úselfr#   r$   s      úU/var/www/skyplay_api_hub/venv/lib/python3.12/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y)ÚKNc                 ó    — || _         || _        y r"   )ÚcÚd)r%   r1   r2   s      r&   r'   z
K.__init__4   ó   € ØˆŒØˆ�r(   ©NNr)   r-   r(   r&   r/   r/   3   ó   „ ôr(   r/   c                   ó   — e Zd Zdd„Zy)ÚTNc                 ó    — || _         || _        y r"   )ÚaÚb)r%   r9   r:   s      r&   r'   z
T.__init__:   r3   r(   r4   r)   r-   r(   r&   r7   r7   9   r5   r(   r7   c                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚNaNTagc                 óF   •— t         ‰| �  «       }d|j                  _        |S )NT©ÚsuperÚ__sklearn_tags__Ú
input_tagsÚ	allow_nan©r%   ÚtagsÚ	__class__s     €r&   r@   zNaNTag.__sklearn_tags__@   s!   ø€ Ü‰wÑ'Ó)ˆØ$(ˆ�‰Ô!Øˆr(   ©r*   r+   r,   r@   Ú__classcell__©rE   s   @r&   r<   r<   ?   ó   ø„ ÷ð r(   r<   c                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚNoNaNTagc                 óF   •— t         ‰| �  «       }d|j                  _        |S ©NFr>   rC   s     €r&   r@   zNoNaNTag.__sklearn_tags__G   ó!   ø€ Ü‰wÑ'Ó)ˆØ$)ˆ�‰Ô!Øˆr(   rF   rH   s   @r&   rK   rK   F   rI   r(   rK   c                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚOverrideTagc                 óF   •— t         ‰| �  «       }d|j                  _        |S rM   r>   rC   s     €r&   r@   zOverrideTag.__sklearn_tags__N   rN   r(   rF   rH   s   @r&   rP   rP   M   rI   r(   rP   c                   ó   — e Zd Zy)ÚDiamondOverwriteTagN©r*   r+   r,   r-   r(   r&   rS   rS   T   ó   „ Ør(   rS   c                   ó   — e Zd Zy)ÚInheritDiamondOverwriteTagNrT   r-   r(   r&   rW   rW   X   rU   r(   rW   c                   ó<   — e Zd ZdZ ej
                  dg«      fd„Zy)ÚModifyInitParamsz_Deprecated behavior.
    Equal parameters but with a type cast.
    Doesn't fulfill a is a
    r   c                 ó.   — |j                  «       | _        y r"   )Úcopyr9   ©r%   r9   s     r&   r'   zModifyInitParams.__init__b   s   € Ø—‘“ˆ�r(   N)r*   r+   r,   Ú__doc__ÚnpÚarrayr'   r-   r(   r&   rY   rY   \   s   „ ñð
 "˜Ÿ™ 1 #›ô r(   rY   c                   ó   — e Zd ZdZdd„Zy)ÚBuggyz9A buggy estimator that does not set its parameters right.Nc                 ó   — d| _         y ©Né   ©r9   r\   s     r&   r'   zBuggy.__init__i   s	   € Øˆ�r(   r"   ©r*   r+   r,   r]   r'   r-   r(   r&   ra   ra   f   s
   „ Ù?ôr(   ra   c                   ó"   — e Zd Zd„ Zdd„Zdd„Zy)ÚNoEstimatorc                  ó   — y r"   r-   ©r%   s    r&   r'   zNoEstimator.__init__n   ó   € Ør(   Nc                 ó   — | S r"   r-   ©r%   ÚXÚys      r&   ÚfitzNoEstimator.fitq   s   € Øˆr(   c                  ó   — y r"   r-   ©r%   rn   s     r&   ÚpredictzNoEstimator.predictt   s   € Ør(   r4   r"   )r*   r+   r,   r'   rp   rs   r-   r(   r&   rh   rh   m   s   „ òóôr(   rh   c                   ó   — e Zd ZdZd„ Zy)ÚVargEstimatorz-scikit-learn estimators shouldn't have vargs.c                  ó   — y r"   r-   )r%   Úvargss     r&   r'   zVargEstimator.__init__{   rk   r(   Nrf   r-   r(   r&   ru   ru   x   s
   „ Ù7ór(   ru   c                  óì   — ddl m} m}  | |d¬«      }t        |«      }||usJ ‚|j	                  «       |j	                  «       k(  sJ ‚ | |t        j                  d«      ¬«      }t        |«      }||usJ ‚y )Nr   ©Ú	SelectFprÚ	f_classifçš™™™™™¹?©Úalpha)é
   é   )Úsklearn.feature_selectionrz   r{   r	   Ú
get_paramsr^   Úzeros©rz   r{   ÚselectorÚnew_selectors       r&   Ú
test_cloner‡   ƒ   sv   € ÷ ?á˜¨#Ô.€HÜ˜“?€LØ˜<Ñ'Ð'Ð'Ø×ÑÓ  L×$;Ñ$;Ó$=Ò=Ð=Ð=á˜¬"¯(©(°7Ó*;Ô<€HÜ˜“?€LØ˜<Ñ'Ð'Ñ'r(   c                  óh   — ddl m} m}  | |d¬«      }d|_        t	        |«      }t        |d«      rJ ‚y )Nr   ry   r|   r}   ÚtestÚown_attribute)r�   rz   r{   rŠ   r	   Úhasattrr„   s       r&   Útest_clone_2rŒ   •   s7   € ÷ ?á˜¨#Ô.€HØ#€HÔÜ˜“?€LÜ�| _Ô5Ð5Ð5Ð5r(   c                  ó*  — t        «       } d| _        t        j                  t        «      5  t        | «       d d d «       t        «       }t        j                  t        «      5  t        |«       d d d «       t        «       }t        j                  t        «      5  t        |«       d d d «       t        «       }t        j                  t        «      5  t        |«       d d d «       y # 1 sw Y   Œ¯xY w# 1 sw Y   Œ„xY w# 1 sw Y   ŒYxY w# 1 sw Y   y xY w)Nr€   )
ra   r9   ÚpytestÚraisesÚRuntimeErrorr	   rh   Ú	TypeErrorru   rY   )Ú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%Á"C1ÂC=ÃD	Ã%C.Ã1C:Ã=DÄ	Dc                  ó~  — t        t        j                  g «      ¬«      } t        | «      }t	        | j
                  |j
                  «       t        t        j                  t        j                  dgg«      «      ¬«      } t        | «      }t	        | j
                  j                  |j
                  j                  «       y )N©r$   r   )	r    r^   r_   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                  ó‚   — t        t        j                  ¬«      } t        | «      }| j                  |j                  u sJ ‚y ©Nr˜   )r    r^   Únanr	   r$   rœ   s     r&   Útest_clone_nanr£   Â   s/   € ä
œBŸF™FÔ
#€CÜ�‹:€Dà�9‰9˜Ÿ
™
Ñ"Ð"Ñ"r(   c                  óJ   — dt        «       i} t        | «      }| d   |d   usJ ‚y )Nr9   )r    r	   )ÚorigÚcloneds     r&   Útest_clone_dictr§   Ê   s-   € à”“Ð€DÜ�4‹[€FØ�‰9˜F 3™KÑ'Ð'Ñ'r(   c            	      óð  — t        t        «      D � cg c]6  } | j                  d«      r#t        t	        t        | «      x}«      t        u r|‘Œ8 }} |D ]ž  } |t        j                  d«      «      }t        |¬«      }t        |«      }|j                  j                  |j                  j                  u sJ ‚t        |j                  j                  «       |j                  j                  «       «       Œ  y c c} w )NÚ_matrixé   r˜   )Údirr™   ÚendswithÚtypeÚgetattrr^   Úeyer    r	   r$   rE   r   Útoarray)ÚnameÚclsÚsparse_matrix_classesÚsparse_matrixr�   Ú
clf_cloneds         r&   Útest_clone_sparse_matricesr¶   Ñ   sÐ   € ô œ“GöàØ�=‰=˜Ô#¬´G¼BÀÓ4EÐ-E¨SÓ(FÌ$Ñ(Nò 	ðÐð ð %ò LˆÙœBŸF™F 1›I›ˆÜ Ô.ˆÜ˜3“Zˆ
Ø�y‰y×"Ñ" j×&6Ñ&6×&@Ñ&@Ñ@Ð@Ð@Ü˜3Ÿ9™9×,Ñ,Ó.°
×0@Ñ0@×0HÑ0HÓ0JÕKñLùòs   ’;C3c                  ón   — t        t         ¬«      } t        | «      }| j                  |j                  u sJ ‚y r¡   )r    r	   r$   rœ   s     r&   Útest_clone_estimator_typesr¸   à   s-   € ô œKÔ
(€CÜ�‹:€Dà�9‰9˜Ÿ
™
Ñ"Ð"Ñ"r(   c                  ó†   — d} t        j                  t        | ¬«      5  t        t        «       d d d «       y # 1 sw Y   y xY w)Nz8You should provide an instance of scikit-learn estimator©Úmatch)rŽ   r�   r‘   r	   r    )Úmsgs    r&   Ú%test_clone_class_rather_than_instancer½   é   s5   € ð E€CÜ	�‰”y¨Ô	,ñ ÜŒkÔ÷÷ ñ ús	   ž7·A c                  óØ   — t        «       } t        | «       t        t        «       t        «       «      }t        |«      dk(  sJ ‚t        dgdz  ¬«      }t	        t        |«      «      dk(  sJ ‚y )NzT(a=K(), b=K())Úlong_paramsiè  re   iå  )r    Úreprr7   r/   Úlen)Úmy_estimatorr‰   Úsome_ests      r&   Ú	test_reprrÄ   ñ   s[   € ä“=€LÜˆÔÜŒQ‹S”!“#‹;€DÜ�‹:Ð*Ò*Ð*Ð*ä�M�? TÑ)Ô*€HÜŒt�H‹~Ó #Ò%Ð%Ñ%r(   c                  ó.   — t        «       } t        | «       y r"   )r    Ústr)rÂ   s    r&   Útest_strrÇ   ü   s   € ä“=€LÜˆÕr(   c                  óf  — t        t        «       t        «      } d| j                  d¬«      v sJ ‚d| j                  d¬«      vsJ ‚| j                  d¬«       | j                  j
                  dk(  sJ ‚t        j                  t        «      5  | j                  d¬«       d d d «       y # 1 sw Y   y xY w)NÚa__dT)ÚdeepFr€   )rÉ   )Úa__a)	r7   r/   r‚   Ú
set_paramsr9   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'Â'B0c                  ó  — t        j                  t        d¬«      5  t        t        «      sJ ‚	 d d d «       t        j                  t        d¬«      5  t        t        «      sJ ‚	 d d d «       t        j                  t        d¬«      5  t        t        «      sJ ‚	 d d d «       t        j                  t        d¬«      5  t        t        «      sJ ‚	 d d d «       y # 1 sw Y   Œ¬xY w# 1 sw Y   Œ‚xY w# 1 sw Y   ŒXxY w# 1 sw Y   y xY w)Nz!passing a class to.*is deprecatedrº   )rŽ   ÚwarnsÚFutureWarningr
   r   r   r   r   r   r   r   r-   r(   r&   Útest_is_estimator_type_classrÒ     sÕ   € Ü	�‰”mÐ+NÔ	Oñ "ÜœSÔ!Ð!Ñ!÷"ô 
�‰”mÐ+NÔ	Oñ !ÜœCÔ Ð Ñ ÷!ô 
�‰”mÐ+NÔ	Oñ $ÜœFÔ#Ð#Ñ#÷$ô 
�‰”mÐ+NÔ	Oñ 4Ü"¤?Ô3Ð3Ñ3÷4ð 4÷"ð "ú÷!ð !ú÷$ð $ú÷4ð 4ús/   œCÁC&ÂC2Â>C>ÃC#Ã&C/Ã2C;Ã>Dzestimator, expected_resultTÚCr|   rd   ÚsvcÚsvc_cvFÚsvrÚsvr_cvc                 ó$   — t        | «      |k(  sJ ‚y r"   )r
   ©Ú	estimatorÚexpected_results     r&   Útest_is_classifierrÜ     s   € ô ˜Ó# Ò6Ð6Ñ6r(   c                 ó$   — t        | «      |k(  sJ ‚y r"   )r   rÙ   s     r&   Útest_is_regressorrÞ   /  ó   € ô ˜	Ó" oÒ5Ð5Ñ5r(   Ú
n_clustersé   é   ÚkmÚkm_cvc                 ó$   — t        | «      |k(  sJ ‚y r"   )r   rÙ   s     r&   Útest_is_clustererræ   @  rß   r(   c                  ó0  — t        dt        «       fg«      } t        j                  t        «      5  | j                  d¬«       d d d «       t        j                  t        «      5  | j                  d¬«       d d d «       y # 1 sw Y   Œ>xY w# 1 sw Y   y xY w)NrÔ   T)Úsvc__stupid_param)Úsvm__stupid_param)r   r   rŽ   r�   rÍ   rÌ   )r�   s    r&   Útest_set_paramsrê   Q  s|   € ä
�UœC›E�NÐ#Ó
$€Cô 
�‰”zÓ	"ñ /Ø�‰¨ˆÔ.÷/ô 
�‰”zÓ	"ñ /Ø�‰¨ˆÔ.÷/ð /÷	/ð /ú÷/ð /ús   °B Á$BÂ B	ÂBc                  óª   ‡—  G ˆfd„dt         «      } dddœŠt        d | «       fg«      t         | «       i «      fD ]  }|j                  dd¬«       Œ y )Nc                   ó"   •‡ — e Zd Zˆ ˆfd„Zˆ xZS )ú?test_set_params_passes_all_parameters.<locals>.TestDecisionTreec                 ó4   •— t        ‰| �  di |¤Ž |‰k(  sJ ‚| S )Nr-   )r?   rÌ   )r%   ÚkwargsrE   Úexpected_kwargss     €€r&   rÌ   zJtest_set_params_passes_all_parameters.<locals>.TestDecisionTree.set_paramsh  s&   ø€ Ü‰GÑÑ( Ò(à˜_Ò,Ð,Ð,ØˆKr(   )r*   r+   r,   rÌ   rG   )rE   rð   s   @€r&   ÚTestDecisionTreerí   g  s   ù„ ÷	ñ 	r(   rñ   rª   r€   )Ú	max_depthÚmin_samples_leafrÚ   )Úestimator__max_depthÚestimator__min_samples_leaf)r   r   r   rÌ   )rñ   r•   rð   s     @r&   Ú%test_set_params_passes_all_parametersrö   c  sc   ø€ öÔ1ô ð %&¸1Ñ=€Oä�;Ñ 0Ó 2Ð3Ð4Ó5ÜÑ%Ó'¨Ó,ðò Nˆð 	�‰¨AÈ1ˆÕMñ	Nr(   c                  ó˜   — t        t        «       i «      } | j                  t        «       d¬«       | j                  j
                  dk(  sJ ‚y )Ng      E@)rÚ   Úestimator__C)r   r   rÌ   r   rÚ   rÓ   )Úgscvs    r&   Ú$test_set_params_updates_valid_paramsrú   v  s>   € ô Ô.Ó0°"Ó5€DØ‡O�Oœc›e°$€OÔ7Ø�>‰>×Ñ˜tÒ#Ð#Ñ#r(   ztree,datasetr€   )rò   Úrandom_state)rû   c                 ó  — t         j                  j                  d«      }|\  }}| j                  ||«       |j	                  ddt        |«      ¬«      }| j                  ||«      }| j                  |||¬«      }d}||k7  sJ |«       ‚y )Nr   rd   r   )Úsize)Úsample_weightz5Unweighted and weighted scores are unexpectedly equal)r^   ÚrandomÚRandomStaterp   ÚrandintrÁ   Úscore)	ÚtreeÚdatasetÚrngrn   ro   rþ   Úscore_unweightedÚscore_weightedr¼   s	            r&   Útest_score_sample_weightr  ~  sƒ   € ô �)‰)×
Ñ
 Ó
"€Cà�D€A€qà‡H�HˆQ�„Nà—K‘K  2¬C°«F�KÓ3€MØ—z‘z ! QÓ'ÐØ—Z‘Z  1°M�ZÓB€NØ
A€CØ˜~Ò-Ð2¨sÓ2Ñ-r(   c                  ó2  —  G d„ dt         t        «      } t        j                  d«      }t	        |«      } | |d¬«      }t        |«      }|j                  |j                  k(  j                  j                  «       sJ ‚|j                  |j                  k(  sJ ‚y )Nc                   ó&   — e Zd ZdZdd„Zdd„Zd„ Zy)ú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
        -----
        Nc                 ó    — || _         || _        y r"   )ÚdfÚscalar_param)r%   r  r  s      r&   r'   z<test_clone_pandas_dataframe.<locals>.DummyEstimator.__init__ª  s   € ØˆDŒGØ ,ˆDÕr(   c                  ó   — y r"   r-   rm   s      r&   rp   z7test_clone_pandas_dataframe.<locals>.DummyEstimator.fit®  ó   € Ør(   c                  ó   — y r"   r-   rr   s     r&   Ú	transformz=test_clone_pandas_dataframe.<locals>.DummyEstimator.transform±  r  r(   rc   r"   )r*   r+   r,   r]   r'   rp   r  r-   r(   r&   ÚDummyEstimatorr  š  s   „ ñ	ó	-ó	ó	r(   r  r   rd   )r  )
r   r   r^   Úaranger   r	   r  ÚvaluesÚallr  )r  r2   r  ÚeÚcloned_es        r&   Útest_clone_pandas_dataframer  ™  s~   € ôÔ)¬=ô ô6 	�	‰	�"‹€AÜ	�qÓ	€BÙ�r¨Ô*€AÜ�Q‹x€Hð �D‰D�H—K‘KÑ×'Ñ'×+Ñ+Ô-Ð-Ð-Ø�>‰>˜X×2Ñ2Ò2Ð2Ñ2r(   c                  óZ  —  G d„ dt         «      } t        j                  ddgddgddgg«      }t        «       j	                  |«      }|j
                  } | |«      }t        |j
                  |«       t        |j                  «       |j                  «       «       t        j                  ddgddgd	dgg«      }|j	                  |«       t        |j
                  |«       |j                  |«       t        |j
                  |«       t        |«      }||u sJ ‚t        |j
                  |«       y
)z:Checks that clone works with `__sklearn_clone__` protocol.c                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ú,test_clone_protocol.<locals>.FrozenEstimatorc                 ó   — || _         y r"   )Úfitted_estimator)r%   r  s     r&   r'   z5test_clone_protocol.<locals>.FrozenEstimator.__init__Ã  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Ñ0°$Ó7Ð7r(   c                 ó   — | S r"   r-   rj   s    r&   Ú__sklearn_clone__z>test_clone_protocol.<locals>.FrozenEstimator.__sklearn_clone__É  ó   € ØˆKr(   c                 ó   — | S r"   r-   ©r%   Úargsrï   s      r&   rp   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Ñ2°DÐC¸FÑCÐCr(   N)r*   r+   r,   r'   r   r"  rp   r(  r-   r(   r&   ÚFrozenEstimatorr  Â  s   „ ò	5ò	8ò	ò	ó	Dr(   r)  éÿÿÿÿéþÿÿÿéýÿÿÿr€   rá   é   rd   N)r   r^   r_   r   rp   Úcomponents_r   r   Úget_feature_names_outÚasarrayr(  r	   )r)  rn   ÚpcaÚ
componentsÚ
frozen_pcaÚX_newÚclone_frozen_pcas          r&   Útest_clone_protocolr6  ¿  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Ó(ÐØ˜zÑ)Ð)Ð)ÜÐ$×0Ñ0°*Õ=r(   c                  ó
  — t        j                  «       } t        «       j                  | j                  | j
                  «      }t        j                  |«      }d|v sJ ‚t        j                  «       5  t        j                  d«       t        j                  |«      }d d d «       |j                  | j                  | j
                  «      }j                  | j                  | j
                  «      }||k(  sJ ‚y # 1 sw Y   Œ]xY w)Nó   _sklearn_versionÚerror)r   Ú	load_irisr   rp   r›   ÚtargetÚpickleÚdumpsÚwarningsÚcatch_warningsÚsimplefilterÚloadsr  )Úirisr  Útree_pickleÚtree_restoredÚscore_of_originalÚscore_of_restoreds         r&   Ú?test_pickle_version_warning_is_not_raised_with_matching_versionrG  ë  sË   € Ü×ÑÓ€DÜ!Ó#×'Ñ'¨¯	©	°4·;±;Ó?€DÜ—,‘,˜tÓ$€KØ +Ñ-Ð-Ð-ä	×	 Ñ	 Ó	"ñ 2Ü×Ñ˜gÔ&ÜŸ™ [Ó1ˆ÷2ð
 Ÿ
™
 4§9¡9¨d¯k©kÓ:ÐØ%×+Ñ+¨D¯I©I°t·{±{ÓCÐØÐ 1Ò1Ð1Ñ1÷2ð 2ús   Á2+C9Ã9Dc                   ó   — e Zd Zd„ Zy)ÚTreeBadVersionc                 óL   — t        | j                  j                  «       d¬«      S )NÚ	something)Ú_sklearn_version)ÚdictÚ__dict__Úitemsrj   s    r&   Ú__getstate__zTreeBadVersion.__getstate__ü  s   € Ü�D—M‘M×'Ñ'Ó)¸KÔHÐHr(   N©r*   r+   r,   rP  r-   r(   r&   rI  rI  û  s   „ óIr(   rI  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                  | j
                  «      }t        j                  |«      }t        j                  ddt        j                  ¬«      }t        j                  t        |¬«      5 }t        j                  |«       d d d «       j                   d   j"                  }t%        |t&        «      sJ ‚|j(                  dk(  sJ ‚|j*                  dk(  sJ ‚|j,                  t        j                  k(  sJ ‚y # 1 sw Y   ŒvxY w)NrI  rK  ©rÚ   Úold_versionÚcurrent_versionrº   r   )r   r:  rI  rp   r›   r;  r<  r=  Úpickle_error_messageÚformatÚsklearnÚ__version__rŽ   rÐ   ÚUserWarningrA  ÚlistÚmessageÚ
isinstancer   Úestimator_nameÚoriginal_sklearn_versionÚcurrent_sklearn_version)rB  r  Útree_pickle_otherr\  Úwarning_records        r&   Ú<test_pickle_version_warning_is_issued_upon_different_versionrc  	  s   € Ü×ÑÓ€DÜÓ×Ñ §	¡	¨4¯;©;Ó7€DÜŸ™ TÓ*ÐÜ"×)Ñ)Ø"ØÜ×+Ñ+ð *ó €Gô
 
�‰”k¨Ô	1ð (°^Ü�‰Ð&Ô'÷(ð ×!Ñ! !Ñ$×,Ñ,€GÜ�gÔ9Ô:Ð:Ð:Ø×!Ñ!Ð%5Ò5Ð5Ð5Ø×+Ñ+¨{Ò:Ð:Ð:Ø×*Ñ*¬g×.AÑ.AÒAÐAÑA÷(ð (ús   ÂD$Ä$D-c                   ó   — e Zd Zd„ Zy)ÚTreeNoVersionc                 ó   — | j                   S r"   )rN  rj   s    r&   rP  zTreeNoVersion.__getstate__  s   € Ø�}‰}Ðr(   NrQ  r-   r(   r&   re  re    s   „ ór(   re  c                  ó”  — t        j                  «       } t        «       j                  | j                  | j
                  «      }t        j                  |«      }d|vsJ ‚t        j                  ddt        j                  ¬«      }t        j                  t        |¬«      5  t        j                  |«       d d d «       y # 1 sw Y   y xY w)Nr8  re  zpre-0.18rS  rº   )r   r:  re  rp   r›   r;  r<  r=  rV  rW  rX  rY  rŽ   rÐ   rZ  rA  )rB  r  Útree_pickle_noversionr\  s       r&   ÚDtest_pickle_version_warning_is_issued_when_no_version_info_in_pickleri  !  s    € Ü×ÑÓ€Dä‹?×Ñ˜tŸy™y¨$¯+©+Ó6€Dä"ŸL™L¨Ó.ÐØÐ&;Ñ;Ð;Ð;Ü"×)Ñ)Ø!ØÜ×+Ñ+ð *ó €Gô 
�‰”k¨Ô	1ñ ,Ü�‰Ð*Ô+÷,÷ ,ñ ,ús   ÂB>Â>Cc                  óÆ  — t        j                  «       } t        «       j                  | j                  | j
                  «      }t        j                  |«      }	 t        j                  }dt        _        t        j                  «       5  t        j                  d«       t        j                  |«       d d d «       |t        _        y # 1 sw Y   ŒxY w# t        _        w xY w)NÚ
notsklearnr9  )r   r:  re  rp   r›   r;  r<  r=  r+   r>  r?  r@  rA  )rB  r  rh  Úmodule_backups       r&   ÚCtest_pickle_version_no_warning_is_issued_with_non_sklearn_estimatorrm  2  s¤   € Ü×ÑÓ€DÜ‹?×Ñ˜tŸy™y¨$¯+©+Ó6€DÜ"ŸL™L¨Ó.Ðð	1Ü%×0Ñ0ˆØ#/ŒÔ ä×$Ñ$Ó&ñ 	0Ü×!Ñ! 'Ô*ä�L‰LÐ.Ô/÷	0ð
 $1ŒÕ ÷	0ð 	0ûð
 $1ŒÕ ús$   Á/C Â+CÂ3C ÃCÃC ÃC c                   ó   — e Zd Zd„ Zd„ Zy)ÚDontPickleAttributeMixinc                 óD   — | j                   j                  «       }d |d<   |S ©NÚ_attribute_not_pickled)rN  r[   )r%   r›   s     r&   rP  z%DontPickleAttributeMixin.__getstate__C  s$   € Ø�}‰}×!Ñ!Ó#ˆØ)-ˆÐ%Ñ&Øˆr(   c                 óD   — d|d<   | j                   j                  |«       y )NTÚ	_restored)rN  Úupdate)r%   Ústates     r&   Ú__setstate__z%DontPickleAttributeMixin.__setstate__H  s   € Ø!ˆˆkÑØ�‰×Ñ˜UÕ#r(   N)r*   r+   r,   rP  rw  r-   r(   r&   ro  ro  B  s   „ òó
$r(   ro  c                   ó   — e Zd Zdd„Zy)ÚMultiInheritanceEstimatorc                 ó    — || _         d | _        y r"   ©Úattribute_pickledrr  ©r%   r|  s     r&   r'   z"MultiInheritanceEstimator.__init__N  ó   € Ø!2ˆÔØ&*ˆÕ#r(   N©rª   r)   r-   r(   r&   ry  ry  M  s   „ ô+r(   ry  c                  óÔ   — t        «       } d| _        t        j                  | «      }t        j                  |«      }|j
                  dk(  sJ ‚|j                  �J ‚|j                  sJ ‚y ©Nú$this attribute should not be pickledrª   )ry  rr  r<  r=  rA  r|  rt  ©rÚ   Ú
serializedÚestimator_restoreds      r&   Ú3test_pickling_when_getstate_is_overwritten_by_mixinr†  S  sd   € Ü)Ó+€IØ'M€IÔ$ä—‘˜iÓ(€JÜŸ™ jÓ1ÐØ×/Ñ/°1Ò4Ð4Ð4Ø×4Ñ4Ð<Ð<Ð<Ø×'Ò'Ð'Ñ'r(   c                  ó`  — 	 t        «       } d}|| _        t        | «      j                  }dt        | «      _        | j	                  «       }|d ddœk(  sJ ‚d|d<   | j                  |«       | j                  dk(  sJ ‚| j                  sJ ‚	 |t        | «      _        y # t         «      _        w xY w)Nr‚  rk  rª   )rr  r|  r-  r|  )ry  rr  r­   r+   rP  rw  r|  rt  )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 ÂB-c                   ó&   ‡ — e Zd Zdd„Zˆ fd„Zˆ xZS )ÚSingleInheritanceEstimatorc                 ó    — || _         d | _        y r"   r{  r}  s     r&   r'   z#SingleInheritanceEstimator.__init__r  r~  r(   c                 ó.   •— t         ‰| �  «       }d |d<   |S rq  )r?   rP  )r%   rv  rE   s     €r&   rP  z'SingleInheritanceEstimator.__getstate__v  s    ø€ Ü‘Ñ$Ó&ˆØ*.ˆÐ&Ñ'Øˆr(   r  )r*   r+   r,   r'   rP  rG   rH   s   @r&   rŒ  rŒ  q  s   ø„ ó+÷ð r(   rŒ  c                  ó¸   — t        «       } d| _        t        j                  | «      }t        j                  |«      }|j
                  dk(  sJ ‚|j                  �J ‚y r�  )rŒ  rr  r<  r=  rA  r|  rƒ  s      r&   ÚCtest_pickling_works_when_getstate_is_overwritten_in_the_child_classr�  |  sU   € Ü*Ó,€IØ'M€IÔ$ä—‘˜iÓ(€JÜŸ™ jÓ1ÐØ×/Ñ/°1Ò4Ð4Ð4Ø×4Ñ4Ð<Ð<Ñ<r(   c                  óä  — t        «       } t        «       }| j                  «       j                  j                  sJ ‚|j                  «       j                  j                  rJ ‚t        «       }|j                  «       j                  j                  rJ ‚t        «       }|j                  «       j                  j                  sJ ‚t        «       }|j                  «       j                  j                  sJ ‚y r"   )r<   rK   r@   rA   rB   rP   rS   rW   )Ú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Ø×'Ñ'Ó)×4Ñ4×>Ò>Ð>Ð>Ø×.Ñ.Ó0×;Ñ;×EÒEÐEÐEä#›ÐØ ×1Ñ1Ó3×>Ñ>×HÒHÐHÐHä)Ó+€OØ×+Ñ+Ó-×8Ñ8×BÒBÐBÐBä8Ó:ÐØ"×3Ñ3Ó5×@Ñ@×JÒJÐJÑJr(   c                  ó´   —  G d„ dt         «      }  | «       }d}t        j                  t        |¬«      5  |j	                  «        d d d «       y # 1 sw Y   y xY w)Nc                   ó   — e Zd Zdd„Zdd„Zy)ú<test_raises_on_get_params_non_attribute.<locals>.MyEstimatorc                  ó   — y r"   r-   )r%   Úparams     r&   r'   zEtest_raises_on_get_params_non_attribute.<locals>.MyEstimator.__init__š  r  r(   Nc                 ó   — | S r"   r-   rm   s      r&   rp   z@test_raises_on_get_params_non_attribute.<locals>.MyEstimator.fit�  r#  r(   r  r"   )r*   r+   r,   r'   rp   r-   r(   r&   r    rš  ™  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Ÿ  ˜  sI   € ô”mô ñ ‹-€CØ
9€Cä	�‰”~¨SÔ	1ñ Ø�‰Ô÷÷ ñ ús   ´AÁAc                  óÌ   — t        «       } | j                  «       }d|v sJ ‚d|v sJ ‚t        d¬«      5  | j                  «       }d|v sJ ‚d|vsJ ‚	 d d d «       y # 1 sw Y   y xY w)Nz
text/plainz	text/htmlrˆ  ©Údisplay)r   Ú_repr_mimebundle_r   )r  Úoutputs     r&   Útest_repr_mimebundle_r¥  §  s{   € ä!Ó#€DØ×#Ñ#Ó%€FØ˜6Ñ!Ð!Ð!Ø˜&Ñ Ð Ð ä	 Ô	'ñ )Ø×'Ñ'Ó)ˆØ˜vÑ%Ð%Ð%Ø &Ñ(Ð(Ñ(÷)÷ )ñ )ús   ³AÁA#c                  ó
  — t        «       } | j                  «       }d|v sJ ‚t        d¬«      5  d}t        j                  t
        |¬«      5  | j                  «       }d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)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¨  ´  s~   € ä!Ó#€Dà×ÑÓ€FØ˜ÑÐÐä	 Ô	'ñ (Ø0ˆÜ�]‰]œ>°Ô5ñ 	(Ø×%Ñ%Ó'ˆF÷	(÷(ð (÷	(ð 	(ú÷(ð (ús#   ­A9ÁA-ÁA9Á-A6	Á2A9Á9Bc                  óæ   — t        «       } g d¢g d¢g}t        | |d¬«       | j                  dk(  sJ ‚d}t        j                  t
        |¬«      5  t        | dd	¬«       d
d
d
«       y
# 1 sw Y   y
xY w)z>Check that `_check_n_features` validates data when reset=False)rd   r€   rá   )r-  rª   é   T©Úresetrá   zHX does not contain any features, but MyEstimator is expecting 3 featuresrº   ú	invalid XFN)r    r   Ún_features_in_rŽ   r�   rÍ   )r•   ÚX_trainr¼   s      r&   Útest_n_features_in_validationr°  Á  sg   € ä
‹-€CÚš)Ð$€GÜ�c˜7¨$Õ/à×Ñ Ò"Ð"Ð"à
T€CÜ	�‰”z¨Ô	-ñ 9Ü˜#˜{°%Õ8÷9÷ 9ñ 9ús   ÁA'Á'A0c                  ól   — t        «       } t        | dd¬«       t        | d«      rJ ‚t        | dd¬«       y)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²  Î  s6   € ô ‹-€CÜ�c˜;¨dÕ3ä�sÐ,Ô-Ð-Ð-ô �c˜;¨eÖ4r(   c                  ó¦  — t        j                  d«      } t        j                  «       }|j                  }| j                  ||j                  ¬«      } G d„ dt        t        «      } |«       j                  |«      }t        |j                  |j                  «       |j                  |«       t        |d«      rJ ‚|j                  |«       d}| j                  ||j                  ddd…   ¬«      }t        j                  t        |¬	«      5  |j!                  |«       ddd«       d
}t        j"                  t$        |¬	«      5  |j!                  |«       ddd«       d} |«       j                  |«      }t        j"                  t$        |¬	«      5  |j!                  |«       ddd«       | j                  |«      } |«       }t'        j(                  «       5  t'        j*                  dt$        «       |j                  |«       ddd«       ||g}	|	D ]J  }
t'        j(                  «       5  t'        j*                  dt$        «       |j!                  |
«       ddd«       ŒL | j                  |g d¢¬«      } |«       }t-        j.                  d«      }t        j                  t0        |¬	«      5  |j                  |«       ddd«       t        j                  t0        |¬	«      5  |j!                  |«       ddd«       y# 1 sw Y   �ŒÝxY w# 1 sw Y   �Œ³xY w# 1 sw Y   �ŒsxY w# 1 sw Y   �Œ xY w# 1 sw Y   �Œ'xY w# 1 sw Y   Œ€xY w# 1 sw Y   yxY w)z;Check that feature_name_in are recorded by `_validate_data`Úpandas©Úcolumnsc                   ó   — e Zd Zdd„Zd„ Zy)ú.test_feature_names_in.<locals>.NoOpTransformerNc                 ó   — t        | |«       | S r"   ©r   rm   s      r&   rp   z2test_feature_names_in.<locals>.NoOpTransformer.fitâ  ó   € Ü˜$ Ô"ØˆKr(   c                 ó"   — t        | |d¬«       |S ©NFr«  rº  rr   s     r&   r  z8test_feature_names_in.<locals>.NoOpTransformer.transformæ  s   € Ü˜$ ¨Õ/ØˆHr(   r"   ©r*   r+   r,   rp   r  r-   r(   r&   ÚNoOpTransformerr¸  á  s   „ ó	ó	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 namesr9  )r9   r:   rd   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   r:  r›   Ú	DataFrameÚfeature_namesr   r   rp   r   rÀ  r¶  r‹   r�   rÍ   r  rÐ   rZ  r>  r?  r@  ÚreÚescaper‘   )ÚpdrB  ÚX_npr  r¿  Útransr¼   Údf_badÚdf_int_namesÚXsrn   Údf_mixeds               r&   Útest_feature_names_inrÍ  Ú  sÆ  € ä	×	Ñ	˜XÓ	&€BÜ×ÑÓ€DØ�9‰9€DØ	�‰�d D×$6Ñ$6ˆÓ	7€BôÔ*¬Mô ñ Ó×!Ñ! "Ó%€EÜ�u×.Ñ.°·
±
Ô;ð 
‡I�Iˆd„OÜ�uÐ1Ô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   ÄK:ÅLÆLÇ,L!È(,L.Ê*L;ËMË:LÌLÌLÌ!L+Ì.L8	Ì;MÍMc                  ó"  — t        j                  d«      } t        j                  «       }| j	                  |j
                  |j                  ¬«      }| j                  |j                  «      } G d„ dt        t        «      } |«       }t        ||d¬«      }t        |t        j                  «      sJ ‚t        ||j!                  «       «       t        ||d¬«      }||u sJ ‚t        ||d¬«      }t        |t        j                  «      sJ ‚t        ||j!                  «       «       t        ||d¬«      }	|	|u sJ ‚t        |||d¬«      \  }}t        |t        j                  «      sJ ‚t        ||j!                  «       «       t        |t        j                  «      sJ ‚t        ||j!                  «       «       t        |||d¬«      \  }}	||u sJ ‚|	|u sJ ‚d	}
t        j"                  t$        |
¬
«      5  t        |«       ddd«       y# 1 sw Y   yxY w)z0Check skip_check_array option of _validate_data.r´  rµ  c                   ó   — e Zd Zy)ú<test_validate_data_skip_check_array.<locals>.NoOpTransformerNrT   r-   r(   r&   r¿  rÐ  0  ó   „ Ør(   r¿  F)Úskip_check_arrayT)ro   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]  r^   Úndarrayr   Úto_numpyr�   rÍ   )rÆ  rB  r  ro   r¿  Úno_opÚX_np_outÚX_df_outÚy_np_outÚy_series_outr¼   s              r&   Ú#test_validate_data_skip_check_arrayrÛ  (  s¿  € ô 
×	Ñ	˜XÓ	&€BÜ×ÑÓ€DØ	�‰�d—i‘i¨×);Ñ);ˆÓ	<€BØ
�	‰	�$—+‘+Ó€AôÔ*¬Mô ñ Ó€EÜ˜U B¸Ô?€HÜ�h¤§
¡
Ô+Ð+Ð+Ü�H˜bŸk™k›mÔ,ä˜U B¸Ô>€HØ�r‰>Ðˆ>ä˜U a¸%Ô@€HÜ�h¤§
¡
Ô+Ð+Ð+Ü�H˜aŸj™j›lÔ+ä  ¨!¸dÔC€LØ˜1ÑÐÐä& u¨b°!ÀeÔLÑ€HˆhÜ�h¤§
¡
Ô+Ð+Ð+Ü�H˜bŸk™k›mÔ,Ü�h¤§
¡
Ô+Ð+Ð+Ü�H˜aŸj™j›lÔ+ä*¨5°"°aÈ$ÔOÑ€HˆlØ�r‰>Ðˆ>Ø˜1ÑÐÐà
6€CÜ	�‰”z¨Ô	-ñ Ü�eÔ÷÷ ñ ús   Ç0HÈHc                  óŒ   — t        «       j                  d¬«      } t        d| «      }t        | «      }t        d|«      }||k(  sJ ‚y)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â  Q  sI   € ô 
Ó	×	$Ñ	$¨xÐ	$Ó	8€BÜ ¨RÓ0€Fä�R‹y€HÜ% k°8Ó<€LØ�\Ò!Ð!Ñ!r(   c                   ó   — e Zd Zy)Ú_EmptyNrT   r-   r(   r&   rä  rä  \  rU   r(   rä  c                   ó   — e Zd Zy)ÚEmptyEstimatorNrT   r-   r(   r&   ræ  ræ  `  rU   r(   ræ  rÚ   c                 ó¶   — | j                  «       }dt        j                  i}||k(  sJ ‚t        j                  t        j
                  t        «       «      «       y)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.
    rL  N)rP  rX  rY  r<  rA  r=  r   )rÚ   rv  Úexpecteds      r&   Ú"test_estimator_empty_instance_dictré  d  sI   € ð ×"Ñ"Ó$€EØ"¤G×$7Ñ$7Ð8€HØ�HÒÐÐô ‡L�L”—‘œm›oÓ.Õ/r(   c                  óZ  —  G d„ d«      }  G d„ dt         | «      }d}t        j                  t        |¬«      5   |«       j	                  «        ddd«       t        j                  t        |¬«      5  t        j                   |«       «       ddd«       y# 1 sw Y   ŒHxY w# 1 sw Y   yxY w)z:Using a `BaseEstimator` with `__slots__` is not supported.c                   ó   — e Zd ZdZy)úDtest_estimator_getstate_using_slots_error_message.<locals>.WithSlots)ÚxN)r*   r+   r,   Ú	__slots__r-   r(   r&   Ú	WithSlotsrì  w  s   „ Ø‰	r(   rï  c                   ó   — e Zd Zy)úDtest_estimator_getstate_using_slots_error_message.<locals>.EstimatorNrT   r-   r(   r&   Ú	Estimatorrñ  z  rÑ  r(   rò  zRYou cannot use `__slots__` in objects inheriting from `sklearn.base.BaseEstimator`rº   N)r   rŽ   r�   r‘   rP  r<  r=  )rï  rò  r¼   s      r&   Ú1test_estimator_getstate_using_slots_error_messageró  t  s�   € ÷ñ ô”M 9ô ð	'ð ô
 
�‰”y¨Ô	,ñ #Ù‹× Ñ Ô"÷#ô 
�‰”y¨Ô	,ñ "Ü�‰‘Y“[Ô!÷"ð "÷#ð #ú÷"ð "ús   ¸BÁ1B!ÂBÂ!B*zconstructor_name, minversion))Ú	dataframez1.5.0)Úpyarrowz12.0.0)Úpolarsz0.20.23c                 ó¨  — g d¢g d¢g}g d¢}t        || ||¬«      } G d„ dt        t        «      } |«       }|j                  |«       t	        |j
                  |«       |j                  |«      }| dk7  rt        ||«       g d¢}t        || |¬	«      }	t        j                  t        d
¬«      5  |j                  |	«       ddd«       y# 1 sw Y   yxY w)z:Uses the dataframe exchange protocol to get feature names.)rd   r-  r€   )rá   rá   rª  )Úcol_0Úcol_1Úcol_2)Úcolumns_nameÚ
minversionc                   ó   — e Zd Zdd„Zd„ Zy)ú0test_dataframe_protocol.<locals>.NoOpTransformerNc                 ó   — t        | |«       | S r"   rº  rm   s      r&   rp   z4test_dataframe_protocol.<locals>.NoOpTransformer.fitš  r»  r(   c                 ó   — t        | |d¬«      S r½  rº  rr   s     r&   r  z:test_dataframe_protocol.<locals>.NoOpTransformer.transformž  s   € Ü   q°Ô6Ð6r(   r"   r¾  r-   r(   r&   r¿  rþ  ™  s   „ ó	ó	7r(   r¿  rõ  )r9   r:   r1   )rû  zThe feature names should matchrº   N)r   r   r   rp   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Ò$ô 	˜˜EÔ"â€IÜ Ð&6ÀYÔO€FÜ	�‰”zÐ)IÔ	Jñ  Ø�‰˜Ô÷ ÷  ñ  ús   Â-CÃC)Úenable_metadata_routingc                  ó°  —  G d„ dt         t        «      } t        j                  t        d¬«      5   | «       j                  d¬«      j                  dggdgd¬«       ddd«       t        j                  d¬	«      5 } | «       j                  d¬«      j                  dggdg«       t        |«      d
k(  sJ ‚	 ddd«       y# 1 sw Y   ŒdxY w# 1 sw Y   yxY w)zkTest that having a transformer with metadata for transform raises a
    warning when calling fit_transform.c                   ó   — e Zd Zdd„Zdd„Zy)úTtest_transformer_fit_transform_with_metadata_in_transform.<locals>.CustomTransformerNc                 ó   — | S r"   r-   ©r%   rn   ro   Úprops       r&   rp   zXtest_transformer_fit_transform_with_metadata_in_transform.<locals>.CustomTransformer.fit·  r#  r(   c                 ó   — |S r"   r-   ©r%   rn   r  s      r&   r  z^test_transformer_fit_transform_with_metadata_in_transform.<locals>.CustomTransformer.transformº  ó   € ØˆHr(   r4   r"   r¾  r-   r(   r&   ÚCustomTransformerr  ¶  ó   „ ó	ô	r(   r  z*`transform` method which consumes metadatarº   T©r  rd   N©Úrecordr   )
r   r   rŽ   rÐ   rZ  Úset_transform_requestr(  r>  r?  rÁ   )r  r  s     r&   Ú9test_transformer_fit_transform_with_metadata_in_transformr  ±  sÐ   € ô
œMÔ+;ô ô 
�‰”kÐ)UÔ	Vñ 
ÙÓ×1Ñ1°tÐ1Ó<×JÑJØˆSˆE�A�3˜Qð 	Kô 	
÷
ô 
×	 Ñ	 ¨Ô	-ð  °ÙÓ×1Ñ1°tÐ1Ó<×JÑJÈQÈCÈ5ÐSTÐRUÔVÜ�6‹{˜aÒÐÑ÷ ð  ÷
ð 
ú÷ ð  úó   °-C Á;;CÃ C	ÃCc                  ó°  —  G d„ dt         t        «      } t        j                  t        d¬«      5   | «       j                  d¬«      j                  dggdgd¬«       ddd«       t        j                  d¬	«      5 } | «       j                  d¬«      j                  dggdg«       t        |«      d
k(  sJ ‚	 ddd«       y# 1 sw Y   ŒdxY w# 1 sw Y   yxY w)ziTest that having an OutlierMixin with metadata for predict raises a
    warning when calling fit_predict.c                   ó   — e Zd Zdd„Zdd„Zy)úVtest_outlier_mixin_fit_predict_with_metadata_in_predict.<locals>.CustomOutlierDetectorNc                 ó   — | S r"   r-   r
  s       r&   rp   zZtest_outlier_mixin_fit_predict_with_metadata_in_predict.<locals>.CustomOutlierDetector.fitÑ  r#  r(   c                 ó   — |S r"   r-   r  s      r&   rs   z^test_outlier_mixin_fit_predict_with_metadata_in_predict.<locals>.CustomOutlierDetector.predictÔ  r  r(   r4   r"   )r*   r+   r,   rp   rs   r-   r(   r&   ÚCustomOutlierDetectorr  Ð  r  r(   r  z(`predict` method which consumes metadatarº   Tr  rd   Nr  r   )
r   r   rŽ   rÐ   rZ  Úset_predict_requestÚfit_predictr>  r?  rÁ   )r  r  s     r&   Ú7test_outlier_mixin_fit_predict_with_metadata_in_predictr  Ë  sÏ   € ô
¤¬|ô ô 
�‰”kÐ)SÔ	Tñ 
ÙÓ×3Ñ3¸Ð3Ó>×JÑJØˆSˆE�A�3˜Qð 	Kô 	
÷
ô 
×	 Ñ	 ¨Ô	-ð  °ÙÓ×3Ñ3¸Ð3Ó>×JÑJÈQÈCÈ5ÐSTÐRUÔVÜ�6‹{˜aÒÐÑ÷ ð  ÷
ð 
ú÷ ð  úr  )xr<  rÄ  r>  Únumpyr^   rŽ   Úscipy.sparseÚsparser™   Únumpy.testingr   rX  r   r   Úsklearn.baser   r   r   r	   r
   r   r   r   Úsklearn.clusterr   Úsklearn.decompositionr   Úsklearn.ensembler   Úsklearn.exceptionsr   Úsklearn.model_selectionr   Úsklearn.pipeliner   Úsklearn.preprocessingr   Úsklearn.svmr   r   Úsklearn.treer   r   Úsklearn.utils._mockingr   Úsklearn.utils._set_outputr   Úsklearn.utils._testingr   r   Úsklearn.utils.validationr   r   r    r/   r7   r<   rK   rP   rS   rW   rY   ra   rh   ru   r‡   rŒ   r–   rŸ   r£   r§   r¶   r¸   r½   rÄ   rÇ   rÎ   rÒ   ÚmarkÚparametrizerÜ   rÞ   ræ   rê   rö   rú   Úmake_classificationÚmake_regressionr  r  r6  rG  rI  rV  rc  re  ri  rm  ro  ry  r†  rŠ  rŒ  r�  r—  rŸ  r¥  r¨  r°  r²  rÍ  rÛ  râ  rä  ræ  ré  ró  r  r  r  r-   r(   r&   ú<module>r6     sÀ  ðó Û 	Û ã Û Ý Ý )ã ß ,÷	÷ 	ó 	õ #Ý %Ý ,Ý 9Ý 0Ý %Ý 0ß  ß FÝ 0Ý 8÷÷ Fô
�-ô ôˆô ôˆô ôˆ]ô ôˆ}ô ô�&ô ô	˜& (ô 	ô	Ð!4ô 	ô�}ô ôˆMô ÷ñ ô�Mô ò(ò$6òò(8ò#ò(òLò#òò&òò
 ò4ð ‡�×ÑØ á	‹�ˆÙ	‘c“e˜c C¨ 8˜_Ó	-¨tÐ4Ù	�E™3›5�>Ð"Ó	# TÐ*Ù	�H™l©3«5°3¸¸a¸°/ÓBÐCÐDÓ	EÀtÐLÙ	‹�ˆÙ	‘c“e˜c C¨ 8˜_Ó	-¨uÐ5Ù	�E™3›5�>Ð"Ó	# UÐ+Ù	�H™l©3«5°3¸¸a¸°/ÓBÐCÐDÓ	EÀuÐMð	óñ7óð7ð ‡�×ÑØ á	‹�ˆÙ	‘c“e˜c C¨ 8˜_Ó	-¨tÐ4Ù	�E™3›5�>Ð"Ó	# TÐ*Ù	�H™l©3«5°3¸¸a¸°/ÓBÐCÐDÓ	EÀtÐLÙ	‹�ˆÙ	‘c“e˜c C¨ 8˜_Ó	-¨uÐ5Ù	�E™3›5�>Ð"Ó	# UÐ+Ù	�H™l©3«5°3¸¸a¸°/ÓBÐCÐDÓ	EÀuÐMð	óñ6óð6ð ‡�×ÑØ á	‹�4ÐÙ	‘f“h °°1¨vÐ 6Ó	7¸Ð>Ù	�D™&›(Ð#Ð$Ó	% tÐ,Ù	�G™\©&«(°\ÀAÀqÀ6Ð4JÓKÐLÐMÓ	NÐPTÐUÙ	‹�ˆÙ	‘c“e˜c C¨ 8˜_Ó	-¨uÐ5Ù	�E™3›5�>Ð"Ó	# UÐ+Ù	�H™l©3«5°3¸¸a¸°/ÓBÐCÐDÓ	EÀuÐMð	óñ6óð6ò
/ò$Nò&$ð ‡�×ÑØñ #¨Q¸QÔ?Ø(ˆH×(Ñ(°aÔ8ð	
ñ
 "¨A¸AÔ>Ø$ˆH×$Ñ$°!Ô4ð	
ð	óñ3óð3ò#3òL)>òX2ô IÐ+ô Iðð òBô&Ð*ô ò
,ò"1÷ $ñ $ô+Ð 8¸-ô +ò(ò-ô& ô ò=òKò$ò
)ò
(ò
9ò	5òK"ò\&òR"÷	ñ 	ô	�V˜]ô 	ð ‡�×Ñ˜¡}£¹Ó8HÐ&IÓJñ0ó Kð0ò"ð* ‡�×ÑØ"òóñ óð ñ@ ¨Ô-ñ ó .ð ñ2 ¨Ô-ñ ó .ñ r(   