Ë
    D�DjÏ ã                   ó¢  — d Z 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Zddl	Z
ddl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mZ ddlmZ dd	lmZmZmZ dd
lmZm Z  ddl!m"Z" ddl#m$Z$m%Z% ddl&m'Z' ddl(m)Z)m*Z*m+Z+ ddl,m-Z-m.Z. ddl/m0Z0 ddl1m2Z2 ddl3m4Z4m5Z5m6Z6m7Z7 ddl8m9Z9m:Z: ddl;m<Z< ddl=m>Z>m?Z?m@Z@mAZA ddlBmCZCmDZD ddlEmFZFmGZGmHZHmIZImJZJmKZK ddlLmMZM ddlNmOZO  e«       ZPdZQ G d„ d«      ZR G d„ deR«      ZS G d„ d eS«      ZT G d!„ d"eT«      ZU G d#„ d$eU«      ZV G d%„ d&e«      ZW G d'„ d(e«      ZX G d)„ d*eU«      ZY G d+„ d,e«      ZZd-„ Z[d.„ Z\d/„ Z]d0„ Z^d1„ Z_d2„ Z`d3„ Zad4„ Zbd5„ Zcd6„ Zdd7„ Zed8„ Zfd9„ Zgd:„ ZhejÒ                  jÕ                  d;g d<¢«      d=„ «       ZkejÒ                  jÕ                  d>eM«      d?„ «       Zld@„ ZmdA„ ZndB„ ZodC„ ZpdD„ ZqejÒ                  jÕ                  dEg dF¢«      dG„ «       ZrdH„ ZsdI„ ZtdJ„ ZuejÒ                  jÕ                  dKddKg«      dL„ «       ZvejÒ                  jÕ                  dKddKg«      dM„ «       ZwdN„ ZxdO„ ZydP„ ZzdQ„ Z{dR„ Z|dS„ Z}dT„ Z~dU„ ZdV„ Z€dW„ Z�dX„ Z‚dY„ ZƒdZ„ Z„d[„ Z…d\„ Z†d]„ Z‡d^„ Zˆ G d_„ d`e«      Z‰da„ ZŠdb„ Z‹dc„ ZŒdd„ Z�de„  e�j                   e5df eU«       fdg eX«       fg«      dhf e5df eU«       fdidg eX«       fg«      djf e5df eU«       fdkdg eX«       fg«      djf e5df eU«       fdlg«      dhf e5dmdn eW«       fg«      dof e5dpdn eW«       fg«      dof e4dq eW«       fdr eW«       fg«      dsf e4dtdr eW«       fdug«      dvfgg dw¢«      D «       Z�ejÒ                  jÕ                  dxe�«      dy„ «       Z�dz„ Z‘d{„ Z’d|„ Z“d}„ Z”d~„ Z•d„ Z–ejÒ                  jÕ                  dKddKg«      d€„ «       Z—ejÒ                  jÕ                  d�eGeFg«      d‚„ «       Z˜dƒ„ Z™d„„ Zšd…„ Z›d†„ Zœd‡„ Z�dˆ„ ZžejÒ                  jÕ                  d‰d eŸddŠ«      g«      d‹„ «       Z dŒ„ Z¡d�„ Z¢ G dŽ„ d�e«      Z£ejÒ                  �jI                  d�«      ejÒ                  jÕ                  d‘ e¥ e¦eD«      d’d“hz
  «      «      d”„ «       «       Z§ejÒ                  �jI                  d�«      ejÒ                  jÕ                  d‘ e¥ e¦eD«      d’d“hz
  «      «      d•„ «       «       Z¨ejÒ                  jÕ                  d‘g d–¢«      d—„ «       Z©ejÒ                  �jI                  d�«      d˜„ «       ZªejÒ                  �jI                  d�«      ejÒ                  jÕ                  d™ddKg«      dš„ «       «       Z«ejÒ                  �jI                  d�«      d›„ «       Z¬ejÒ                  �jI                  d�«      dœ„ «       Z­ejÒ                  �jI                  d�«      ejÒ                  jÕ                  d�e?e>g«      dž„ «       «       Z®y)Ÿz
Test the pipeline module.
é    N)Úmkdtemp)ÚBaseEstimatorÚTransformerMixinÚcloneÚis_classifier)ÚKMeans)Ú	load_iris)ÚPCAÚTruncatedSVD)ÚDummyRegressor)ÚHistGradientBoostingClassifierÚRandomForestClassifierÚRandomTreesEmbedding)ÚNotFittedErrorÚUnsetMetadataPassedError)ÚCountVectorizer)ÚSelectKBestÚ	f_classif)ÚSimpleImputer)ÚLassoÚLinearRegressionÚLogisticRegression)Úaccuracy_scoreÚr2_score)Útrain_test_split)ÚLocalOutlierFactor)ÚFeatureUnionÚPipelineÚmake_pipelineÚ
make_union)ÚFunctionTransformerÚStandardScaler)ÚSVC)Ú"ConsumingNoFitTransformTransformerÚConsumingTransformerÚ	_RegistryÚcheck_recorded_metadata)ÚCOMPOSITE_METHODSÚMETHODS)ÚMinimalClassifierÚMinimalRegressorÚMinimalTransformerÚassert_allcloseÚassert_array_almost_equalÚassert_array_equal)ÚCSR_CONTAINERS)Úcheck_is_fitted)zthe pizza pizza beer copyrightzthe pizza burger beer copyrightz!the the pizza beer beer copyrightzthe burger beer beer copyrightzthe coke burger coke copyrightzthe coke burger burgerc                   ó   — e Zd ZdZdd„Zy)ÚNoFitz*Small class to test parameter dispatching.Nc                 ó    — || _         || _        y ©N©ÚaÚb)Úselfr7   r8   s      ú_C:\Crop_Prediction\Backend\crop-ai-system\venv\Lib\site-packages\sklearn/tests/test_pipeline.pyÚ__init__zNoFit.__init__F   s   € ØˆŒØˆ�ó    ©NN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r;   © r<   r:   r3   r3   C   s
   „ Ù4ôr<   r3   c                   ó    — e Zd Zd„ Zdd„Zd„ Zy)ÚNoTransc                 ó   — | S r5   rB   ©r9   ÚXÚys      r:   ÚfitzNoTrans.fitL   ó   € Øˆr<   c                 ó4   — | j                   | j                  dœS )Nr6   r6   )r9   Údeeps     r:   Ú
get_paramszNoTrans.get_paramsO   s   € Ø—V‘V $§&¡&Ñ)Ð)r<   c                 ó   — |d   | _         | S ©Nr7   ©r7   )r9   Úparamss     r:   Ú
set_paramszNoTrans.set_paramsR   s   € Ø˜‘ˆŒØˆr<   N©F)r>   r?   r@   rI   rM   rR   rB   r<   r:   rD   rD   K   s   „ òó*ór<   rD   c                   ó   — e Zd Zd„ Zy)ÚNoInvTransfc                 ó   — |S r5   rB   ©r9   rG   s     r:   Ú	transformzNoInvTransf.transformX   ó   € Øˆr<   N)r>   r?   r@   rX   rB   r<   r:   rU   rU   W   s   „ ór<   rU   c                   ó   — e Zd Zd„ Zd„ Zy)ÚTransfc                 ó   — |S r5   rB   rW   s     r:   rX   zTransf.transform]   rY   r<   c                 ó   — |S r5   rB   rW   s     r:   Úinverse_transformzTransf.inverse_transform`   rY   r<   N)r>   r?   r@   rX   r^   rB   r<   r:   r[   r[   \   s   „ òór<   r[   c                   ó   — e Zd Zd„ Zy)ÚTransfFitParamsc                 ó   — || _         | S r5   )Ú
fit_params©r9   rG   rH   rb   s       r:   rI   zTransfFitParams.fite   s   € Ø$ˆŒØˆr<   N©r>   r?   r@   rI   rB   r<   r:   r`   r`   d   s   „ ór<   r`   c                   ó@   — e Zd Zdd„Zd„ Zd„ Zd„ Zd„ ZexZxZ	Z
d	d„Zy)
ÚMultc                 ó   — || _         y r5   ©Úmult)r9   ri   s     r:   r;   zMult.__init__k   s	   € Øˆ�	r<   c                 ó   — | S r5   rB   rF   s      r:   rI   zMult.fitn   rJ   r<   c                 óF   — t        j                  |«      | j                  z  S r5   ©ÚnpÚasarrayri   rW   s     r:   rX   zMult.transformq   ó   € Ü�z‰z˜!‹}˜tŸy™yÑ(Ð(r<   c                 óF   — t        j                  |«      | j                  z  S r5   rl   rW   s     r:   r^   zMult.inverse_transformt   ro   r<   c                 óf   — t        j                  |«      | j                  z  j                  d¬«      S )Né   ©Úaxis)rm   rn   ri   ÚsumrW   s     r:   ÚpredictzMult.predictw   s'   € Ü—
‘
˜1“ §	¡	Ñ)×.Ñ.°AÐ.Ó6Ð6r<   Nc                 ó,   — t        j                  |«      S r5   ©rm   ru   rF   s      r:   Úscorez
Mult.score|   s   € Ü�v‰v�a‹yÐr<   )rr   r5   )r>   r?   r@   r;   rI   rX   r^   rv   Úpredict_probaÚpredict_log_probaÚdecision_functionry   rB   r<   r:   rf   rf   j   s4   „ óòò)ò)ò7ð =DÐC€MÐCÐ%Ð(9ôr<   rf   c                   ó4   — e Zd ZdZd„ Zdd„Zd„ Zdd„Zd	d„Zy)
Ú	FitParamTzMock classifierc                 ó   — d| _         y )NF©Ú
successful)r9   s    r:   r;   zFitParamT.__init__ƒ   s	   € Øˆ�r<   c                 ó   — || _         y r5   r€   ©r9   rG   rH   Úshould_succeeds       r:   rI   zFitParamT.fit†   s	   € Ø(ˆ�r<   c                 ó   — | j                   S r5   r€   rW   s     r:   rv   zFitParamT.predict‰   s   € Ø�‰Ðr<   c                 óL   — | j                  |||¬«       | j                  |«      S )N)r„   )rI   rv   rƒ   s       r:   Úfit_predictzFitParamT.fit_predictŒ   s"   € Ø�‰��A nˆÔ5Ø�|‰|˜A‹Ðr<   Nc                 ó:   — |�||z  }t        j                  |«      S r5   rx   )r9   rG   rH   Úsample_weights       r:   ry   zFitParamT.score�   s    € ØÐ$Ø�MÑ!ˆAÜ�v‰v�a‹yÐr<   rS   r=   )	r>   r?   r@   rA   r;   rI   rv   r‡   ry   rB   r<   r:   r~   r~   €   s   „ Ùò ó)òóôr<   r~   c                   ó   — e Zd ZdZd„ Zy)ÚDummyTransfz(Transformer which store the column meansc                 óp   — t        j                  |d¬«      | _        t        j                  «       | _        | S )Nr   rs   )rm   ÚmeanÚmeans_ÚtimeÚ
timestamp_rF   s      r:   rI   zDummyTransf.fit™   s(   € Ü—g‘g˜a aÔ(ˆŒô Ÿ)™)›+ˆŒØˆr<   N)r>   r?   r@   rA   rI   rB   r<   r:   r‹   r‹   –   s
   „ Ù2ór<   r‹   c                   ó.   — e Zd ZdZd„ Zdd„Zdd„Zdd„Zy)ÚDummyEstimatorParamsz,Mock classifier that takes params on predictc                 ó   — | S r5   rB   rF   s      r:   rI   zDummyEstimatorParams.fit¤   rJ   r<   c                 ó   — || _         | S r5   ©Úgot_attribute©r9   rG   r–   s      r:   rv   zDummyEstimatorParams.predict§   ó   € Ø*ˆÔØˆr<   c                 ó   — || _         | S r5   r•   r—   s      r:   rz   z"DummyEstimatorParams.predict_proba«   r˜   r<   c                 ó   — || _         | S r5   r•   r—   s      r:   r{   z&DummyEstimatorParams.predict_log_proba¯   r˜   r<   NrS   )r>   r?   r@   rA   rI   rv   rz   r{   rB   r<   r:   r’   r’   ¡   s   „ Ù6òóóôr<   r’   c                  ó²  — t        dg«      } t        j                  t        «      5  | j	                  dggdg«       d d d «       d}t        dt        «       fg«      } t        j                  t        |¬«      5  | j	                  dggdg«       d d d «       t        «       }t        d|fg«      }|j                  d¬«      t        dd d |d	œ|j                  d
¬«      ¤Žk(  sJ ‚|j                  d¬«       |j                  dk(  sJ ‚|j                  �J ‚t        |«       t        «       }t        t        «      }t        d|fd|fg«      }|j                   d   |u sJ ‚|j                   d   |u sJ ‚d}t        dt        «       fd|fg«      } t        j                  t        |¬«      5  | j	                  dggdg«       d d d «       |j                  d¬«       |j"                  dk(  sJ ‚t        |«       t%        j&                  d«      }t        j                  t(        |¬«      5  |j                  d¬«       d d d «       t+        |«      }|j                   d   |j                   d   usJ ‚|j                  d¬«      }|j                  d¬«      }|j                  d
¬«      D ]  }|j-                  |«       Œ |j                  d
¬«      D ]  }|j-                  |«       Œ |j-                  d«       |j-                  d«       |j-                  d«       |j-                  d«       ||k(  sJ ‚y # 1 sw Y   �ŒëxY w# 1 sw Y   �Œ§xY w# 1 sw Y   �ŒˆxY w# 1 sw Y   �ŒxY w)N)rr   rr   rr   zRLast step of Pipeline should implement fit or be the string 'passthrough'.*NoFit.*Úclf©ÚmatchÚsvcT©rL   )Úsvc__aÚsvc__brŸ   Fçš™™™™™¹?)r¡   Úanovaz<All intermediate steps should be transformers.*\bNoTrans\b.*Út)Úsvc__Cz]Invalid parameter 'C' for estimator SelectKBest(). Valid parameters are: ['k', 'score_func'].)Úanova__CrB   )r   ÚpytestÚraisesÚ	TypeErrorrI   r3   rD   rM   ÚdictrR   r7   r8   Úreprr#   r   r   Únamed_stepsÚCÚreÚescapeÚ
ValueErrorr   Úpop)	ÚpipelineÚmsgrœ   ÚpipeÚfilter1Úpipe2rQ   Úparams2Úxs	            r:   Ú test_pipeline_invalid_parametersrº   ´   s$  € ô ˜˜Ó!€HÜ	�‰”yÓ	!ñ !Ø�‰�q�c�U˜Q˜CÔ ÷!ð	ð ô
 ˜%¤£Ð)Ð*Ó+€HÜ	�‰”y¨Ô	,ñ !Ø�‰�q�c�U˜Q˜CÔ ÷!ô ‹)€CÜ�e˜S�\�NÓ#€DØ�?‰? ˆ?Ó%¬ð *Ø˜D cñ*Ø-1¯_©_À%¨_Ó-Hñ*ò ñ ð
 	‡O�O˜3€OÔØ�5‰5�CŠ<ÑØ�5‰5ˆ=Ñäˆ„Jô ‹%€CÜœ)Ó$€GÜ�g˜wÐ'¨%°¨Ð6Ó7€Dð ×Ñ˜GÑ$¨Ñ/Ñ/Ø×Ñ˜EÑ" cÑ)Ñ)ð K€CÜ˜#œw›yÐ)¨E°3¨<Ð8Ó9€HÜ	�‰”y¨Ô	,ñ !Ø�‰�q�c�U˜Q˜CÔ ÷!ð 	‡O�O˜3€OÔØ�5‰5�CŠ<Ñäˆ„Jô �)‰)ð	ó€Cô 
�‰”z¨Ô	-ñ &Ø�‰ ˆÔ%÷&ô �$‹K€EØ×Ñ˜EÑ"¨%×*;Ñ*;¸EÑ*BÑBÑBð �_‰_ $ˆ_Ó'€FØ×Ñ DÐÓ)€Gà�_‰_ %ˆ_Ó(ò ˆØ�
‰
�1�ðð ×Ñ 5ÐÓ)ò ˆØ�‰�A�ðð ‡J�JˆuÔØ
‡J�JˆwÔØ‡K�K�ÔØ‡K�K�ÔØ�WÒÑÐ÷[!ñ !ú÷!ñ !ú÷<!ñ !ú÷&ñ &ús/   ¦L%Á7L2Æ#L?ÈMÌ%L/Ì2L<Ì?M	ÍMc                  ó*  — t        j                  ddgg«      } t        dt        «       fdt	        «       ff«      }|j                  | d ¬«       |j                  | «       |j                  d¬«       |j                  | d ¬«       |j                  | «       y )Nrr   é   Útransfrœ   ©rH   Úpassthrough)r½   )rm   Úarrayr   r[   r~   rI   ry   rR   ©rG   rµ   s     r:   Útest_pipeline_init_tuplerÂ     sw   € ä
�‰�1�a�&�Ó€AÜ�h¤£Ð)¨E´9³;Ð+?Ð@ÓA€DØ‡H�HˆQ�$€HÔØ‡J�Jˆq„Mà‡O�O˜=€OÔ)Ø‡H�HˆQ�$€HÔØ‡J�Jˆq…Mr<   c                  óJ  — t         j                  } t         j                  }t        «       }t	        t
        d¬«      }t        d|fd|fg«      }|j                  | |«       |j                  | «       |j                  | «       |j                  | «       |j                  | |«       y )Nr¼   ©Úkr¤   Úlogistic)ÚirisÚdataÚtargetr   r   r   r   rI   rv   rz   r{   ry   )rG   rH   rœ   r¶   rµ   s        r:   Útest_pipeline_methods_anovarÊ     sƒ   € ä�	‰	€AÜ�‰€Aä
Ó
€CÜœ) qÔ)€GÜ�g˜wÐ'¨*°cÐ):Ð;Ó<€DØ‡H�HˆQ�„NØ‡L�L�„OØ×Ñ�qÔØ×Ñ˜1ÔØ‡J�Jˆq�!Õr<   c                  ó²  — t        dt        «       fdt        «       fg«      } | j                  d d d¬«       | j	                  d «      sJ ‚| j
                  d   j                  �J ‚| j
                  d   j                  �J ‚t        j                  d«      }t        j                  t        |¬«      5  | j                  d d d¬«       d d d «       y # 1 sw Y   y xY w)Nr½   rœ   T)rG   rH   Úclf__should_succeedz.fit() got an unexpected keyword argument 'bad'r�   )Úclf__bad)r   r[   r~   rI   rv   r­   r7   r8   r¯   r°   r¨   r©   rª   )rµ   r´   s     r:   Útest_pipeline_fit_paramsrÎ   #  sº   € ä�h¤£Ð)¨E´9³;Ð+?Ð@ÓA€DØ‡H�Hˆt�t°€HÔ6à�<‰<˜ÔÑà×Ñ˜HÑ%×'Ñ'Ð/Ñ/Ø×Ñ˜HÑ%×'Ñ'Ð/Ñ/ô �)‰)ÐDÓ
E€CÜ	�‰”y¨Ô	,ñ ,Ø�‰��t dˆÔ+÷,÷ ,ñ ,ús   Â/CÃCc                  ó„  — t        j                  ddgg«      } t        dt        «       fdt	        «       fg«      }|j                  | d ¬«       |j                  | «      dk(  sJ ‚|j                  | d ¬«      dk(  sJ ‚|j                  | d d ¬«      dk(  sJ ‚|j                  | t        j                  ddg«      ¬«      d	k(  sJ ‚y )
Nrr   r¼   r½   rœ   r¾   é   )rH   r‰   ©r‰   é   )rm   rÀ   r   r[   r~   rI   ry   rÁ   s     r:   Ú%test_pipeline_sample_weight_supportedrÓ   3  s°   € ä
�‰�1�a�&�Ó€AÜ�h¤£Ð)¨E´9³;Ð+?Ð@ÓA€DØ‡H�HˆQ�$€HÔØ�:‰:�a‹=˜AÒÑØ�:‰:�a˜4ˆ:Ó  AÒ%Ñ%Ø�:‰:�a˜4¨tˆ:Ó4¸Ò9Ñ9Ø�:‰:�a¤r§x¡x°°A°Ó'7ˆ:Ó8¸AÒ=Ñ=Ð=r<   c                  óÒ  — t        j                  ddgg«      } t        dt        «       fdt	        «       fg«      }|j                  | d ¬«       |j                  | «      dk(  sJ ‚|j                  | d ¬«      dk(  sJ ‚t        j                  d«      }t        j                  t        |¬	«      5  |j                  | t        j                  ddg«      ¬«       d d d «       y # 1 sw Y   y xY w)
Nrr   r¼   r½   rœ   r¾   rÐ   rÑ   z:score() got an unexpected keyword argument 'sample_weight'r�   )rm   rÀ   r   r[   rf   rI   ry   r¯   r°   r¨   r©   rª   )rG   rµ   r´   s      r:   Ú'test_pipeline_sample_weight_unsupportedrÕ   >  s¼   € ä
�‰�1�a�&�Ó€AÜ�h¤£Ð)¨E´4³6¨?Ð;Ó<€DØ‡H�HˆQ�$€HÔØ�:‰:�a‹=˜AÒÑØ�:‰:�a tˆ:Ó,°Ò1Ñ1ä
�)‰)ÐPÓ
Q€CÜ	�‰”y¨Ô	,ñ 6Ø�
‰
�1¤B§H¡H¨a°¨VÓ$4ˆ
Ô5÷6÷ 6ñ 6ús   Â+)CÃC&c                  ó  — t        dt        «       fg«      } t        j                  d«      }t	        j
                  t        |¬«      5  | j                  d¬«       d d d «       t	        j
                  t        |¬«      5  | j                  d¬«       d d d «       t        j                  d«      }t	        j
                  t        |¬«      5  | j                  d¬«       d d d «       y # 1 sw Y   Œ‹xY w# 1 sw Y   ŒaxY w# 1 sw Y   y xY w)	NÚclsz‹Invalid parameter 'fake' for estimator Pipeline(steps=[('cls', LinearRegression())]). Valid parameters are: ['memory', 'steps', 'verbose'].r�   Únope)Úfake)Úfake__estimatorzŒInvalid parameter 'invalid_param' for estimator LinearRegression(). Valid parameters are: ['copy_X', 'fit_intercept', 'n_jobs', 'positive'].)Úcls__invalid_param)r   r   r¯   r°   r¨   r©   r±   rR   )rµ   Ú	error_msgs     r:   Ú$test_pipeline_raise_set_params_errorrÝ   K  sâ   € ä�eÔ-Ó/Ð0Ð1Ó2€Dô —	‘	ð	Xó€Iô 
�‰”z¨Ô	3ñ %Ø�‰˜VˆÔ$÷%ô
 
�‰”z¨Ô	3ñ 0Ø�‰¨ˆÔ/÷0ô —	‘	ð	Nó€Iô 
�‰”z¨Ô	3ñ 3Ø�‰¨6ˆÔ2÷3ð 3÷%ð %ú÷
0ð 0ú÷3ð 3ús$   ÁC$Á=C0ÃC<Ã$C-Ã0C9Ã<Dc                  óJ  — t         j                  } t         j                  }t        dd¬«      }t	        ddd¬«      }t        d|fd|fg«      }|j                  | |«       |j                  | «       |j                  | «       |j                  | «       |j                  | |«       y )	NTr   ©ÚprobabilityÚrandom_stateÚfullÚmle©Ú
svd_solverÚn_componentsÚwhitenÚpcarŸ   )rÇ   rÈ   rÉ   r#   r
   r   rI   rv   rz   r{   ry   )rG   rH   rœ   rè   rµ   s        r:   Útest_pipeline_methods_pca_svmré   e  s‡   € ä�	‰	€AÜ�‰€Aä
˜$¨QÔ
/€CÜ
˜¨e¸DÔ
A€CÜ�e˜S�\ E¨3 <Ð0Ó1€DØ‡H�HˆQ�„NØ‡L�L�„OØ×Ñ�qÔØ×Ñ˜1ÔØ‡J�Jˆq�!Õr<   c                  óª  — t         j                  } t        ddd¬«      }t        d¬«      }t	        d|fd|fg«      }|j                  | «       |j                  | «      j                  | j                  d   fk(  sJ ‚|j                  |j                  | «      «       t        |j                  | «      |j                  |j                  | «      «      «       y )	Nrâ   rã   Trä   )Únoveltyrè   Úlofr   )rÇ   rÈ   r
   r   r   rI   Úscore_samplesÚshapeÚfit_transformr-   rX   )rG   rè   rì   rµ   s       r:   Ú#test_pipeline_score_samples_pca_lofrð   t  s­   € Ü�	‰	€Aô ˜¨e¸DÔ
A€CÜ
 TÔ
*€CÜ�e˜S�\ E¨3 <Ð0Ó1€DØ‡H�HˆQ„Kà×Ñ˜aÓ ×&Ñ&¨1¯7©7°1©:¨-Ò7Ñ7à‡G�GˆC×Ñ˜aÓ Ô!Ü�D×&Ñ& qÓ)¨3×+<Ñ+<¸S¿]¹]È1Ó=MÓ+NÕOr<   c                  óÊ  — t        j                  dgdgg«      } t        j                  ddg«      }t        t        «       «      }|j	                  | |«       d}d}t        j                  t        |¬«      5 }|j                  | «       d d d «       t        j                  j                  t        «      sJ ‚|t        |j                  j                  «      v sJ ‚y # 1 sw Y   ŒSxY w)Nrr   r¼   z<'LogisticRegression' object has no attribute 'score_samples'z+'Pipeline' has no attribute 'score_samples'r�   )rm   rÀ   r   r   rI   r¨   r©   ÚAttributeErrorrí   Ú
isinstanceÚvalueÚ	__cause__Ústr)rG   rH   rµ   Ú	inner_msgÚ	outer_msgÚ	exec_infos         r:   Ú4test_score_samples_on_pipeline_without_score_samplesrú   „  sº   € Ü
�‰�1�#˜�s�Ó€AÜ
�‰�!�Q�Ó€Aô Ô+Ó-Ó.€DØ‡H�HˆQ�„NàN€IØ=€IÜ	�‰”~¨YÔ	7ð ¸9Ø×Ñ˜1Ô÷ô �i—o‘o×/Ñ/´Ô@Ñ@Øœ˜IŸO™O×5Ñ5Ó6Ñ6Ñ6Ð6÷	ð ús   Á5CÃC"c                  ó„  — t         j                  } t         j                  }| j                  d   }t	        t        j                  |«      «      }t        «       }t        ddd¬«      }t        ddd¬«      }||fD ]Æ  }t        d|fd	|fg«      }|j                  | |«       |j                  | «      }	|	j                  |fk(  sJ ‚|j                  | «      }
|
j                  ||fk(  sJ ‚|j                  | «      }|j                  ||fk(  sJ ‚|j                  | «      }|j                  ||fk(  sJ ‚|j!                  | |«       ŒÈ y )
Nr   r¼   Ú
randomizedT)ræ   rå   rç   Úovr)rà   rá   Údecision_function_shapeÚ
preprocessrŸ   )rÇ   rÈ   rÉ   rî   Úlenrm   Úuniquer"   r
   r#   r   rI   rv   rz   r{   r|   ry   )rG   rH   Ú	n_samplesÚ	n_classesÚscalerrè   rœ   Úpreprocessingrµ   rv   ÚprobaÚ	log_probar|   s                r:   Ú'test_pipeline_methods_preprocessing_svmr  •  s,  € ä�	‰	€AÜ�‰€AØ—‘˜‘
€IÜ”B—I‘I˜a“LÓ!€IÜÓ€FÜ
˜1¨¸dÔ
C€CÜ
˜$¨QÈÔ
N€Cà  #˜ò ˆÜ˜,¨Ð6¸À¸ÐEÓFˆØ�‰��AŒð —,‘,˜q“/ˆØ�}‰}  Ò,Ñ,à×"Ñ" 1Ó%ˆØ�{‰{˜y¨)Ð4Ò4Ñ4à×*Ñ*¨1Ó-ˆ	Ø�‰ 9¨iÐ"8Ò8Ñ8à ×2Ñ2°1Ó5ÐØ ×&Ñ&¨9°iÐ*@Ò@Ñ@à�
‰
�1�aÕñ#r<   c                  ó8  — t        «       } t        dd¬«      }t        «       }t        dd¬«      }| j                  t        j                  «      }|j                  |«      }t        d|fd|fg«      }|j                  t        j                  «      }t        ||«       y )Nr   Úauto)rá   Ún_initr  ÚKmeans)r"   r   rï   rÇ   rÈ   r‡   r   r.   )r  ÚkmÚscaler_for_pipelineÚkm_for_pipelineÚscaledÚseparate_predrµ   Úpipeline_preds           r:   Útest_fit_predict_on_pipeliner  ³  s�   € ô Ó€FÜ	˜Q vÔ	.€Bô )Ó*ÐÜ¨!°FÔ;€Oð ×!Ñ!¤$§)¡)Ó,€FØ—N‘N 6Ó*€Mô �hÐ 3Ð4°xÀÐ6QÐRÓS€DØ×$Ñ$¤T§Y¡YÓ/€Mä˜m¨]Õ;r<   c                  ód  — t        «       } t        d¬«      }t        d| fd|fg«      }d}d}t        j                  t
        |¬«      5 }t        |d«       d d d «       t        j                  j                  t
        «      sJ ‚|t        |j                  j                  «      v sJ ‚y # 1 sw Y   ŒSxY w)	Nrâ   ©rå   r  rè   z)'Pipeline' has no attribute 'fit_predict'z+'PCA' object has no attribute 'fit_predict'r�   r‡   )r"   r
   r   r¨   r©   rò   Úgetattrró   rô   rõ   rö   )r  rè   rµ   rø   r÷   rù   s         r:   Ú0test_fit_predict_on_pipeline_without_fit_predictr  É  s›   € ô Ó€FÜ
˜Ô
 €CÜ�h Ð'¨%°¨Ð6Ó7€Dà;€IØ=€IÜ	�‰”~¨YÔ	7ð %¸9Ü��mÔ$÷%ä�i—o‘o×/Ñ/´Ô@Ñ@Øœ˜IŸO™O×5Ñ5Ó6Ñ6Ñ6Ð6÷%ð %ús   ÁB&Â&B/c                  ó  — t        dt        «       fdt        «       fg«      } | j                  d d dd¬«       | j                  d   j
                  d   sJ ‚| j                  d   j                  sJ ‚d| j                  d   j
                  vsJ ‚y )Nr½   rœ   T)rG   rH   Útransf__should_get_thisrÌ   Úshould_get_thisr„   )r   r`   r~   r‡   r­   rb   r�   ©rµ   s    r:   Ú-test_fit_predict_with_intermediate_fit_paramsr  Ø  s“   € ô �h¤Ó 1Ð2°U¼I»KÐ4HÐIÓJ€DØ×ÑØ
�$°È$ð ô ð ×Ñ˜HÑ%×0Ñ0Ð1BÒCÑCØ×Ñ˜EÑ"×-Ò-Ñ-Ø 4×#3Ñ#3°HÑ#=×#HÑ#HÑHÑHÐHr<   Úmethod_name)rv   rz   r{   c                 óÌ   — t        dt        «       fdt        «       fg«      }|j                  d d «       t	        || «      } |d d¬«       |j
                  d   j                  sJ ‚y )Nr½   rœ   T)rG   r–   )r   r[   r’   rI   r  r­   r–   )r  rµ   Úmethods      r:   Ú(test_predict_methods_with_predict_paramsr   ä  sa   € ô �h¤£Ð)¨EÔ3GÓ3IÐ+JÐKÓL€DØ‡H�HˆT�4ÔÜ�T˜;Ó'€FÙ
ˆT Õ&à×Ñ˜EÑ"×0Ò0Ñ0Ð0r<   Úcsr_containerc                 ó  — t         j                  }||j                  d¬«      z  }t         j                  }t	        dd¬«      }t        d¬«      }t        d|fd|fg«      }|j                  ||«       |j                  |«      }|j                  |j                  d   d	fk(  sJ ‚t        |d d …d d
…f   |j                  |«      «       t        |d d …d
f   |j                  ||«      j                  «       «       t        d|fd|fg«      } | |«      }|j                  ||«      }t        ||j                  «       «       t        |«      }	|j                   d   d   |	j                   d   d   usJ ‚|j#                  d¬«       |j                  ||«      j                  |j                  d   dfk(  sJ ‚t        dt%        «       fd|fd|fg«      }|j                  ||«      }|j                  |j                  d   dfk(  sJ ‚d}
t        dt%        «       fdt'        «       fg«      }t)        j*                  t,        |
¬«      5  |j                  |«       d d d «       t        d|fd|ff«      }|j                  ||«       y # 1 sw Y   Œ-xY w)Nr   rs   r¼   )ræ   rá   rr   rÄ   ÚsvdÚselectrÐ   éÿÿÿÿ)Ú	select__ké   ÚmockrÒ   z>All estimators should implement fit and transform.*\bNoTrans\brX   Úno_transformr�   )rÇ   rÈ   r�   rÉ   r   r   r   rI   rX   rî   r.   rï   r/   ÚravelÚtoarrayr   Útransformer_listrR   r[   rD   r¨   r©   rª   )r!  rG   rH   r#  r$  ÚfsÚX_transformedÚX_spÚX_sp_transformedÚfs2r´   s              r:   Útest_feature_unionr2  ò  sc  € ô 	�	‰	€AØˆ�‰�Qˆ‹Ñ€AÜ�‰€AÜ
 A°AÔ
6€CÜ˜1Ô€FÜ	˜˜s�| h°Ð%7Ð8Ó	9€BØ‡F�Fˆ1ˆa„LØ—L‘L “O€MØ×Ñ 1§7¡7¨1¡:¨q /Ò1Ñ1ô ˜mªA¨s°¨s¨FÑ3°S×5FÑ5FÀqÓ5IÔJÜ�}¢Q¨ UÑ+¨V×-AÑ-AÀ!ÀQÓ-G×-MÑ-MÓ-OÔPô 
˜˜s�| h°Ð%7Ð8Ó	9€BÙ˜Ó€DØ×'Ñ'¨¨aÓ0ÐÜ˜mÐ-=×-EÑ-EÓ-GÔHô �‹)€CØ×Ñ˜qÑ! !Ñ$¨C×,@Ñ,@ÀÑ,CÀAÑ,FÑFÑFð ‡M�M˜A€MÔØ×Ñ˜A˜qÓ!×'Ñ'¨A¯G©G°A©J¸¨?Ò:Ñ:ô 
˜¤£Ð)¨E°3¨<¸(ÀFÐ9KÐLÓ	M€BØ×$Ñ$ Q¨Ó*€MØ×Ñ 1§7¡7¨1¡:¨q /Ò1Ñ1ð M€CÜ	˜¤V£XÐ.°ÄÃÐ0KÐLÓ	M€BÜ	�‰”y¨Ô	,ñ Ø
�‰ˆqŒ	÷ô 
˜˜s�| h°Ð%7Ð8Ó	9€BØ‡F�Fˆ1ˆa…L÷ð ús   È<I:É:Jc                  ó
  — t        «       } t        «       }t        d| fd|fg«      }|j                  d   | k(  sJ ‚|j                  d   |k(  sJ ‚|j                  j                  | k(  sJ ‚|j                  j
                  |k(  sJ ‚y)z6Check the behaviour of `named_transformers` attribute.r½   ÚnoinvtransfN)r[   rU   r   Únamed_transformersr½   r4  )r½   r4  r-  s      r:   Ú%test_feature_union_named_transformersr6  "  sˆ   € ä‹X€FÜ“-€KÜ	˜ &Ð)¨M¸;Ð+GÐHÓ	I€BØ× Ñ  Ñ*¨fÒ4Ñ4Ø× Ñ  Ñ/°;Ò>Ñ>ð × Ñ ×'Ñ'¨6Ò1Ñ1Ø× Ñ ×,Ñ,°Ò;Ñ;Ð;r<   c                  ó’   — t        d¬«      } t        «       }t        | |«      }t        |j                  Ž \  }}|dk(  sJ ‚|| |fk(  sJ ‚y )Nrâ   r  )rè   r½   )r
   r[   r    Úzipr,  )rè   r(  ÚfuÚnamesÚtransformerss        r:   Útest_make_unionr<  /  sR   € Ü
˜Ô
 €CÜ‹8€DÜ	�C˜Ó	€BÜ˜r×2Ñ2Ð3Ñ€Eˆ<ØÐ%Ò%Ñ%Ø˜C ˜;Ò&Ñ&Ð&r<   c                  ód  — t        d¬«      } t        «       }t        | |d¬«      }|j                  t        | |«      j                  k(  sJ ‚d|j                  k(  sJ ‚t        j                  d«      }t        j                  t        |¬«      5  t        | |ddd	œ¬
«       d d d «       y # 1 sw Y   y xY w)Nrâ   r  rÐ   ©Ún_jobszEmake_union() got an unexpected keyword argument 'transformer_weights'r�   é
   rr   )rè   r[   ©Útransformer_weights)
r
   r[   r    r,  r?  r¯   r°   r¨   r©   rª   )rè   r(  r9  r´   s       r:   Útest_make_union_kwargsrC  8  sš   € Ü
˜Ô
 €CÜ‹8€DÜ	�C˜ aÔ	(€BØ×Ñ¤*¨S°$Ó"7×"HÑ"HÒHÑHØ�—	‘	Š>Ñô �)‰)ØOó€Cô 
�‰”y¨Ô	,ñ LÜ�3˜¸"ÈÑ2JÕK÷L÷ Lñ Lús   ÂB&Â&B/c                  ój  — t         j                  } t        dd¬«      }t        d|fg«      }|j	                  | «      j                  | «      }|j                  | «      }|j                  | «      }t        ||«       t        ||«       |j                  |«      }|j                  |«      }t        ||«       y )Nr¼   râ   )ræ   rå   rè   )	rÇ   rÈ   r
   r   rI   rX   rï   r.   r^   )rG   rè   r³   ÚX_transÚX_trans2ÚX_trans3ÚX_backÚX_back2s           r:   Útest_pipeline_transformrJ  G  s¡   € ô 	�	‰	€AÜ
˜1¨Ô
0€CÜ˜% ˜˜Ó'€Hð �l‰l˜1‹o×'Ñ'¨Ó*€GØ×%Ñ% aÓ(€HØ× Ñ  Ó#€HÜ˜g xÔ0Ü˜g xÔ0à×'Ñ'¨Ó0€FØ×#Ñ# GÓ,€GÜ˜f gÕ.r<   c                  óò   — t         j                  } t         j                  }t        «       }t	        d|fg«      }|j                  | |«      }|j                  | |«      j                  | «      }t        ||«       y )Nr(  )	rÇ   rÈ   rÉ   r[   r   rï   rI   rX   r.   )rG   rH   r½   r³   rE  rF  s         r:   Útest_pipeline_fit_transformrL  Z  sf   € ä�	‰	€AÜ�‰€AÜ‹X€FÜ˜& &Ð)Ð*Ó+€Hð ×$Ñ$ Q¨Ó*€GØ�z‰z˜!˜QÓ×)Ñ)¨!Ó,€HÜ˜g xÕ0r<   z
start, end))r   rr   )r   r¼   )rr   r¼   )rr   rÐ   )Nrr   )rr   Nr=   c                 ó:  — t        dt        «       fdt        «       fdt        «       fgdd¬«      }|| | }t        |t         «      sJ ‚|j                  |j                  | | k(  sJ ‚t        |j                  j                  «       «      t        |j                  j                  «       «      | | k(  sJ ‚|j                  d¬«      }|j                  d¬«      }|d	= |d	= ||k(  sJ ‚d
}t        j                  t        |¬«      5  || |d…    d d d «       y # 1 sw Y   y xY w)NÚtransf1Útransf2rœ   Ú123T)ÚmemoryÚverboseFr    Ústepsz*Pipeline slicing only supports a step of 1r�   r%  )r   r[   r~   ró   rS  Úlistr­   ÚitemsrM   r¨   r©   r±   )ÚstartÚendrµ   Ú
pipe_sliceÚpipe_paramsÚpipe_slice_paramsr´   s          r:   Útest_pipeline_slicer[  g  s"  € ô Ø
”V“XÐ	 ¬F«HÐ 5¸¼y»{Ð7KÐLØØô€Dð
 �e˜C�€Jä�j¤(Ô+Ñ+à×Ñ˜tŸz™z¨%°Ð4Ò4Ñ4ô 	ˆZ×#Ñ#×)Ñ)Ó+Ó,Ü�× Ñ ×&Ñ&Ó(Ó)¨%°Ð4ò	5ñð
 —/‘/ u�/Ó-€KØ"×-Ñ-°5Ð-Ó9ÐØ�GÐØ˜'Ð"ØÐ+Ò+Ñ+à
6€CÜ	�‰”z¨Ô	-ñ ØˆU�3�rˆ\Ò÷÷ ñ ús   Ã?	DÄDc                  ój  — t        «       } t        «       }t        d| fd|fg«      }|d   | k(  sJ ‚|d   | k(  sJ ‚|d   |k(  sJ ‚|d   |k(  sJ ‚t        j                  t
        «      5  |d    d d d «       t        j                  t        «      5  |d    d d d «       y # 1 sw Y   Œ1xY w# 1 sw Y   y xY w)Nr½   rœ   r   r%  rÐ   Úfoobar)r[   r~   r   r¨   r©   Ú
IndexErrorÚKeyError)r½   rœ   rµ   s      r:   Útest_pipeline_indexr`  †  s¼   € Ü‹X€FÜ
‹+€CÜ�h Ð'¨%°¨Ð6Ó7€DØ�‰7�fÒÑØ�‰>˜VÒ#Ñ#Ø�‰8�sŠ?ÑØ�‰;˜#ÒÑô 
�‰”zÓ	"ñ ØˆQŠ÷ô 
�‰”xÓ	 ñ ØˆXŠ÷ð ÷	ð ú÷ð ús   Á'BÂB)ÂB&Â)B2c                  óö  — t        «       } t        «       }t        d| fg«      }|j                  d   | u sJ ‚d|fg|_        d|j                  vsJ ‚|j                  d   |u sJ ‚d|fg|j                  k(  sJ ‚|j	                  d| fg¬«       d| fg|j                  k(  sJ ‚|j	                  |¬«       d|fg|j                  k(  sJ ‚|j	                  dg¬«       t        j                  d«      }t        j                  t        |¬«      5  |j                  dggdg«       d d d «       d	}t        j                  t        |¬«      5  |j                  dggdg«       d d d «       y # 1 sw Y   ŒExY w# 1 sw Y   y xY w)
Nr(  Úmock2©rS  ©r(  )ÚjunkrB   zJLast step of Pipeline should implement fit or be the string 'passthrough'.r�   rr   z0This 'Pipeline' has no attribute 'fit_transform')r[   r   r­   rS  rR   r¯   r°   r¨   r©   rª   rI   rò   rï   )rN  rO  r³   r´   s       r:   Útest_set_pipeline_stepsrf  ˜  s‡  € Ü‹h€GÜ‹h€GÜ˜& 'Ð*Ð+Ó,€HØ×Ñ Ñ'¨7Ñ2Ñ2ð  Ð(Ð)€H„NØ˜×-Ñ-Ñ-Ñ-Ø×Ñ Ñ(¨GÑ3Ñ3Ø�gÐÐ 8§>¡>Ò1Ñ1ð ×Ñ ¨Ð0Ð1ÐÔ2Ø�WÐÐ (§.¡.Ò0Ñ0ð ×Ñ˜WÐÔ%Ø�WÐÐ (§.¡.Ò0Ñ0ð ×Ñ˜|˜nÐÔ-Ü
�)‰)ØTó€Cô 
�‰”y¨Ô	,ñ !Ø�‰�q�c�U˜Q˜CÔ ÷!ð =€CÜ	�‰”~¨SÔ	1ñ +Ø×Ñ  ˜u q cÔ*÷+ð +÷	!ð !ú÷+ð +ús   Ä	E#ÅE/Å#E,Å/E8c                  ó„  — t        «       } t        d¬«      }t        d| fd|fg«      }d|j                  v sJ ‚d|j                  vsJ ‚|j                  j                  | u sJ ‚|j                  j
                  |u sJ ‚t        d| fd|fg«      }|j                  j                  | usJ ‚|j                  j
                  |u sJ ‚y )Nr¼   rh   r(  ri   rb  Úvalues)r[   rf   r   r­   r(  ri   rh  )r½   Úmult2r³   s      r:   Útest_pipeline_named_stepsrj  ¹  sÇ   € Ü‹X€FÜ�aŒL€EÜ˜& &Ð)¨F°E¨?Ð;Ó<€Hð �X×)Ñ)Ñ)Ñ)Ø˜(×.Ñ.Ñ.Ñ.Ø×Ñ×$Ñ$¨Ñ.Ñ.Ø×Ñ×$Ñ$¨Ñ-Ñ-ô ˜( FÐ+¨f°e¨_Ð=Ó>€HØ×Ñ×&Ñ&¨fÑ4Ñ4Ø×Ñ×$Ñ$¨Ñ-Ñ-Ð-r<   r¿   c                 óV  — t        j                  dgg«      }t        j                  dg«      }t        d¬«      }t        d¬«      }t        d¬«      }t        d|fd| fd|fd	|fg«      }|j	                  ||«       g d
¢}|j
                  D ��	cg c]  \  }}	|‘Œ	 }
}}	||
k(  sJ ‚y c c}	}w )Nrr   r¼   rh   rÐ   é   Úm2ÚbadÚm3Úm5)rm  rn  ro  rp  )rm   rÀ   rf   r   rI   rS  )r¿   rG   rH   ri  Úmult3Úmult5r³   Úexpected_namesÚnameÚ_Úactual_namess              r:   Ú%test_pipeline_correctly_adjusts_stepsrw  Ê  s§   € ä
�‰�1�#�‹€AÜ
�‰�!�‹€AÜ�aŒL€EÜ�aŒL€EÜ�aŒL€EäØ
�ˆ˜ Ð,¨t°U¨m¸dÀE¸]ÐKó€Hð ‡L�L��AÔÚ.€NØ(0¯©×7™W˜T 1’DÐ7€LÑ7Ø˜\Ò)Ñ)Ð)ùó 8s   ÂB%c           
      ó  ‡‡‡— t        j                  dgg«      }t        j                  dg«      }t        d¬«      Št        d¬«      Št        d¬«      Šˆˆˆfd„} |«       }d}t        |gg|j	                  ||«      «       t        |g|j                  |«      j                  |«      «       t        ||j                  |gg«      «       |j                  | ¬«       d	}t        |gg|j	                  ||«      «       t        |g|j                  |«      j                  |«      «       t        ||j                  |gg«      «       |j                  d
¬«      |j                  ‰| ‰d ddddœk(  sJ ‚|j                  | ¬«       d}t        |gg|j	                  ||«      «       t        |g|j                  |«      j                  |«      «       t        ||j                  |gg«      «       g d¢}|D ]  } t        ||«      |«       Œ |j                  ‰¬«       d	}t        |gg|j	                  ||«      «       t        |g|j                  |«      j                  |«      «       t        ||j                  |gg«      «        |«       }|j                  | ¬«       d}t        |gg|j                  ||«      j                  |«      «       t        |gg|j	                  ||«      «       t        ||j                  |gg«      «       d}d}	t        j                  t        |	¬«      5 }
t        |d«       d d d «       t!        
j"                  j$                  t        «      sJ ‚|t'        |
j"                  j$                  «      v sJ ‚d	}t)        d‰fd| fd‰fg«      }t        |gg|j	                  ||«      «       t        |g|j                  |«      j                  |«      «       t        ||j                  |gg«      «       y # 1 sw Y   ŒÏxY w)Nrr   r¼   rh   rÐ   rl  c                  ó,   •— t        d‰ fd‰fd‰fg«      S )Nrm  ro  Úlast)r   )ri  rq  rr  s   €€€r:   Úmakez0test_set_pipeline_step_passthrough.<locals>.makeä  s!   ø€ Ü˜$ ˜¨¨u¨¸À°ÐGÓHÐHr<   é   ©ro  r@  Tr    F)rS  rm  ro  rz  rQ  Úm2__multÚ
last__multrR  ©rm  )rz   r{   r|   rX   ry   )rz  é   z''str' object has no attribute 'predict'z*This 'Pipeline' has no attribute 'predict'r�   rv   rm  ro  rz  )rm   rÀ   rf   r/   rï   rI   rv   r^   rR   rM   rS  r  rX   r¨   r©   rò   ró   rô   rõ   rö   r   )r¿   rG   rH   r{  r³   ÚexpÚother_methodsr  r÷   rø   rù   ri  rq  rr  s              @@@r:   Ú"test_set_pipeline_step_passthroughr„  Ü  s   ú€ ä
�‰�1�#�‹€AÜ
�‰�!�‹€AÜ�aŒL€EÜ�aŒL€EÜ�aŒL€EöIñ ‹v€Hà
€CÜ˜˜�w × 6Ñ 6°q¸!Ó <Ô=Ü˜�u˜hŸl™l¨1›o×5Ñ5°aÓ8Ô9Ü�q˜(×4Ñ4°s°e°WÓ=Ô>à×Ñ˜;ÐÔ'Ø
€CÜ˜˜�w × 6Ñ 6°q¸!Ó <Ô=Ü˜�u˜hŸl™l¨1›o×5Ñ5°aÓ8Ô9Ü�q˜(×4Ñ4°s°e°WÓ=Ô>Ø×Ñ DÐÓ)Ø—‘ØØØØØØØñ	.ò 	ñ 	ð ×Ñ˜;ÐÔ'Ø
€CÜ˜˜�w × 6Ñ 6°q¸!Ó <Ô=Ü˜�u˜hŸl™l¨1›o×5Ñ5°aÓ8Ô9Ü�q˜(×4Ñ4°s°e°WÓ=Ô>ò€Mð  ò %ˆØ!Œ�˜&Ó! !Õ$ð%ð ×Ñ˜5ÐÔ!Ø
€CÜ˜˜�w × 6Ñ 6°q¸!Ó <Ô=Ü˜�u˜hŸl™l¨1›o×5Ñ5°aÓ8Ô9Ü�q˜(×4Ñ4°s°e°WÓ=Ô>á‹v€HØ×Ñ˜[ÐÔ)à
€CÜ˜˜�w §¡¨Q°Ó 2× <Ñ <¸QÓ ?Ô@Ü˜˜�w × 6Ñ 6°q¸!Ó <Ô=Ü�q˜(×4Ñ4°s°e°WÓ=Ô>à9€IØ<€IÜ	�‰”~¨YÔ	7ð %¸9Ü�˜)Ô$÷%ä�i—o‘o×/Ñ/´Ô@Ñ@Øœ˜IŸO™O×5Ñ5Ó6Ñ6Ñ6ð €CÜ˜$ ˜¨¨{Ð(;¸fÀe¸_ÐMÓN€HÜ˜˜�w × 6Ñ 6°q¸!Ó <Ô=Ü˜�u˜hŸl™l¨1›o×5Ñ5°aÓ8Ô9Ü�q˜(×4Ñ4°s°e°WÓ=Õ>÷%ð %ús   Ì"O=Ï=Pc                  ó€  — t        t        d«      «      } | j                   | j                   | j                   t        t        «       «      } t        | d«      rJ ‚| j                   | j                   t        d«      } | j                  d   dk(  sJ ‚t        | d«      rJ ‚| j                   | j                   t        t        «       t        «       «      } t        | d«      rJ ‚| j                   t        | d«      rJ ‚t        t        «       t        «       «      } t        | d«      rJ ‚| j                   t        | d«      rJ ‚y )Nrl  rv   r¿   r   ©r¿   r¿   r^   )	r   rf   rv   rX   r^   r[   ÚhasattrrS  rU   )r³   s    r:   Útest_pipeline_ducktypingrˆ  ,  sÿ   € ÜœT !›WÓ%€HØ×ÒØ×ÒØ×ÒäœV›XÓ&€HÜ�x Ô+Ñ+Ø×ÒØ×Òä˜]Ó+€HØ�>‰>˜!ÑÐ >Ò>Ñ>Ü�x Ô+Ñ+Ø×ÒØ×ÒäœV›X¤{£}Ó5€HÜ�x Ô+Ñ+Ø×ÒÜ�xÐ!4Ô5Ñ5äœ[›]¬F«HÓ5€HÜ�x Ô+Ñ+Ø×ÒÜ�xÐ!4Ô5Ñ5Ð5r<   c                  óœ  — t        «       } t        «       }t        | |«      }t        |t        «      sJ ‚|j                  d   d   dk(  sJ ‚|j                  d   d   dk(  sJ ‚t        | |t        «       «      }t        |t        «      sJ ‚|j                  d   d   dk(  sJ ‚|j                  d   d   dk(  sJ ‚|j                  d   d   dk(  sJ ‚y )Nr   ztransf-1rr   ztransf-2r¼   Ú	fitparamt)r[   r   ró   r   rS  r~   )Út1Út2rµ   s      r:   Útest_make_pipeliner�  H  sÁ   € Ü	‹€BÜ	‹€BÜ˜˜RÓ €DÜ�dœHÔ%Ñ%Ø�:‰:�a‰=˜Ñ˜zÒ)Ñ)Ø�:‰:�a‰=˜Ñ˜zÒ)Ñ)ä˜˜R¤£Ó-€DÜ�dœHÔ%Ñ%Ø�:‰:�a‰=˜Ñ˜zÒ)Ñ)Ø�:‰:�a‰=˜Ñ˜zÒ)Ñ)Ø�:‰:�a‰=˜Ñ˜{Ò*Ñ*Ð*r<   c                  ó:  — t         j                  } t         j                  }t        ddd¬«      }t	        d¬«      }t        d|fd|fgdd	i¬
«      }|j                  | |«       |j                  | «      }t        d|fd|fgdd	i¬
«      }|j                  | |«      }t        dt        «       fd|fd|fgdd	i¬
«      }|j                  | |«      }t        |d d …d d…f   d	|j                  | «      z  «       t        |d d …df   |j                  | |«      j                  «       «       t        |d d …d d…f   d	|j                  | «      z  «       t        |d d …df   |j                  | |«      j                  «       «       |j                  | j                  d   dfk(  sJ ‚y )Nr¼   rü   r   ©ræ   rå   rá   rr   rÄ   rè   r$  r@  rA  r(  r%  é   )rÇ   rÈ   rÉ   r
   r   r   rI   rX   rï   r[   r.   r/   r*  rî   )rG   rH   rè   r$  r-  r.  ÚX_fit_transformedÚX_fit_transformed_wo_methods           r:   Útest_feature_union_weightsr“  W  s¤  € ä�	‰	€AÜ�‰€AÜ
˜1¨ÀAÔ
F€CÜ˜1Ô€Fä	Ø
�ˆ˜ &Ð)Ð*ÀÈÀô
€Bð ‡F�Fˆ1ˆa„LØ—L‘L “O€Mä	Ø
�ˆ˜ &Ð)Ð*ÀÈÀô
€Bð ×(Ñ(¨¨AÓ.Ðä	Ø
”&“(Ð	˜e S˜\¨H°fÐ+=Ð>Ø# R˜Lô
€Bð #%×"2Ñ"2°1°aÓ"8Ðô ˜mªA¨s°¨s¨FÑ3°R¸#×:KÑ:KÈAÓ:NÑ5NÔOÜ�}¢Q¨ UÑ+¨V×-AÑ-AÀ!ÀQÓ-G×-MÑ-MÓ-OÔPÜÐ/²°3°B°3°Ñ7¸¸c×>OÑ>OÐPQÓ>RÑ9RÔSÜÐ(ª¨B¨Ñ/°×1EÑ1EÀaÈÓ1K×1QÑ1QÓ1SÔTØ&×,Ñ,°·±¸±¸Q°Ò?Ñ?Ð?r<   c                  ó"  — t         } t        dt        d¬«      fdt        d¬«      fg«      }t        dt        d¬«      fdt        d¬«      fgd¬«      }t        dt        d¬«      fdt        d¬«      fgd¬«      }|j                  | «       |j	                  | «      }|j
                  d   t        | «      k(  sJ ‚|j                  | «       |j	                  | «      }|j
                  |j
                  k(  sJ ‚t        |j                  «       |j                  «       «       |j                  | «      }t        |j                  «       |j                  «       «       |j	                  | «      }t        |j                  «       |j                  «       «       y )	NÚwordsÚword©ÚanalyzerÚcharsÚcharr¼   r>  r   )
ÚJUNK_FOOD_DOCSr   r   rI   rX   rî   r   r/   r+  rï   )rG   r-  Úfs_parallelÚfs_parallel2r.  ÚX_transformed_parallelÚX_transformed_parallel2s          r:   Útest_feature_union_parallelr   x  sv  € ä€Aä	à”o¨vÔ6Ð7Ø”o¨vÔ6Ð7ð	
ó
€Bô à”o¨vÔ6Ð7Ø”o¨vÔ6Ð7ð	
ð ô€Kô  à”o¨vÔ6Ð7Ø”o¨vÔ6Ð7ð	
ð ô€Lð ‡F�Fˆ1„IØ—L‘L “O€MØ×Ñ˜qÑ!¤S¨£VÒ+Ñ+à‡O�O�AÔØ(×2Ñ2°1Ó5ÐØ×ÑÐ"8×">Ñ">Ò>Ñ>Ü�}×,Ñ,Ó.Ð0F×0NÑ0NÓ0PÔQð +×8Ñ8¸Ó;ÐÜ�}×,Ñ,Ó.Ð0G×0OÑ0OÓ0QÔRð +×4Ñ4°QÓ7ÐÜ�}×,Ñ,Ó.Ð0G×0OÑ0OÓ0QÕRr<   c                  óÞ  — t        d¬«      } t        dd¬«      }t        d|fd| fg«      }|j                  t        «       |j	                  «       }|D ]  }d|v rŒd	|v rŒJ ‚ t        |«      d
k(  sJ ‚t        dt        «       fg«      j                  dgg«      }t        j                  d«      }t        j                  t        |¬«      5  |j	                  «        d d d «       y # 1 sw Y   y xY w)Nr–  r—  Úchar_wb)rÐ   rÐ   )r˜  Úngram_ranger™  r•  Úchars__Úwords__é#   Útr1rr   zDTransformer tr1 (type Transf) does not provide get_feature_names_outr�   )r   r   rI   r›  Úget_feature_names_outr   r[   r¯   r°   r¨   r©   rò   )Ú	word_vectÚ	char_vectÚftÚfeature_namesÚfeatr´   s         r:   Ú test_feature_union_feature_namesr®  ¥  sá   € Ü¨Ô0€IÜ¨ÀÔG€IÜ	˜ Ð+¨g°yÐ-AÐBÓ	C€BØ‡F�FŒ>ÔØ×,Ñ,Ó.€MØò 6ˆØ˜DÒ  I°Ò$5Ñ5ð6äˆ}Ó Ò#Ñ#ä	˜œv›xÐ(Ð)Ó	*×	.Ñ	.°°¨uÓ	5€Bä
�)‰)ØNó€Cô 
�‰”~¨SÔ	1ñ #Ø
× Ñ Ô"÷#÷ #ñ #ús   Ã	C#Ã#C,c                  óB  — t         j                  } t         j                  }t        t	        d¬«      t        «       «      }|j                  | |«       t        j                  t        «      5  t        |d«       d d d «       t        t	        d¬«      t        d¬«      «      }t        j                  t        «      5  t        |d«       d d d «       |j                  | |«       t        |j                  t        j                  |«      «       y # 1 sw Y   Œ“xY w# 1 sw Y   ŒQxY w)Nrr   rÄ   Úclasses_r   ©rá   )rÇ   rÈ   rÉ   r   r   r   rI   r¨   r©   rò   r  r   r/   r°  rm   r  )rG   rH   Úregrœ   s       r:   Útest_classes_propertyr³  ¸  sÈ   € Ü�	‰	€AÜ�‰€Aä
œ aÔ(Ô*:Ó*<Ó
=€CØ‡G�GˆAˆq„MÜ	�‰”~Ó	&ñ !Ü��ZÔ ÷!ô œ aÔ(Ô*<È!Ô*LÓ
M€CÜ	�‰”~Ó	&ñ !Ü��ZÔ ÷!à‡G�GˆAˆq„MÜ�s—|‘|¤R§Y¡Y¨q£\Õ2÷!ð !ú÷!ð !ús   Á*D	Â8DÄ	DÄDc                  óf  — t        d«      } t        d«      }t        d«      }d„ |_        d„ | _        d„ |_        t        d| fd|fg«      }t        ddgg|j	                  t        j                  d	gg«      «      «       t        d
dg|j                  «       «       d|fg|_        t        dgg|j	                  t        j                  d	gg«      «      «       t        dg|j                  «       «       |j                  d|fg¬«       t        dgg|j	                  t        j                  d	gg«      «      «       t        dg|j                  «       «       |j                  |¬«       t        dgg|j	                  t        j                  d	gg«      «      «       t        dg|j                  «       «       y )Nr¼   rÐ   rl  c                 ó   — dgS ©NÚx3rB   ©Úinput_featuress    r:   ú<lambda>z.test_set_feature_union_steps.<locals>.<lambda>Í  ó   € ¸$¸€ r<   c                 ó   — dgS ©NÚx2rB   r¸  s    r:   rº  z.test_set_feature_union_steps.<locals>.<lambda>Î  r»  r<   c                 ó   — dgS )NÚx5rB   r¸  s    r:   rº  z.test_set_feature_union_steps.<locals>.<lambda>Ï  r»  r<   rm  ro  rr   Úm2__x2Úm3__x3rp  Úm5__x5r(  )r,  Úmock__x3rd  Úmock__x5)	rf   r¨  r   r/   rX   rm   rn   r,  rR   )ri  rq  rr  r«  s       r:   Útest_set_feature_union_stepsrÆ  È  sl  € Ü�‹G€EÜ�‹G€EÜ�‹G€Eá"?€EÔÙ"?€EÔÙ"?€EÔä	˜˜e�} t¨U mÐ4Ó	5€BÜ˜˜A˜�x §¡¬b¯j©j¸1¸#¸Ó.?Ó!@ÔAÜ˜ (Ð+¨R×-EÑ-EÓ-GÔHð ! %˜=˜/€BÔÜ˜˜�u˜bŸl™l¬2¯:©:¸°s°eÓ+<Ó=Ô>Ü˜�z 2×#;Ñ#;Ó#=Ô>ð ‡M�M V¨U OÐ#4€MÔ5Ü˜˜�u˜bŸl™l¬2¯:©:¸°s°eÓ+<Ó=Ô>Ü˜
�| R×%=Ñ%=Ó%?Ô@ð ‡M�M�u€MÔÜ˜˜�u˜bŸl™l¬2¯:©:¸°s°eÓ+<Ó=Ô>Ü˜
�| R×%=Ñ%=Ó%?Õ@r<   c                  ó¢  — t        d«      } t        d«      }d„ | _        d„ |_        t        j                  dgg«      }t	        d| fd|fg«      }t        ddgg|j                  |«      j                  |«      «       t        ddgg|j                  |«      «       t        dd	g|j                  «       «       |j                  d
¬«       t        dgg|j                  |«      j                  |«      «       t        dgg|j                  |«      «       t        d	g|j                  «       «       |j                  d
¬«       t        g g|j                  |«      j                  |«      «       t        g g|j                  |«      «       t        g |j                  «       «       |j                  |¬«       t        dgg|j                  |«      j                  |«      «       t	        dd|fg«      }t        dgg|j                  |«      j                  |«      «       t        dgg|j                  |«      «       t        d	g|j                  «       «       y )Nr¼   rÐ   c                 ó   — dgS r½  rB   r¸  s    r:   rº  z2test_set_feature_union_step_drop.<locals>.<lambda>é  r»  r<   c                 ó   — dgS r¶  rB   r¸  s    r:   rº  z2test_set_feature_union_step_drop.<locals>.<lambda>ê  r»  r<   rr   rm  ro  rÁ  rÂ  Údropr€  r}  )rm  rÊ  )
rf   r¨  rm   rn   r   r/   rI   rX   rï   rR   )ri  rq  rG   r«  s       r:   Ú test_set_feature_union_step_droprË  å  sì  € Ü�‹G€EÜ�‹G€Eá"?€EÔÙ"?€EÔä
�
‰
�Q�C�5Ó€Aä	˜˜e�} t¨U mÐ4Ó	5€BÜ˜˜A˜�x §¡¨£×!4Ñ!4°QÓ!7Ô8Ü˜˜A˜�x ×!1Ñ!1°!Ó!4Ô5Ü˜ (Ð+¨R×-EÑ-EÓ-GÔHà‡M�M�V€MÔÜ˜˜�u˜bŸf™f Q›i×1Ñ1°!Ó4Ô5Ü˜˜�u˜b×.Ñ.¨qÓ1Ô2Ü˜�z 2×#;Ñ#;Ó#=Ô>à‡M�M�V€MÔÜ˜�t˜RŸV™V A›Y×0Ñ0°Ó3Ô4Ü˜�t˜R×-Ñ-¨aÓ0Ô1Ü�r˜2×3Ñ3Ó5Ô6ð ‡M�M�U€MÔÜ˜˜�u˜bŸf™f Q›i×1Ñ1°!Ó4Ô5ô 
�~¨¨e }Ð5Ó	6€BÜ˜˜�u˜bŸf™f Q›i×1Ñ1°!Ó4Ô5Ü˜˜�u˜b×.Ñ.¨qÓ1Ô2Ü˜�z 2×#;Ñ#;Ó#=Õ>r<   c                  ó
  — t        d«      } t        d«      }d„ | _        d„ |_        t        j                  dgg«      }t	        d| fd|fg«      }t        ddgg|j                  |«      j                  |«      «       t        ddgg|j                  |«      «       t        dd	g|j                  «       «       |j                  d
¬«       t        ddgg|j                  |«      j                  |«      «       t        ddgg|j                  |«      «       t        dd	g|j                  dg«      «       |j                  d
¬«       t        ddgg|j                  |«      j                  |«      «       t        ddgg|j                  |«      «       t        ddg|j                  dg«      «       |j                  |¬«       t        ddgg|j                  |«      j                  |«      «       t        ddgg|j                  |«      «       t        dd	g|j                  dg«      «       t	        dd|fg«      }t        ddgg|j                  |«      j                  |«      «       t        ddgg|j                  |«      «       t        dd	g|j                  dg«      «       t        j                  }|j                  d   }t        ddd¬«      }t	        dd|fg«      }t        ||j                  |«      j                  |«      dd…d|…f   «       t        ||j                  |«      dd…d|…f   «       t        g d¢|j                  g d¢«      «       |j                  d
¬«       |j                  |«      j                  |«      }t        |t        j                  ||g«      «       |j                  |«      }t        |t        j                  ||g«      «       t        g d¢|j                  g d¢«      «       |j                  |¬«       t        ||j                  |«      j                  |«      dd…| d…f   «       t        ||j                  |«      dd…| d…f   «       t        g d¢|j                  g d¢«      «       t	        dd|fgd
di¬«      }t        |dz  |j                  |«      j                  |«      dd…d|…f   «       t        |dz  |j                  |«      dd…d|…f   «       t        g d¢|j                  g d¢«      «       y)z@Check the behaviour of setting a transformer to `"passthrough"`.r¼   rÐ   c                 ó   — dgS r½  rB   r¸  s    r:   rº  z4test_set_feature_union_passthrough.<locals>.<lambda>  r»  r<   c                 ó   — dgS r¶  rB   r¸  s    r:   rº  z4test_set_feature_union_passthrough.<locals>.<lambda>  r»  r<   rr   rm  ro  rÁ  rÂ  r¿   r€  Ú
m2__myfeatÚmyfeatr}  Ú
m3__myfeat)rm  r¿   rü   r   r�  r†  rè   N)Úpassthrough__f0Úpassthrough__f1Úpassthrough__f2Úpassthrough__f3Ú	pca__pca0Ú	pca__pca1)Úf0Úf1Úf2Úf3)rè   )rÒ  rÓ  rÔ  rÕ  Úpca__f0Úpca__f1Úpca__f2Úpca__f3)r¿   )Úpassthrough__pca0Úpassthrough__pca1rÜ  rÝ  rÞ  rß  rA  )rf   r¨  rm   rn   r   r/   rI   rX   rï   rR   rÇ   rÈ   rî   r
   Úhstack)ri  rq  rG   r«  Úcolumnsrè   ÚX_fts          r:   Ú"test_set_feature_union_passthroughrå    s‡  € ä�‹G€EÜ�‹G€Eñ #@€EÔÙ"?€EÔä
�
‰
�Q�C�5Ó€Aä	˜˜e�} t¨U mÐ4Ó	5€BÜ˜˜A˜�x §¡¨£×!4Ñ!4°QÓ!7Ô8Ü˜˜A˜�x ×!1Ñ!1°!Ó!4Ô5Ü˜ (Ð+¨R×-EÑ-EÓ-GÔHà‡M�M�]€MÔ#Ü˜˜A˜�x §¡¨£×!4Ñ!4°QÓ!7Ô8Ü˜˜A˜�x ×!1Ñ!1°!Ó!4Ô5Ü˜ hÐ/°×1IÑ1IÈ8È*Ó1UÔVà‡M�M�]€MÔ#Ü˜˜A˜�x §¡¨£×!4Ñ!4°QÓ!7Ô8Ü˜˜A˜�x ×!1Ñ!1°!Ó!4Ô5ÜØ	�|Ð$ b×&>Ñ&>À¸zÓ&Jôð
 ‡M�M�U€MÔÜ˜˜A˜�x §¡¨£×!4Ñ!4°QÓ!7Ô8Ü˜˜A˜�x ×!1Ñ!1°!Ó!4Ô5Ü˜ hÐ/°×1IÑ1IÈ8È*Ó1UÔVô 
Ð,¨t°U¨mÐ<Ó	=€BÜ˜˜A˜�x §¡¨£×!4Ñ!4°QÓ!7Ô8Ü˜˜A˜�x ×!1Ñ!1°!Ó!4Ô5Ü˜ hÐ/°×1IÑ1IÈ8È*Ó1UÔVä�	‰	€AØ�g‰g�a‰j€GÜ
˜1¨ÀAÔ
F€Cä	Ð5¸¸s°|ÐDÓ	E€BÜ�q˜"Ÿ&™& ›)×-Ñ-¨aÓ0²°H°W°H°Ñ=Ô>Ü�q˜"×*Ñ*¨1Ó-ªa°°'°¨kÑ:Ô;Üò	
ð 	× Ñ Ò!9Ó:ô
ð ‡M�M�m€MÔ$Ø�6‰6�!‹9×Ñ˜qÓ!€DÜ�tœRŸY™Y¨¨1 vÓ.Ô/Ø×Ñ˜AÓ€DÜ�tœRŸY™Y¨¨1 vÓ.Ô/Üò		
ð 	× Ñ Ò!9Ó:ôð ‡M�M˜c€MÔ"Ü�q˜"Ÿ&™& ›)×-Ñ-¨aÓ0²°W°H±I°Ñ>Ô?Ü�q˜"×*Ñ*¨1Ó-ªa°'°±¨lÑ;Ô<Üò	
ð 	× Ñ Ò!9Ó:ô
ô 
Ø	'¨%°¨Ð6Ø*¨AÐ.ô
€Bô �q˜1‘u˜bŸf™f Q›i×1Ñ1°!Ó4²Q¸¸¸°[ÑAÔBÜ�q˜1‘u˜b×.Ñ.¨qÓ1²!°X°g°X°+Ñ>Ô?Üò	
ð 	× Ñ Ò!9Ó:õ
r<   c                  ó¸   — t         j                  } t        ddd¬«      }t        d|fdg«      }|j	                  | «       t        g d¢|j                  «       «       y)	zDCheck feature_names_out for verbose_feature_names_out=True (default)r¼   rü   r   r�  rè   r†  )rÖ  r×  Úpassthrough__x0Úpassthrough__x1Úpassthrough__x2Úpassthrough__x3N©rÇ   rÈ   r
   r   rI   r/   r¨  ©rG   rè   r«  s      r:   Ú9test_feature_union_passthrough_get_feature_names_out_truerí  y  sS   € ä�	‰	€AÜ
˜1¨ÀAÔ
F€Cä	˜˜s�|Ð%CÐDÓ	E€BØ‡F�Fˆ1„IÜò	
ð 	× Ñ Ó"õ
r<   c                  ó¼   — t         j                  } t        ddd¬«      }t        d|fdgd¬«      }|j	                  | «       t        g d	¢|j                  «       «       y
)z;Check feature_names_out for verbose_feature_names_out=Falser¼   rü   r   r�  rè   r†  F©Úverbose_feature_names_out)Úpca0Úpca1Úx0Úx1r¾  r·  Nrë  rì  s      r:   Ú:test_feature_union_passthrough_get_feature_names_out_falserõ  �  s[   € ä�	‰	€AÜ
˜1¨ÀAÔ
F€Cä	Ø
�ˆÐ5Ð6ÐRWô
€Bð ‡F�Fˆ1„IÜò	
ð 	× Ñ Ó"õ
r<   c                  ó„  — t        j                  d«      } | j                  ddgddggddg¬«      }t        d„ d	„ ¬
«      }t	        dt        «       fd|fgd¬«      }|j                  |«       t        j                  d«      }t        j                  t        |¬«      5  |j                  «        ddd«       y# 1 sw Y   yxY w)zFCheck get_feature_names_out and non-verbose names and colliding names.Úpandasrr   r¼   rÐ   r7   r8   ©rã  c                 ó   — | dg   S rO   rB   )rG   s    r:   rº  zStest_feature_union_passthrough_get_feature_names_out_false_errors.<locals>.<lambda>©  s   € �!�S�E‘(€ r<   c                 ó.   — t        j                  dg«      S rO   )rm   rn   )r9   ru  s     r:   rº  zStest_feature_union_passthrough_get_feature_names_out_false_errors.<locals>.<lambda>©  s   € ¼b¿j¹jÈ#ÈÓ>O€ r<   )Úfeature_names_outr‹  rŒ  Frï  zvOutput feature names: ['a'] are not unique. Please set verbose_feature_names_out=True to add prefixes to feature namesr�   N)r¨   ÚimportorskipÚ	DataFramer!   r   r"   rI   r¯   r°   r©   r±   r¨  )ÚpdrG   Úselect_aÚunionr´   s        r:   ÚAtest_feature_union_passthrough_get_feature_names_out_false_errorsr  £  s»   € ä	×	Ñ	˜XÓ	&€BØ
�‰�q˜!�f˜q !˜fÐ%°°S¨zˆÓ:€Aä"ÙÑ.Oô€Hô Ø
”Ó Ð	! D¨(Ð#3Ð4Ø"'ô€Eð 
‡I�Iˆa„Lä
�)‰)ð	Uó€Cô
 
�‰”z¨Ô	-ñ &Ø×#Ñ#Ô%÷&÷ &ñ &ús   ÂB6Â6B?c                  ó¢  — t        j                  d«      } | j                  t        t	        d«      «      gt	        d«      D �cg c]  }d|› �‘Œ	 c}¬«      }t        ddgd¬«      }|j                  |«       t        j                  d	«      }t        j                  t        |¬
«      5  |j                  «        ddd«       yc c}w # 1 sw Y   yxY w)zLCheck get_feature_names_out with non-verbose names and >= 5 colliding names.r÷  r@  Úfrø  )r‹  r¿   )rŒ  r¿   Frï  z”Output feature names: ['f0', 'f1', 'f2', 'f3', 'f4', ...] are not unique. Please set verbose_feature_names_out=True to add prefixes to feature namesr�   N)r¨   rü  rý  rT  Úranger   rI   r¯   r°   r©   r±   r¨  )rþ  ÚirG   r   r´   s        r:   ÚPtest_feature_union_passthrough_get_feature_names_out_false_errors_overlap_over_5r  º  s¶   € ä	×	Ñ	˜XÓ	&€BØ
�‰”dœ5 ›9“oÐ&Ä%ÈÃ)Ö0L¸Q°1°Q°C²Ò0LˆÓM€AäØ	Ð 5Ð6Ø"'ô€Eð
 
‡I�Iˆa„Lä
�)‰)ð	ó€Cô 
�‰”z¨Ô	-ñ &Ø×#Ñ#Ô%÷&ð &ùò 1M÷&ð &ús   ÁC 
Â&CÃCc                  óp  — d} d}d}dt        d«      fdt        d«      fg}dt        d«      fdt        d«      fg}t        d	ft        d
ffD �]ª  \  }}dt        d«      f|t        d«      fg}|| f||f|||z  ffD �]x  \  }}	t        j                  t
        |	¬«      5   |di ||i¤Žj                  dggdg«       d d d «        |di |dt        d«      fgi¤Ž}
t        |
||«       t        j                  t
        |	¬«      5  |
j                  dggdg«       d d d «       t        j                  t
        |	¬«      5  |
j                  dggdg«       d d d «        |di |dt        d«      fgi¤Ž}
 |
j                  di ||i¤Ž t        j                  t
        |	¬«      5  |
j                  dggdg«       d d d «       t        j                  t
        |	¬«      5  |
j                  dggdg«       d d d «       �Œ{ �Œ­ y # 1 sw Y   �ŒBxY w# 1 sw Y   ŒòxY w# 1 sw Y   ŒÅxY w# 1 sw Y   ŒnxY w# 1 sw Y   �Œ»xY w)Nz3Estimator names must not contain __: got \['a__q'\]z+Names provided are not unique: \['a', 'a'\]z=Estimator names conflict with constructor arguments: \['%s'\]Úa__qr¼   r8   rÐ   r7   rS  r,  r�   rr   rB   )
rf   r   r   r¨   r©   r±   rI   Úsetattrrï   rR   )Úerror_message_1Úerror_message_2Úerror_message_3Ú
bad_steps1Ú
bad_steps2r×   ÚparamÚ
bad_steps3Ú	bad_stepsÚmessageÚests              r:   Útest_step_name_validationr  Ð  sH  € ØL€OØD€OØV€OØœ4 ›7Ð# c¬4°«7 ^Ð4€JØœ˜Q›�. 3¬¨Q« .Ð1€JÜ  'Ð*¬\Ð;MÐ,NÐOó .‰
ˆˆUàœD ›G�n u¬d°1«gÐ&6Ð7ˆ
à˜Ð)Ø˜Ð)Ø˜¨5Ñ0Ð1ð#
ó 	.ÑˆI�wô —‘œz°Ô9ñ :ÙÑ)�u˜iÐ(Ñ)×-Ñ-°¨s¨e°a°SÔ9÷:ñ Ñ2˜ #¤t¨A£w Ð 0Ð1Ñ2ˆCÜ�C˜ 	Ô*Ü—‘œz°Ô9ñ $Ø—‘˜!˜˜ ˜sÔ#÷$ô —‘œz°Ô9ñ .Ø×!Ñ! A 3 %¨!¨Ô-÷.ñ Ñ2˜ #¤t¨A£w Ð 0Ð1Ñ2ˆCØˆC�N‰NÑ0˜e YÐ/Ò0Ü—‘œz°Ô9ñ $Ø—‘˜!˜˜ ˜sÔ#÷$ô —‘œz°Ô9ñ .Ø×!Ñ! A 3 %¨!¨Ô-÷.ñ .ò3	.ñ.÷:ñ :ú÷$ð $ú÷.ð .ú÷$ð $ú÷.ñ .ús<   ÂG:Ä HÄ9HÆHÇH+Ç:HÈHÈHÈH(È+H5c                  óº   — t        dt        dt        «       fg«      fg«      } | j                  dt        «       ¬«       | j                  dt	        «       fgd¬«       y )Nr7   r8   gü©ñÒMbP?)Úa__b__alphaÚa__brl  )Úa__stepsÚa__b__C)r   r   rR   r   r   )Ú	estimators    r:   Útest_set_params_nested_pipeliner  ö  sX   € Ü˜3¤¨3´Ó0@Ð*AÐ)BÓ CÐDÐEÓF€IØ×Ñ U´³ÐÔ9Ø×Ñ CÔ);Ó)=Ð#>Ð"?ÈÐÕKr<   c                  ór  — t         j                  } t         j                  }t        «       }	 t	        j
                  |d¬«      }t        dd¬«      }t        «       }t        dt        |«      fd|fg«      }t        d|fd|fg|¬«      }|j                  | |«       |j                  | |«       |j                  d   j                  }t        |j                  | «      |j                  | «      «       t        |j                  | «      |j                  | «      «       t        |j!                  | «      |j!                  | «      «       t        |j#                  | |«      |j#                  | |«      «       t        |j                  d   j$                  |j                  d   j$                  «       t'        |d	«      rJ ‚|j                  | |«       t        |j                  | «      |j                  | «      «       t        |j                  | «      |j                  | «      «       t        |j!                  | «      |j!                  | «      «       t        |j#                  | |«      |j#                  | |«      «       t        |j                  d   j$                  |j                  d   j$                  «       ||j                  d   j                  k(  sJ ‚t        dd¬«      }	t        «       }
t        d
|
fd|	fg|¬«      }|j                  | |«       t        |j                  | «      |j                  | «      «       t        |j                  | «      |j                  | «      «       t        |j!                  | «      |j!                  | «      «       t        |j#                  | |«      |j#                  | |«      «       t        |j                  d   j$                  |j                  d
   j$                  «       ||j                  d
   j                  k(  sJ ‚	 t)        j*                  |«       y # t)        j*                  |«       w xY w)Nr@  ©ÚlocationrR  Tr   rß   r½   rŸ   ©rQ  rŽ   Útransf_2)rÇ   rÈ   rÉ   r   ÚjoblibÚMemoryr#   r‹   r   r   rI   r­   r�   r/   rv   rz   r{   ry   rŽ   r‡  ÚshutilÚrmtree)rG   rH   ÚcachedirrQ  rœ   r½   rµ   Úcached_pipeÚtsÚclf_2r   Úcached_pipe_2s               r:   Útest_pipeline_memoryr*  ü  s{  € Ü�	‰	€AÜ�‰€AÜ‹y€Hð8 Ü—‘¨¸"Ô=ˆä˜d°Ô3ˆÜ“ˆÜ˜(¤E¨&£MÐ2°U¸C°LÐAÓBˆÜ ¨6Ð 2°U¸C°LÐAÈ&ÔQˆð 	�‰˜˜1ÔØ�‰��AŒà×$Ñ$ XÑ.×9Ñ9ˆä˜4Ÿ<™<¨›?¨K×,?Ñ,?ÀÓ,BÔCÜ˜4×-Ñ-¨aÓ0°+×2KÑ2KÈAÓ2NÔOÜ˜4×1Ñ1°!Ó4°k×6SÑ6SÐTUÓ6VÔWÜ˜4Ÿ:™: a¨Ó+¨[×->Ñ->¸qÀ!Ó-DÔEÜØ×Ñ˜XÑ&×-Ñ-¨{×/FÑ/FÀxÑ/P×/WÑ/Wô	
ô ˜6 8Ô,Ñ,ð 	�‰˜˜1Ôä˜4Ÿ<™<¨›?¨K×,?Ñ,?ÀÓ,BÔCÜ˜4×-Ñ-¨aÓ0°+×2KÑ2KÈAÓ2NÔOÜ˜4×1Ñ1°!Ó4°k×6SÑ6SÐTUÓ6VÔWÜ˜4Ÿ:™: a¨Ó+¨[×->Ñ->¸qÀ!Ó-DÔEÜØ×Ñ˜XÑ&×-Ñ-¨{×/FÑ/FÀxÑ/P×/WÑ/Wô	
ð �[×,Ñ,¨XÑ6×AÑAÒAÑAô  °1Ô5ˆÜ“=ˆÜ Ø˜(Ð# e¨U ^Ð4¸Vô
ˆð 	×Ñ˜!˜QÔô 	˜4Ÿ<™<¨›?¨M×,AÑ,AÀ!Ó,DÔEÜ˜4×-Ñ-¨aÓ0°-×2MÑ2MÈaÓ2PÔQÜØ×"Ñ" 1Ó% }×'FÑ'FÀqÓ'Iô	
ô 	˜4Ÿ:™: a¨Ó+¨]×-@Ñ-@ÀÀAÓ-FÔGÜØ×Ñ˜XÑ&×-Ñ-Ø×%Ñ% jÑ1×8Ñ8ô	
ð �]×.Ñ.¨zÑ:×EÑEÒEÑEÐEä�‰�hÕøŒ�‰�hÕús   ¬OP ÐP6c                  ó@  — t        «       } t        j                  | d¬«      }t        t	        «       t        «       |¬«      }|j                  |u sJ ‚t        t	        «       t        «       «      }|j                  �J ‚t        |«      dk(  sJ ‚t        j                  | «       y )Nr@  r  r  r¼   )
r   r!  r"  r   r‹   r#   rQ  r   r#  r$  )r%  rQ  r³   s      r:   Útest_make_pipeline_memoryr,  ;  sr   € Ü‹y€HÜ�]‰] H°bÔ9€FÜœ[›]¬C«E¸&ÔA€HØ�?‰?˜fÑ$Ñ$Üœ[›]¬C«EÓ2€HØ�?‰?Ð"Ñ"Üˆx‹=˜AÒÑä
‡M�M�(Õr<   c                   ó$   — e Zd Zdd„Zdd„Zdd„Zy)ÚFeatureNameSaverNc                 ó,   — | j                  |d¬«       | S )NT)Úreset)Ú_check_feature_namesrF   s      r:   rI   zFeatureNameSaver.fitH  s   € Ø×!Ñ! !¨4Ð!Ô0Øˆr<   c                 ó   — |S r5   rB   rF   s      r:   rX   zFeatureNameSaver.transformL  rY   r<   c                 ó   — |S r5   rB   )r9   r¹  s     r:   r¨  z&FeatureNameSaver.get_feature_names_outO  s   € ØÐr<   r5   )r>   r?   r@   rI   rX   r¨  rB   r<   r:   r.  r.  G  s   „ óóôr<   r.  c                  ó  — t        dt        «       fddt        «       fg¬«      } t        «       }| j	                  |j
                  |j                  «       t        | dd j                  |j                  «      |j                  «       y)z5Check pipeline.get_feature_names_out with passthroughr:  ©Úpassr¿   rœ   rc  Nr%  )
r   r.  r   r	   rI   rÈ   rÉ   r/   r¨  r¬  )rµ   rÇ   s     r:   Útest_features_names_passthroughr7  S  su   € äàÔ&Ó(Ð)Ø#ØÔ&Ó(Ð)ð
ô€Dô ‹;€DØ‡H�HˆT�Y‰Y˜Ÿ™Ô$ÜØˆSˆbˆ	×'Ñ'¨×(:Ñ(:Ó;¸T×=OÑ=Oõr<   c                  ó&  — t        dt        «       fdt        «       fg¬«      } t        D �cg c]  }d|v ‘Œ }}| j	                  t        |«       t        | dd j                  «       g d¢«       t        | dd j                  d«      g d¢«       yc c}w )	z5Check pipeline.get_feature_names_out with vectorizersÚvectrœ   rc  ÚpizzaNr%  )ÚbeerÚburgerÚcokeÚ	copyrightr:  ÚtheÚnonsense_is_ignored)r   r   r   r›  rI   r/   r¨  )rµ   r¹   rH   s      r:   Ú#test_feature_names_count_vectorizerrA  c  s‹   € ä˜F¤OÓ$5Ð6¸Ô@RÓ@TÐ8UÐVÔW€DÜ-Ö.˜!ˆ�AŠÐ.€AÐ.Ø‡H�HŒ^˜QÔÜØˆSˆbˆ	×'Ñ'Ó)Ú?ôô ØˆSˆbˆ	×'Ñ'Ð(=Ó>Ú?õùò 	/s   «Bc                  ó  — t        dt        «       fg¬«      } t        «       }| j                  |j                  |j
                  «       d}t        j                  t        |¬«      5  | j                  «        ddd«       y# 1 sw Y   yxY w)zZCheck that error is raised when a transformer does not define
    `get_feature_names_out`.Únotransrc  z&does not provide get_feature_names_outr�   N)
r   rD   r	   rI   rÈ   rÉ   r¨   r©   rò   r¨  )rµ   rÇ   r´   s      r:   Ú8test_pipeline_feature_names_out_error_without_definitionrD  r  si   € ô ˜I¤w£yÐ1Ð2Ô3€DÜ‹;€DØ‡H�HˆT�Y‰Y˜Ÿ™Ô$à
2€CÜ	�‰”~¨SÔ	1ñ %Ø×"Ñ"Ô$÷%÷ %ñ %ús   Á%A?Á?Bc                  óÂ   — t        t        «       «      } t        j                  t        d¬«      5  | j                  dgdggddgddg¬«       d d d «       y # 1 sw Y   y xY w)Nz8Pipeline.fit does not accept the sample_weight parameterr�   r   rr   rÑ   )r   r   r¨   r©   r±   rI   )rœ   s    r:   Útest_pipeline_param_errorrF  ~  s[   € Ü
Ô*Ó,Ó
-€CÜ	�‰ÜÐTô
ñ :ð 	�‰�!��q�c�
˜Q ˜F°1°a°&ˆÔ9÷:÷ :ñ :ús   ¯AÁAc              #   ó¬   K  — | ]L  \  \  }}}t        ||«      r8|d k(  r,t        |d«      r t        |j                  d   d   t        «      s|||f–— ŒN y­w)rï   rS  r%  rr   N)r‡  ró   rS  r~   )Ú.0r  Úpatternr  s       r:   ú	<genexpr>rJ  †  s^   è ø€ ò <á‰ˆˆg˜ôh ˆs�FÔà�/Ò!Ü�C˜Ô!Ü�s—y‘y ‘} QÑ'¬Ô3ðs 	ˆ'�6Ôñ<ùs   ‚AAr½   rœ   zv\[Pipeline\].*\(step 1 of 2\) Processing transf.* total=.*\n\[Pipeline\].*\(step 2 of 2\) Processing clf.* total=.*\n$)ÚnoopNz°\[Pipeline\].*\(step 1 of 3\) Processing transf.* total=.*\n\[Pipeline\].*\(step 2 of 3\) Processing noop.* total=.*\n\[Pipeline\].*\(step 3 of 3\) Processing clf.* total=.*\n$)rK  r¿   )rœ   N)r½   Nri   zw\[Pipeline\].*\(step 1 of 2\) Processing transf.* total=.*\n\[Pipeline\].*\(step 2 of 2\) Processing mult.* total=.*\n$)r½   r¿   Úmult1ri  z\[FeatureUnion\].*\(step 1 of 2\) Processing mult1.* total=.*\n\[FeatureUnion\].*\(step 2 of 2\) Processing mult2.* total=.*\n$)rL  rÊ  )rq  rÊ  z@\[FeatureUnion\].*\(step 1 of 1\) Processing mult2.* total=.*\n$)rI   rï   r‡   zest, pattern, methodc                 óF  — t        | |«      }g d¢g d¢g}dgdgg}| j                  d¬«        |||«       |j                  «       j                  rJ d«       ‚| j                  d¬«        |||«       t	        j
                  ||j                  «       j                  «      sJ ‚y )	N©rr   r¼   rÐ   )r'  rl  r�  r�  rÒ   F)rR  zGot output for verbose=FalseT)r  rR   Ú
readouterrÚoutr¯   rž   )r  r  rI  ÚcapsysÚfuncrG   rH   s          r:   Útest_verboserS  Å  s‘   € ä�3˜Ó€Dâ	’IÐ€AØ
ˆˆqˆcˆ
€Aà‡N�N˜5€NÔ!ÙˆˆA„JØ× Ñ Ó"×&Ò&ÐFÐ(FÔFà‡N�N˜4€NÔ ÙˆˆA„JÜ�8‰8�G˜V×.Ñ.Ó0×4Ñ4Ô5Ñ5Ð5r<   c                  ó²  — ddgddgddgg} g d¢}t        «       }t        «       }t        ||«      }t        |d«      rJ ‚|j	                  | |«       |j
                  |j
                  cxk(  rdk(  sJ ‚ J ‚t        «       }t        «       }t        ||«      }|j	                  | |«       |j
                  |j
                  cxk(  rdk(  sJ ‚ J ‚t        |d«      rJ ‚y ©	Nrr   r¼   rÐ   r'  rl  r�  ©r   rr   r¼   Ún_features_in_)r"   r   r   r‡  rI   rW  )rG   rH   ÚssÚgbdtrµ   s        r:   Útest_n_features_in_pipelinerZ  Õ  sØ   € ð ˆQˆ�!�Q�˜!˜Q˜Ð €AÚ€Aä	Ó	€BÜ)Ó+€DÜ˜˜TÓ"€DÜ�tÐ-Ô.Ñ.Ø‡H�HˆQ�„NØ×Ñ "×"3Ñ"3Ô8°qÒ8Ñ8Ð8Ñ8ô 
Ó	€BÜ)Ó+€DÜ˜˜TÓ"€DØ‡F�Fˆ1ˆa„LØ×Ñ "×"3Ñ"3Ô8°qÒ8Ñ8Ð8Ñ8Ü�tÐ-Ô.Ñ.Ð.r<   c                  ój  — ddgddgddgg} g d¢}t        «       }t        |«      }t        |d«      rJ ‚|j                  | |«       |j                  |j                  cxk(  rdk(  sJ ‚ J ‚t        «       }t        |«      }|j                  | |«       |j                  |j                  cxk(  rdk(  sJ ‚ J ‚y rU  )r"   r    r‡  rI   rW  )rG   rH   rX  r9  s       r:   Ú test_n_features_in_feature_unionr\  ì  s´   € ð ˆQˆ�!�Q�˜!˜Q˜Ð €AÚ€Aä	Ó	€BÜ	�B‹€BÜ�rÐ+Ô,Ñ,Ø‡F�Fˆ1ˆa„LØ×Ñ × 1Ñ 1Ô6°QÒ6Ñ6Ð6Ñ6ô 
Ó	€BÜ	�B‹€BØ‡F�Fˆ1ˆa„LØ×Ñ × 1Ñ 1Ô6°QÒ6Ñ6Ð6Ñ6Ð6r<   c                  óò  —  G d„ dt         t        «      } t        j                  t        j                  }}t        d | «       fd | «       fg«      }t        j                  t        «      5  |j                  ||«       d d d «       t        j                  t        «      5  |j                  ||«       d d d «       |j                  ||d¬«       |j                  ||d¬«       y # 1 sw Y   ŒfxY w# 1 sw Y   Œ>xY w)Nc                   ó   — e Zd Zdd„Zdd„Zy)ú7test_feature_union_fit_params.<locals>.DummyTransformerNc                 ó    — |ddik7  rt         ‚| S )Nr7   r   ©r±   rc   s       r:   rI   z;test_feature_union_fit_params.<locals>.DummyTransformer.fit  s   € Ø˜c 1˜XÒ%Ü Ð ØˆKr<   c                 ó   — |S r5   rB   rF   s      r:   rX   zAtest_feature_union_fit_params.<locals>.DummyTransformer.transform  s   € ØˆHr<   r5   )r>   r?   r@   rI   rX   rB   r<   r:   ÚDummyTransformerr_    s   „ ó	ô
	r<   rc  Údummy0Údummy1r   rP   )r   r   rÇ   rÈ   rÉ   r   r¨   r©   r±   rI   rï   ©rc  rG   rH   r¥   s       r:   Útest_feature_union_fit_paramsrg     sÊ   € ôÔ+¬]ô ô �9‰9”d—k‘k€q€AÜ�xÑ!1Ó!3Ð4°xÑAQÓASÐ6TÐUÓV€AÜ	�‰”zÓ	"ñ Ø	�‰ˆa�Œ÷ô 
�‰”zÓ	"ñ Ø	�‰˜˜1Ô÷ð ‡E�Eˆ!ˆQ�!€EÔØ‡O�O�A�q˜A€OÕ÷ð ú÷ð ús   Á)C!ÂC-Ã!C*Ã-C6c                  óD  —  G d„ dt         «      } t        j                  t        j                  }}t	        d | «       fd | «       fg«      }t        j                  t        «      5  |j                  ||d¬«       d d d «       |j                  ||d¬«       y # 1 sw Y   ŒxY w)Nc                   ó   — e Zd Zdd„Zy)úMtest_feature_union_fit_params_without_fit_transform.<locals>.DummyTransformerNc                 ó    — |ddik7  rt         ‚| S )NÚmetadatarr   ra  rc   s       r:   rI   zQtest_feature_union_fit_params_without_fit_transform.<locals>.DummyTransformer.fit  s   € Ø˜j¨!˜_Ò,Ü Ð ØˆKr<   r5   rd   rB   r<   r:   rc  rj    s   „ ô	r<   rc  Únofittransform0Únofittransform1r   )rl  rr   )	r$   rÇ   rÈ   rÉ   r   r¨   r©   r±   rï   rf  s       r:   Ú3test_feature_union_fit_params_without_fit_transformro    s’   € ôÔ=ô ô �9‰9”d—k‘k€q€AÜàÑ 0Ó 2Ð3ØÑ 0Ó 2Ð3ð	
ó	€Aô 
�‰”zÓ	"ñ *Ø	�‰˜˜1 qˆÔ)÷*ð ‡O�O�A�q 1€OÕ%÷*ð *ús   Á$BÂBc                  óv  — t         j                  t         j                  }} t        j                  j                  ddg| j                  ddg¬«      j                  t        «      }t        j                  | |<   t        t        «       t        «       «      }|j                  | |«      j                  | |«      dkD  sJ ‚y )Nrr   r   r£   gÍÌÌÌÌÌì?)Úpgš™™™™™Ù?)rÇ   rÈ   rÉ   rm   ÚrandomÚchoicerî   ÚastypeÚboolÚnanr   r   r   rI   ry   )rG   rH   Úmaskrµ   s       r:   Ú%test_pipeline_missing_values_leniencyrx  /  s‹   € ô �9‰9”d—k‘k€q€AÜ�9‰9×Ñ˜Q ˜F A§G¡G°°S¨zÐÓ:×AÑAÄ$ÓG€DÜ�f‰f€A€d�GÜœ›Ô*<Ó*>Ó?€DØ�8‰8�A�q‹>×Ñ  1Ó%¨Ò+Ñ+Ð+r<   c                  óæ   — ddgddgddgg} g d¢}dt        «       fg}d	di}d
}t        ||¬«      }t        j                  t        |¬«      5  |j                  | |«       d d d «       y # 1 sw Y   y xY w)Nrr   r¼   rÐ   r'  rl  r�  rV  r½   ÚtransformerzZAttempting to weight transformer "transformer", but it is not present in transformer_list.rA  r�   )r[   r   r¨   r©   r±   rI   )rG   rH   r,  ÚweightsÚexpected_msgr   s         r:   Ú3test_feature_union_warns_unknown_transformer_weightr}  9  s„   € ð ˆQˆ�!�Q�˜!˜Q˜Ð €AÚ€Aà!¤6£8Ð,Ð-Ðà˜aÐ €Gð	5ð ô Ð)¸wÔG€EÜ	�‰”z¨Ô	6ñ Ø�	‰	�!�QŒ÷÷ ñ ús   ÁA'Á'A0c                 óV   — t        | t        «       «      }|j                  «       d   rJ ‚y )NÚpairwise)r   r#   Ú	_get_tags)r¿   rµ   s     r:   Útest_pipeline_get_tags_noner�  K  s'   € ô ˜¤c£eÓ,€DØ�~‰~Ó 
Ò+Ñ+Ð+r<   Ú	Predictorc                 ó\  — t         j                  j                  d«      }|j                  dd«      t        j                  dgdz  dgdz  z   «      }}t        dt        «       fd | «       fg«      }|j                  ||«       |j                  |«      }t        |«      rAt        |d«       |j                  ||«      t        j                  t        ||«      «      k(  sJ ‚y t        ||j!                  «       «       |j                  ||«      t        j                  t#        ||«      «      k(  sJ ‚y )	Nr   é   r¼   rl  rr   é   rz  Ú	predictor)rm   rr  ÚRandomStateÚrandnrÀ   r   r,   rI   rv   r   r/   ry   r¨   Úapproxr   r-   r�   r   )r‚  ÚrngrG   rH   ÚmodelÚy_preds         r:   Ú1test_search_cv_using_minimal_compatible_estimatorr�  W  sù   € ô �)‰)×
Ñ
 Ó
"€CØ�9‰9�R˜ÓœRŸX™X q c¨A¡g°°°b±Ñ&8Ó9€q€AäØ
Ô+Ó-Ð	.°¹i»kÐ0JÐKó€Eð 
‡I�Iˆa�„Oà�]‰]˜1Ó€FÜ�UÔÜ˜6 1Ô%Ø�{‰{˜1˜aÓ ¤F§M¡M´.ÀÀFÓ2KÓ$LÒLÑLÐLä˜ §¡£Ô)Ø�{‰{˜1˜aÓ ¤F§M¡M´(¸1¸fÓ2EÓ$FÒFÑFÐFr<   c                  ó,  —  G d„ dt         «      } t        d | «       fg«      }t        j                  t        «      5  t        |«       d d d «       |j                  t        j                  t        j                  «       t        |«       y # 1 sw Y   ŒCxY w)Nc                   ó   — e Zd Zd„ Zy)ú0test_pipeline_check_if_fitted.<locals>.Estimatorc                 ó   — d| _         | S )NT)Úfitted_rF   s      r:   rI   z4test_pipeline_check_if_fitted.<locals>.Estimator.fitn  s   € ØˆDŒLØˆKr<   Nrd   rB   r<   r:   Ú	Estimatorr�  m  s   „ ó	r<   r“  rœ   )
r   r   r¨   r©   r   r1   rI   rÇ   rÈ   rÉ   )r“  r³   s     r:   Útest_pipeline_check_if_fittedr”  l  sk   € ô”Mô ô
 ˜%¡£Ð-Ð.Ó/€HÜ	�‰”~Ó	&ñ "Ü˜Ô!÷"à‡L�L”—‘œDŸK™KÔ(Ü�HÕ÷"ð "ús   ¼B
Â
Bc                  ó  — ddgddgddgg} g d¢}t        dt        «       fg«      }t        j                  t        «      5  t        |«       d	d	d	«       |j                  | |«       t        |«       t        d
g«      }t        |«       t        dt        «       fd
g«      }t        j                  t        «      5  t        |«       d	d	d	«       |j                  | |«       t        |«       y	# 1 sw Y   ŒŸxY w# 1 sw Y   Œ3xY w)z1Check __sklearn_is_fitted__ is defined correctly.rr   r¼   rÐ   r'  rl  r�  rV  rœ   Nr5  )r   r,   r¨   r©   r   r1   rI   )rG   rH   r   s      r:   Ú"test_feature_union_check_if_fittedr–  y  sè   € ð ˆQˆ�!�Q�˜!˜Q˜Ð €AÚ€Aä˜5Ô"4Ó"6Ð7Ð8Ó9€EÜ	�‰”~Ó	&ñ Ü˜Ô÷ð 
‡I�Iˆa�„OÜ�EÔô Ð1Ð2Ó3€EÜ�EÔä˜5Ô"4Ó"6Ð7Ð9PÐQÓR€EÜ	�‰”~Ó	&ñ Ü˜Ô÷ð 
‡I�Iˆa�„OÜ�EÕ÷ð ú÷ð ús   ¿C)Â7C5Ã)C2Ã5C>c                  ó>  — t         j                  t         j                  }}  G d„ dt        «      }t	         |«       t        «       «      }|j                  | |«       t         j                  }|j                  |«      }t        ||D �cg c]  }d|› �‘Œ	 c}«       yc c}w )zRCheck that pipeline passes names through.

    Non-regresion test for #21349.
    c                   ó    ‡ — e Zd Zdˆ fd„	Zˆ xZS )úYtest_pipeline_get_feature_names_out_passes_names_through.<locals>.AddPrefixStandardScalarc                 ó†   •— t         ‰| �  |¬«      }t        j                  |D �cg c]  }d|› �‘Œ	 c}t        ¬«      S c c}w )Nr¸  Ú
my_prefix_)Údtype)Úsuperr¨  rm   rn   Úobject)r9   r¹  r:  rt  Ú	__class__s       €r:   r¨  zotest_pipeline_get_feature_names_out_passes_names_through.<locals>.AddPrefixStandardScalar.get_feature_names_outš  s;   ø€ Ü‘GÑ1ÀÐ1ÓPˆEÜ—:‘:¸uÖE°t ¨D¨6Ò2ÒEÌVÔTÐTùÒEs   ¥>r5   )r>   r?   r@   r¨  Ú__classcell__)rŸ  s   @r:   ÚAddPrefixStandardScalarr™  ™  s   ø„ ÷	Uñ 	Ur<   r¡  r›  N)	rÇ   rÈ   rÉ   r"   r   rI   r¬  r¨  r/   )rG   rH   r¡  rµ   Úinput_namesrû  rt  s          r:   Ú8test_pipeline_get_feature_names_out_passes_names_throughr£  ’  s�   € ô
 �9‰9”d—k‘k€q€AôU¤.ô Uô
 Ñ0Ó2´NÓ4DÓE€DØ‡H�HˆQ�„Nä×$Ñ$€KØ×2Ñ2°;Ó?ÐäÐ(È;Ö*WÀ4¨Z¸°vÒ+>Ò*WÕXùÒ*Ws   ÂB
c                  ó*  — t        j                  d«       t        dd¬«      \  } }t        t	        «       t        «       «      }|j                  d¬«       |j                  | |«       |dd j                  «       }|d   j                  }t        ||«       y)z.Test pipeline's set_output with feature names.r÷  T©Úas_frameÚ
return_X_y©rX   Nr%  )r¨   rü  r	   r   r"   r   Ú
set_outputrI   r¨  Úfeature_names_in_r/   )rG   rH   rµ   rª  Úlog_reg_feature_namess        r:   Ú$test_pipeline_set_output_integrationr¬  §  s   € ä
×Ñ˜Ô!ä˜d¨tÔ4�D€A€qäœÓ)Ô+=Ó+?Ó@€DØ‡O�O˜h€OÔ'Ø‡H�HˆQ�„Nà˜S˜b˜	×7Ñ7Ó9ÐØ  ™H×6Ñ6ÐäÐ(Ð*?Õ@r<   c                  óÐ  — t        j                  d«      } t        dd¬«      \  }}t        |d¬«      \  }}t	        dt        «       fdt        «       fg«      }|j                  d¬«       |j                  |«       |j                  |«      }t        || j                  «      sJ ‚t        |j                  |j                  «       «       t        |j                  |j                  «       y	)
z'Test feature union with set_output API.r÷  Tr¥  r   r±  Úscalarrè   r¨  N)r¨   rü  r	   r   r   r"   r
   r©  rI   rX   ró   rý  r/   rã  r¨  Úindex)rþ  rG   ru  ÚX_trainÚX_testr   rE  s          r:   Útest_feature_union_set_outputr²  ·  s´   € ä	×	Ñ	˜XÓ	&€Bä˜d¨tÔ4�D€A€qÜ& q°qÔ9�O€GˆVÜ˜8¤^Ó%5Ð6¸ÄÃ¸ÐGÓH€EØ	×Ñ˜xÐÔ(Ø	‡I�IˆgÔà�o‰o˜fÓ%€GÜ�g˜rŸ|™|Ô,Ñ,Ü�w—‘¨×(CÑ(CÓ(EÔFÜ�w—}‘} f§l¡lÕ3r<   c                  óž   — t        «       } t        «       }t        d| fd|fddg«      }|d   | u sJ ‚|d   |u sJ ‚|d   dk(  sJ ‚|d   dk(  sJ ‚y	)
z8Check FeatureUnion.__getitem__ returns expected results.r®  rè   r5  )Údrop_merÊ  r6  r¿   r´  rÊ  N)r"   r
   r   )r®  rè   r   s      r:   Útest_feature_union_getitemrµ  Ç  sw   € äÓ€FÜ
‹%€CÜà�vÐØ�CˆLØ#Øð		
ó€Eð �‰?˜fÑ$Ñ$Ø�‰<˜3ÑÑØ�‰=˜MÒ)Ñ)Ø�Ñ˜vÒ%Ñ%Ð%r<   Úkeyr¼   c                 ó´   — t        dt        «       fdt        «       fg«      }d}t        j                  t
        |¬«      5  ||     ddd«       y# 1 sw Y   yxY w)z5Raise error when __getitem__ gets a non-string input.r®  rè   zOnly string keys are supportedr�   N)r   r"   r
   r¨   r©   r_  )r¶  r   r´   s      r:   Ú test_feature_union_getitem_errorr¸  Ù  sP   € ô ˜8¤^Ó%5Ð6¸ÄÃ¸ÐGÓH€Eà
*€CÜ	�‰”x sÔ	+ñ ØˆcŠ
÷÷ ñ ús   ¿AÁAc                  óH  — t        j                  d«       t        dd¬«      \  } }t        «       }|j	                  | «       t        d|fg«      }t        |d«      sJ ‚t        | j                  |j                  «       t        |j                  |j                  «       t        dg«      }|j	                  | «       t        |d«      sJ ‚t        | j                  |j                  «       | j                  «       }t        dg«      }|j	                  |«       t        |d«      rJ ‚y)zxEnsure feature union has `.feature_names_in_` attribute if `X` has a
    `columns` attribute.

    Test for #24754.
    r÷  Tr¥  Úscalerª  r5  N)r¨   rü  r	   r"   rI   r   r‡  r/   rã  rª  Úto_numpy)rG   ru  r  r   ÚX_arrays        r:   Ú$test_feature_union_feature_names_in_r½  ä  sö   € ô ×Ñ˜Ô!ä˜d¨tÔ4�D€A€qô Ó€FØ
‡J�Jˆq„MÜ˜7 FÐ+Ð,Ó-€EÜ�5Ð-Ô.Ñ.Ü�q—y‘y %×"9Ñ"9Ô:Ü�v×/Ñ/°×1HÑ1HÔIô Ð1Ð2Ó3€EØ	‡I�Iˆa„LÜ�5Ð-Ô.Ñ.Ü�q—y‘y %×"9Ñ"9Ô:ð �j‰j‹l€GÜÐ1Ð2Ó3€EØ	‡I�IˆgÔÜ�uÐ1Ô2Ñ2Ð2r<   c                  óà  — t         j                  j                  d«      j                  d¬«      } t	        dt        d¬«      fg«      }|j                  | «      } t        j                  t        d¬«      5  |j                  «        d d d «       t        j                  t        d	¬«      5  |j                  | | ¬
«       d d d «       t        j                  d¬«      5  t        j                  d«       |j                  | «       d d d «       t        j                  t        d¬«      5  |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)Nr   )r@  rl  )Úsizerè   r¼   )ræ   z$Missing required positional argumentr�   z$Cannot use both X and Xt. Use X only)rG   ÚXtT)ÚrecordÚerrorzXt was renamed X in version 1.5)rÀ  )rm   rr  r‡  Únormalr   r
   rï   r¨   r©   rª   r^   ÚwarningsÚcatch_warningsÚsimplefilterÚwarnsÚFutureWarningrÁ   s     r:   Ú.test_pipeline_inverse_transform_Xt_deprecationrÉ    s1  € Ü
�	‰	×Ñ˜aÓ ×'Ñ'¨WÐ'Ó5€AÜ�eœS¨aÔ0Ð1Ð2Ó3€DØ×Ñ˜1Ó€Aä	�‰”yÐ(NÔ	Oñ !Ø×ÑÔ ÷!ô 
�‰”yÐ(NÔ	Oñ *Ø×Ñ  qÐÔ)÷*ô 
×	 Ñ	 ¨Ô	-ñ "Ü×Ñ˜gÔ&Ø×Ñ˜qÔ!÷"ô 
�‰”mÐ+LÔ	Mñ %Ø×Ñ !ÐÔ$÷%ð %÷!ð !ú÷*ð *ú÷"ð "ú÷%ð %ús0   Á4E Â(EÃ'EÄ$E$Å E	ÅEÅE!Å$E-c                   ó\   — e Zd Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Z	dd	„Z
dd
„Zdd„Zy)ÚSimpleEstimatorNc                 ó   — |€J ‚|€J ‚| S r5   rB   ©r9   rG   rH   r‰   Úprops        r:   rI   zSimpleEstimator.fit  s   € ØÐ(Ñ(ØÐÑØˆr<   c                 ó   — |€J ‚|€J ‚y r5   rB   rÍ  s        r:   rï   zSimpleEstimator.fit_transform$  ó   € ØÐ(Ñ(ØÐÑÐr<   c                 ó   — |€J ‚|€J ‚y r5   rB   rÍ  s        r:   r‡   zSimpleEstimator.fit_predict(  rÐ  r<   c                 ó   — |€J ‚|€J ‚y r5   rB   ©r9   rG   r‰   rÎ  s       r:   rv   zSimpleEstimator.predict,  rÐ  r<   c                 ó   — |€J ‚|€J ‚y r5   rB   rÓ  s       r:   rz   zSimpleEstimator.predict_proba0  rÐ  r<   c                 ó   — |€J ‚|€J ‚y r5   rB   rÓ  s       r:   r{   z!SimpleEstimator.predict_log_proba4  rÐ  r<   c                 ó   — |€J ‚|€J ‚y r5   rB   rÓ  s       r:   r|   z!SimpleEstimator.decision_function8  rÐ  r<   c                 ó   — |€J ‚|€J ‚y r5   rB   rÍ  s        r:   ry   zSimpleEstimator.score<  rÐ  r<   c                 ó   — |€J ‚|€J ‚y r5   rB   rÓ  s       r:   rX   zSimpleEstimator.transform@  rÐ  r<   c                 ó   — |€J ‚|€J ‚y r5   rB   rÓ  s       r:   r^   z!SimpleEstimator.inverse_transformD  rÐ  r<   r=   )r>   r?   r@   rI   rï   r‡   rv   rz   r{   r|   ry   rX   r^   rB   r<   r:   rË  rË    s4   „ óó
 ó ó ó ó ó ó ó ô r<   rË  Úenable_slep006r  ÚsplitÚpartial_fitc                 óö  — d„ }dggdg}}dgdd}}}t        «       } ||| dd¬«      } ||ddd¬«      }t        «       j                  dd¬«      j                  dd¬«      j	                  dd¬«      }t        d	|fd
|fg«      }	d| vr|	j                  dggdg|||¬«      }		  t        |	| «      |||||¬«       t        |d||¬«       t        |d||¬«       y# t        $ r  t        |	| «      ||||¬«       Y Œ@w xY w)z5Test that metadata is routed correctly for pipelines.c                 ój   — |t         v r
t         |   }n|g}|D ]  } t        | d|› d�«      di |¤Ž Œ | S )z Set requests for a given method.

        If the given method is a composite method, set the same requests for
        all the methods that compose it.
        Úset_Ú_requestrB   )r(   r  )r  r  ÚkwargÚmethodss       r:   Úset_requestz7test_metadata_routing_for_pipeline.<locals>.set_requestO  sO   € ð Ô&Ñ&Ü'¨Ñ/‰Gà�hˆGàò 	;ˆFØ1ŒG�C˜4 ˜x xÐ0Ó1Ñ:°EÓ:ð	;àˆ
r<   rr   r7   r8   T©r‰   rÎ  rI   ©r‰   rl  Útrsr  )r‰   rÎ  rl  )Úobjr  r‰   rl  rX   N)
rË  r%   Úset_fit_requestÚset_transform_requestÚset_inverse_transform_requestr   rI   r  rª   r'   )
r  rã  rG   rH   r‰   rÎ  rl  r  ræ  r³   s
             r:   Ú"test_metadata_routing_for_pipelinerë  I  sB  € òð ˆCˆ5�1�#€q€AØ%& C¨¨c˜�4€Mô Ó
€CÙ
�c˜6°¸DÔ
A€CÙ
�c˜5°¸4Ô
@€CäÓß	‰ t°dˆÓ	;ß	Ñ	¨T¸DÐ	Ó	Aß	&Ñ	&°TÀDÐ	&Ó	Ið	 ô ˜% ˜¨°SÐ'9Ð:Ó;€Hà�FÑØ—<‘<ØˆSˆE�A�3 m¸$Èð  ó 
ˆð
Ø!Œ�˜&Ó!Øˆq °DÀ8õ	
ô Ø˜¨]ÀXõô Ø˜°=È8öøô ò 
à!Œ�˜&Ó!Ø˜]°À÷	
ð
ús   Â C ÃC8Ã7C8c                 óR  — dggdg}}dgd}}t        «       }t        d|fg«      }d| › �}t        j                  t        t        j                  |«      ¬«      5  	  t        || «      ||||¬«       ddd«       y# t        $ r  t        || «      |||¬«       Y Œ)w xY w# 1 sw Y   yxY w)zBTest that metadata is not routed for pipelines when not requested.rr   r7   r  zn[sample_weight, prop] are passed but are not explicitly set as requested or not requested for SimpleEstimator.r�   rä  N)	rË  r   r¨   r©   r±   r¯   r°   r  rª   )r  rG   rH   r‰   rÎ  r  r³   Úerror_messages           r:   Ú(test_metadata_routing_error_for_pipelinerî  †  sË   € ð ˆCˆ5�1�#€q€AØ˜#˜s�4€MÜ
Ó
€Cä˜+ sÐ+Ð,Ó-€Hð	1Ø17°ð	:ð ô 
�‰”z¬¯©°=Ó)AÔ	Bñ Qð	Qà%ŒG�H˜fÓ% a¨¸-ÈdÕS÷Qð Qøô ò 	Qð &ŒG�H˜fÓ% a°}È4×Pð	Qú÷	Qð Qús*   ÁBÁA9Á9BÂBÂBÂBÂB&)r|   rX   r^   c                 óÀ   — t        dt        «       fg«      }t        j                  t        d¬«      5   t        || «      dggdgd¬«       ddd«       y# 1 sw Y   yxY w)z�Test that the right error message is raised when metadata is passed while
    not supported when `enable_metadata_routing=False`.r  z1is only supported if enable_metadata_routing=Truer�   rr   r7   rä  N)r   rË  r¨   r©   r±   r  )r  rµ   s     r:   Ú*test_routing_passed_metadata_not_supportedrð     sa   € ô �k¤?Ó#4Ð5Ð6Ó7€Dä	�‰ÜÐMô
ñ Bð 	Œ��fÓ ˜s˜e°A°3¸SÕA÷B÷ Bñ Bús   ²AÁAc                  ó–   — t        dt        «       fdt        «       fg«      } | j                  dggdg«       | j	                  dgg«       y)zFTest that pipeline works with estimators that have a `__len__` method.ræ  r  rr   N)r   r   r   rI   rv   r  s    r:   Ú%test_pipeline_with_estimator_with_lenrò  ¯  sN   € ô Ø
Ô%Ó'Ð	(¨;Ô8NÓ8PÐ*QÐRó€Dð 	‡H�HˆqˆcˆU�Q�CÔØ‡L�L�1�#�Õr<   Ú	last_stepc                 ó    — t        dt        «       fd| fg«      }|j                  dggdg«      j                  dgdgdgg«      dgdgdggk(  sJ ‚y)z�Test that the pipeline works when there is not last step.

    It should just ignore and pass through the data on transform.
    ræ  r  rr   r¼   rÐ   N)r   r!   rI   rX   )ró  rµ   s     r:   Útest_pipeline_with_no_last_steprõ  ¹  sc   € ô �eÔ0Ó2Ð3°kÀ9Ð5MÐNÓO€DØ�8‰8�a�S�E˜A˜3Ó×)Ñ)¨A¨3°°°a°S¨/Ó:À¸sÀQÀCÈ!È¸oÒMÑMÐMr<   c                  ó¢  — t        j                  ddgddgddgg«      } g d¢}g d¢d}}t        d	t        «       fg«      }d
t        j                  › d�}t        j                  t        t        j                  |«      ¬«      5  |j                  | |||¬«       ddd«       t        d	t        «       j                  dd¬«      fg«      }d
t        j                  › d�}t        j                  t        t        j                  |«      ¬«      5  |j                  | |||¬«      j                  | ||¬«       ddd«       y# 1 sw Y   Œ£xY w# 1 sw Y   yxY w)zCTest that the right error is raised when metadata is not requested.r   rr   r¼   r'  r�  rN  ©rr   rr   rr   r7   Úsub_transformerzb[sample_weight, metadata] are passed but are not explicitly set as requested or not requested for z.fitr�   rå  NTz
.transform)rm   rÀ   r   r%   r>   r¨   r©   r   r¯   r°   rI   rè  rX   )rG   rH   r‰   rl  Úfeature_unionrí  s         r:   Ú)test_feature_union_metadata_routing_errorrú  Ä  sm  € ô 	�‰�1�a�&˜1˜a˜& 1 a &Ð)Ó*€AÚ€AÚ'¨�8€Mô !Ð#4Ô6JÓ6LÐ"MÐ!NÓO€Mð	!Ü!5×!>Ñ!>Ð ?¸tð	Eð ô
 
�‰Ô/´r·y±yÀÓ7OÔ	Pñ PØ×Ñ˜!˜Q¨mÀhÐÔO÷Pô !ð "Ü$Ó&×6Ñ6Ø"&°ð 7ó ðð	
ó	€Mð	 Ü 4× =Ñ =Ð>¸jð	Jð ô
 
�‰Ô/´r·y±yÀÓ7OÔ	Pñ GØ×ÑØˆq ¸ð 	ó 	
ç
‰)�A ]¸Xˆ)Ô
F÷Gð G÷)Pð Pú÷(Gð Gús   ÂD9Ä(EÄ9EÅEc                  óP   — t        dt        «       fg«      } | j                  «        y)zaTest that get_metadata_routing() works regardless of the Child's
    consumption of any metadata.rø  N)r   r%   Úget_metadata_routing)rù  s    r:   Ú3test_feature_union_get_metadata_routing_without_fitrý  í  s'   € ô !Ð#4Ô6JÓ6LÐ"MÐ!NÓO€MØ×&Ñ&Õ(r<   rz  c                 ób  — t        j                  ddgddgddgg«      }g d¢}g d¢d}}t        d	 | t        «       ¬
«      j	                  dd¬«      j                  dd¬«      fd | t        «       ¬
«      j	                  dd¬«      j                  dd¬«      fg«      }||dœ} |j                  ||fi |¤Ž  |j                  ||fi |¤Ž   |j                  ||fi |¤Žj                  |fi |¤Ž |j                  D ]3  } | d   j                  }t        |«      sJ ‚|D ]  }t        d|ddœ|¤Ž Œ Œ5 y)z8Test that metadata is routed correctly for FeatureUnion.r   rr   r¼   r'  r�  rN  r÷  r7   Ú
sub_trans1)ÚregistryTrå  Ú
sub_trans2rI   )rç  r  NrB   )rm   rÀ   r   r&   rè  ré  rI   rï   rX   r,  r   r   r'   )	rz  rG   rH   r‰   rl  rù  Úkwargsr   Ú	sub_transs	            r:   Ú#test_feature_union_metadata_routingr  õ  sd  € ô 	�‰�1�a�&˜1˜a˜& 1 a &Ð)Ó*€AÚ€AÚ'¨�8€Mä ð Ù¤Y£[Ô1ß ‘¨t¸d�ÓCß&Ñ&°TÀDÐ&ÓIð	ð Ù¤Y£[Ô1ß ‘¨t¸d�ÓCß&Ñ&°TÀDÐ&ÓIð	ð	
ó€Mð"  -¸(ÑC€FØ€M×Ñ�a˜Ñ%˜fÒ%Ø€M×Ñ  1Ñ/¨Ò/Ø/Ð€M×Ñ�a˜Ñ%˜fÑ%×/Ñ/°Ñ<°VÒ<à$×5Ñ5ò 	ˆà˜q‘>×*Ñ*ˆÜ�8Œ}ÑØ!ò 	ˆIÜ#ð ØØñð óñ	ñ		r<   )¯rA   Ú	itertoolsr¯   r#  r�   rÄ  Útempfiler   r!  Únumpyrm   r¨   Úsklearn.baser   r   r   r   Úsklearn.clusterr   Úsklearn.datasetsr	   Úsklearn.decompositionr
   r   Úsklearn.dummyr   Úsklearn.ensembler   r   r   Úsklearn.exceptionsr   r   Úsklearn.feature_extraction.textr   Úsklearn.feature_selectionr   r   Úsklearn.imputer   Úsklearn.linear_modelr   r   r   Úsklearn.metricsr   r   Úsklearn.model_selectionr   Úsklearn.neighborsr   Úsklearn.pipeliner   r   r   r    Úsklearn.preprocessingr!   r"   Úsklearn.svmr#   Ú%sklearn.tests.metadata_routing_commonr$   r%   r&   r'   Ú sklearn.utils._metadata_requestsr(   r)   Úsklearn.utils._testingr*   r+   r,   r-   r.   r/   Úsklearn.utils.fixesr0   Úsklearn.utils.validationr1   rÇ   r›  r3   rD   rU   r[   r`   rf   r~   r‹   r’   rº   rÂ   rÊ   rÎ   rÓ   rÕ   rÝ   ré   rð   rú   r  r  r  r  ÚmarkÚparametrizer   r2  r6  r<  rC  rJ  rL  r[  r`  rf  rj  rw  r„  rˆ  r�  r“  r   r®  r³  rÆ  rË  rå  rí  rõ  r  r  r  r  r*  r,  r.  r7  rA  rD  rF  ÚproductÚparameter_grid_test_verboserS  rZ  r\  rg  ro  rx  r}  r�  r�  r”  r–  r£  r¬  r²  rµ  Úslicer¸  r½  rÉ  rË  ÚusefixturesÚsortedÚsetrë  rî  rð  rò  rõ  rú  rý  r  rB   r<   r:   ú<module>r&     sú  ðñó Û 	Û Û Û Ý ã Û Û ç NÓ NÝ "Ý &ß 3Ý (÷ñ ÷
 HÝ ;ß <Ý (ß LÑ Lß 4Ý 4Ý 0ß NÓ Nß EÝ ÷ó ÷ H÷÷ õ /Ý 4áƒ{€ð€÷ñ ô	ˆeô 	ô�'ô ô
ˆ[ô ô�fô ôˆ=ô ô,�ô ô,�&ô ô˜=ô ò&Qòh	òò,ò >ò
6ò3ò4òPò 7ò"ò<<ò,7ò	Ið ‡�×ÑØÒDóñ1óð1ð ‡�×Ñ˜¨.Ó9ñ,ó :ð,ò^
<ò'òLò/ò&
1ð ‡�×ÑØÒVóñóðò8ò$+òB.ð" ‡�×Ñ˜¨¨}Ð(=Ó>ñ*ó ?ð*ð" ‡�×Ñ˜¨¨}Ð(=Ó>ñL?ó ?ðL?ò^6ò8+ò@òB*SòZ#ò&3ò Aò: ?òFnòbò(ò,&ò.&ò,#.òLLò< ò~	ô	�}ô 	òò ò	%ò:ñ<à"3 )×"3Ò"3ñ ˜8¡V£XÐ.°¹	»Ð0DÐEÓFðNðñ ˜8¡V£XÐ.°ÀÉ	ËÐ@TÐUÓVðNðñ à!¡6£8Ð,Ø/Ø¡	£Ð,ðóðNðñ ˜8¡V£XÐ.°Ð>Ó?ðNðñ Ð*¨V±T³VÐ,<Ð=Ó>ðOðñ Ð3°f¹d»fÐ5EÐFÓGðOðñ ˜w©«Ð/°'¹4»6Ð1BÐCÓDðTðñ Ð/°'¹4»6Ð1BÐDUÐVÓWØSððY0	
òb 	0óe3#ô<Ð ð~ ‡�×ÑÐ/Ð1LÓMñ6ó Nð6ò/ò.7ò(ò.&ò0,òð$ ‡�×Ñ˜¨¨}Ð(=Ó>ñ,ó ?ð,ð ‡�×Ñ˜Ð'7Ð9JÐ&KÓLñGó MðGò(
òò2Yò*Aò 4ò &ð$ ‡�×Ñ˜ ¡E¨!¨Q£KÐ 0Ó1ñó 2ðò3òB%ô.* �mô * ðZ ‡�×ÒÐ)Ó*à‡�×Ñ˜¡6©#¨g«,¸'À=Ð9QÑ*QÓ#RÓSñ7ó Tó +ð7ðt ‡�×ÒÐ)Ó*ð ‡�×Ñ˜¡6©#¨g«,¸'À=Ð9QÑ*QÓ#RÓSñQó Tó	 +ð
Qð* ‡�×ÑØÒEóñ	Bóð	Bð ‡�×ÒÐ)Ó*ñó +ðð ‡�×ÒÐ)Ó*Ø‡�×Ñ˜ t¨]Ð&;Ó<ñNó =ó +ðNð ‡�×ÒÐ)Ó*ñ%Gó +ð%GðP ‡�×ÒÐ)Ó*ñ)ó +ð)ð ‡�×ÒÐ)Ó*Ø‡�×ÑØÐ(Ð*LÐMóñ%óó +ñ%r<   