§
    §éUg­ ã                   óÈ  — 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ji         j                    d;g d<¢¦  «        d=„ ¦   «         Zkeji         j                    d>eM¦  «        d?„ ¦   «         Zld@„ ZmdA„ ZndB„ ZodC„ ZpdD„ Zqeji         j                    dEg dF¢¦  «        dG„ ¦   «         ZrdH„ ZsdI„ ZtdJ„ Zueji         j                    dKddKg¦  «        dL„ ¦   «         Zveji         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ji         j                    dxe�¦  «        dy„ ¦   «         Z�dz„ Z‘d{„ Z’d|„ Z“d}„ Z”d~„ Z•d„ Z–eji         j                    dKddKg¦  «        d€„ ¦   «         Z—eji         j                    d�eGeFg¦  «        d‚„ ¦   «         Z˜dƒ„ Z™d„„ Zšd…„ Z›d†„ Zœd‡„ Z�dˆ„ Zžeji         j                    d‰d eŸddŠ¦  «        g¦  «        d‹„ ¦   «         Z dŒ„ Z¡d�„ Z¢ G dŽ„ d�e¦  «        Z£eji         ¤                    d�¦  «        eji         j                    d‘ e¥ e¦eD¦  «        d’d“hz
  ¦  «        ¦  «        d”„ ¦   «         ¦   «         Z§eji         ¤                    d�¦  «        eji         j                    d‘ e¥ e¦eD¦  «        d’d“hz
  ¦  «        ¦  «        d•„ ¦   «         ¦   «         Z¨eji         j                    d‘g d–¢¦  «        d—„ ¦   «         Z©eji         ¤                    d�¦  «        d˜„ ¦   «         Zªeji         ¤                    d�¦  «        eji         j                    d™ddKg¦  «        dš„ ¦   «         ¦   «         Z«eji         ¤                    d�¦  «        d›„ ¦   «         Z¬eji         ¤                    d�¦  «        dœ„ ¦   «         Z­eji         ¤                    d�¦  «        eji         j                    d�e?e>g¦  «        dž„ ¦   «         ¦   «         Z®dS )Ÿ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dS )ÚNoFitz*Small class to test parameter dispatching.Nc                 ó"   — || _         || _        d S ©N©ÚaÚb)Úselfr7   r8   s      úZ/var/www/surfInsights/venv3-11/lib/python3.11/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Ð4ðð ð ð ð ð r<   r3   c                   ó"   — e Zd Zd„ Zdd„Zd„ ZdS )ÚNoTransc                 ó   — | S r5   rB   ©r9   ÚXÚys      r:   ÚfitzNoTrans.fitL   ó   € Øˆr<   Fc                 ó    — | j         | j        dœS )Nr6   r6   )r9   Údeeps     r:   Ú
get_paramszNoTrans.get_paramsO   s   € Ø”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   sF   € € € € € ðð ð ð*ð *ð *ð *ðð ð ð ð r<   rD   c                   ó   — e Zd Zd„ ZdS )Ú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dS )Ú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[   \   s2   € € € € € ðð ð ðð ð ð ð r<   r[   c                   ó   — e Zd Zd„ ZdS )Ú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                   óB   — e Zd Zd	d„Zd„ Zd„ Zd„ Zd„ ZexZxZ	Z
d
d„ZdS )ÚMulté   c                 ó   — || _         d S r5   ©Úmult)r9   rj   s     r:   r;   zMult.__init__k   s   € ØˆŒ	ˆ	ˆ	r<   c                 ó   — | S r5   rB   rF   s      r:   rI   zMult.fitn   rJ   r<   c                 ó:   — t          j        |¦  «        | j        z  S r5   ©ÚnpÚasarrayrj   rW   s     r:   rX   zMult.transformq   ó   € ÝŒz˜!‰}Œ}˜tœyÑ(Ð(r<   c                 ó:   — t          j        |¦  «        | j        z  S r5   rm   rW   s     r:   r^   zMult.inverse_transformt   rp   r<   c                 ób   — t          j        |¦  «        | j        z                       d¬¦  «        S )Nrg   ©Úaxis)rn   ro   rj   ÚsumrW   s     r:   ÚpredictzMult.predictw   s(   € Ý”
˜1‘” ¤	Ñ)×.Ò.°AÐ.Ñ6Ô6Ð6r<   Nc                 ó*   — t          j        |¦  «        S r5   ©rn   ru   rF   s      r:   Úscorez
Mult.score|   s   € ÝŒv�a‰yŒyÐr<   )rg   r5   )r>   r?   r@   r;   rI   rX   r^   rv   Úpredict_probaÚpredict_log_probaÚdecision_functionry   rB   r<   r:   rf   rf   j   sŒ   € € € € € ðð ð ð ðð ð ð)ð )ð )ð)ð )ð )ð7ð 7ð 7ð =DÐC€MÐCÐ%Ð(9ðð ð ð ð ð r<   rf   c                   ó6   — e Zd ZdZd„ Zd	d„Zd„ Zd	d„Zd
d„ZdS )Ú	FitParamTzMock classifierc                 ó   — d| _         d S )NF©Ú
successful)r9   s    r:   r;   zFitParamT.__init__ƒ   s   € ØˆŒˆˆr<   Fc                 ó   — || _         d S 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                 ó\   — |                       |||¬¦  «         |                      |¦  «        S )N)r„   )rI   rv   rƒ   s       r:   Úfit_predictzFitParamT.fit_predictŒ   s*   € Ø�Š��A nˆÑ5Ô5Ð5Ø�|Š|˜A‰ŒÐr<   Nc                 ó8   — |�||z  }t          j        |¦  «        S r5   rx   )r9   rG   rH   Úsample_weights       r:   ry   zFitParamT.score�   s    € ØÐ$Ø�MÑ!ˆAÝŒv�a‰yŒyÐr<   rS   r=   )	r>   r?   r@   rA   r;   rI   rv   r‡   ry   rB   r<   r:   r~   r~   €   st   € € € € € ØÐð ð  ð  ð)ð )ð )ð )ðð ð ðð ð ð ðð ð ð ð ð r<   r~   c                   ó   — e Zd ZdZd„ ZdS )ÚDummyTransfz(Transformer which store the column meansc                 ól   — t          j        |d¬¦  «        | _        t          j        ¦   «         | _        | S )Nr   rs   )rn   ÚmeanÚmeans_ÚtimeÚ
timestamp_rF   s      r:   rI   zDummyTransf.fit™   s,   € Ý”g˜a aÐ(Ñ(Ô(ˆŒõ œ)™+œ+ˆŒØˆr<   N)r>   r?   r@   rA   rI   rB   r<   r:   r‹   r‹   –   s)   € € € € € Ø2Ð2ðð ð ð ð r<   r‹   c                   ó0   — e Zd ZdZd„ Zdd„Zdd„Zdd„ZdS )	ÚDummyEstimatorParamsz,Mock classifier that takes params on predictc                 ó   — | S r5   rB   rF   s      r:   rI   zDummyEstimatorParams.fit¤   rJ   r<   Fc                 ó   — || _         | 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’   ¡   se   € € € € € Ø6Ð6ðð ð ðð ð ð ðð ð ð ðð ð ð ð ð r<   r’   c                  ó�  — t          dg¦  «        } t          j        t          ¦  «        5  |                      dggdg¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          dt          ¦   «         fg¦  «        } t          j        t          |¬¦  «        5  |                      dggdg¦  «         d d d ¦  «         n# 1 swxY w Y   t          ¦   «         }t          d|fg¦  «        }|                     d¬¦  «        t          dd d |d	œ|                     d
¬¦  «        ¤Žk    s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  |                      dggdg¦  «         d d d ¦  «         n# 1 swxY w Y   | 	                    d¬¦  «         |j        dk    sJ ‚t          |¦  «         t%          j        d¦  «        }t          j        t(          |¬¦  «        5  | 	                    d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t+          |¦  «        }|j        d         |j        d         usJ ‚|                     d¬¦  «        }|                     d¬¦  «        }|                     d
¬¦  «        D ]}|                     |¦  «         Œ|                     d
¬¦  «        D ]}|                     |¦  «         Œ|                     d¦  «         |                     d¦  «         |                     d¦  «         |                     d¦  «         ||k    sJ ‚d S )N)rg   rg   rg   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Ô-Hð*ð *ò ð ð ð ð
 	‡O‚O˜3€OÑÔÐØŒ5�CŠ<ˆ<ˆ<ˆ<ØŒ5ˆ=ˆ=ˆ=åˆ�J„J€Jõ ‰%Œ%€CÝ�)Ñ$Ô$€GÝ�g˜wÐ'¨%°¨Ð6Ñ7Ô7€Dð Ô˜GÔ$¨Ð/Ð/Ð/Ð/ØÔ˜EÔ" cÐ)Ð)Ð)Ð)ð K€CÝ˜#�w™yœyÐ)¨E°3¨<Ð8Ñ9Ô9€HÝ	Œ•y¨Ð	,Ñ	,Ô	,ð !ð !Ø�Š�q�c�U˜Q˜CÑ Ô Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !ð 	‡O‚O˜3€OÑÔÐØŒ5�CŠ<ˆ<ˆ<ˆ<åˆ�J„J€Jõ Œ)ð	ñô €Cõ 
Œ•z¨Ð	-Ñ	-Ô	-ð &ð &Ø�Š ˆÑ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &õ �$‰KŒK€EØÔ˜EÔ"¨%Ô*;¸EÔ*BÐBÐBÐBÐBð �_Š_ $ˆ_Ñ'Ô'€FØ×Ò DÐÑ)Ô)€Gà�_Š_ %ˆ_Ñ(Ô(ð ð ˆØ�
Š
�1‰Œˆˆà×Ò 5ÐÑ)Ô)ð ð ˆØ�Š�A‰Œˆˆð ‡J‚JˆuÑÔÐØ
‡J‚JˆwÑÔÐØ‡K‚K�ÑÔÐØ‡K‚K�ÑÔÐØ�WÒÐÐÐÐÐsG   ªAÁAÁAÂB<Â<C ÃC Ç7HÈH!È$H!Ê	J,Ê,J0Ê3J0c                  ój  — t          j        ddgg¦  «        } t          dt          ¦   «         fdt	          ¦   «         ff¦  «        }|                     | d ¬¦  «         |                     | ¦  «         |                     d¬¦  «         |                     | d ¬¦  «         |                     | ¦  «         d S )Nrg   é   Útransfrœ   ©rH   Úpassthrough)r½   )rn   Úarrayr   r[   r~   rI   ry   rR   ©rG   rµ   s     r:   Útest_pipeline_init_tuplerÂ     s�   € å
Œ�1�a�&�ÑÔ€AÝ�h¥¡¤Ð)¨Eµ9±;´;Ð+?Ð@ÑAÔA€DØ‡H‚HˆQ�$€HÑÔÐØ‡J‚Jˆq�M„M€Mà‡O‚O˜=€OÑ)Ô)Ð)Ø‡H‚HˆQ�$€HÑÔÐØ‡J‚Jˆq�M„M€M€M€Mr<   c                  ó~  — t           j        } t           j        }t          ¦   «         }t	          t
          d¬¦  «        }t          d|fd|fg¦  «        }|                     | |¦  «         |                     | ¦  «         | 	                    | ¦  «         | 
                    | ¦  «         |                     | |¦  «         d S )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„N€NØ‡L‚L��O„O€OØ×Ò�qÑÔÐØ×Ò˜1ÑÔÐØ‡J‚Jˆq�!ÑÔÐÐÐr<   c                  óÎ  — t          dt          ¦   «         fdt          ¦   «         fg¦  «        } |                      d d d¬¦  «         |                      d ¦  «        sJ ‚| j        d         j        �J ‚| j        d         j        �J ‚t          j	        d¦  «        }t          j        t          |¬¦  «        5  |                      d d d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )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ÔA€DØ‡H‚Hˆt�t°€HÑ6Ô6Ð6à�<Š<˜ÑÔÐÐÐàÔ˜HÔ%Ô'Ð/Ð/Ð/ØÔ˜HÔ%Ô'Ð/Ð/Ð/õ Œ)ÐDÑ
EÔ
E€CÝ	Œ•y¨Ð	,Ñ	,Ô	,ð ,ð ,Ø�Š��t dˆÑ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ,ð ,s   Â4CÃCÃ!Cc                  óÊ  — t          j        ddgg¦  «        } t          dt          ¦   «         fdt	          ¦   «         fg¦  «        }|                     | d ¬¦  «         |                     | ¦  «        dk    sJ ‚|                     | d ¬¦  «        dk    sJ ‚|                     | d d ¬¦  «        dk    sJ ‚|                     | t          j        ddg¦  «        ¬¦  «        d	k    sJ ‚d S )
Nrg   r¼   r½   rœ   r¾   é   )rH   r‰   ©r‰   é   )rn   rÀ   r   r[   r~   rI   ry   rÁ   s     r:   Ú%test_pipeline_sample_weight_supportedrÓ   3  så   € å
Œ�1�a�&�ÑÔ€AÝ�h¥¡¤Ð)¨Eµ9±;´;Ð+?Ð@ÑAÔA€DØ‡H‚HˆQ�$€HÑÔÐØ�:Š:�a‰=Œ=˜AÒÐÐÐØ�:Š:�a˜4ˆ:Ñ Ô  AÒ%Ð%Ð%Ð%Ø�:Š:�a˜4¨tˆ:Ñ4Ô4¸Ò9Ð9Ð9Ð9Ø�:Š:�a¥r¤x°°A°Ñ'7Ô'7ˆ:Ñ8Ô8¸AÒ=Ð=Ð=Ð=Ð=Ð=r<   c                  ó  — t          j        ddgg¦  «        } t          dt          ¦   «         fdt	          ¦   «         fg¦  «        }|                     | d ¬¦  «         |                     | ¦  «        dk    sJ ‚|                     | d ¬¦  «        dk    sJ ‚t          j        d¦  «        }t          j
        t          |¬	¦  «        5  |                     | t          j        ddg¦  «        ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nrg   r¼   r½   rœ   r¾   rÐ   rÑ   z:score() got an unexpected keyword argument 'sample_weight'r�   )rn   rÀ   r   r[   rf   rI   ry   r¯   r°   r¨   r©   rª   )rG   rµ   r´   s      r:   Ú'test_pipeline_sample_weight_unsupportedrÕ   >  s9  € å
Œ�1�a�&�ÑÔ€AÝ�h¥¡¤Ð)¨Eµ4±6´6¨?Ð;Ñ<Ô<€DØ‡H‚HˆQ�$€HÑÔÐØ�:Š:�a‰=Œ=˜AÒÐÐÐØ�:Š:�a tˆ:Ñ,Ô,°Ò1Ð1Ð1Ð1å
Œ)ÐPÑ
QÔ
Q€CÝ	Œ•y¨Ð	,Ñ	,Ô	,ð 6ð 6Ø�
Š
�1¥B¤H¨a°¨VÑ$4Ô$4ˆ
Ñ5Ô5Ð5ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6ð 6ð 6s   Ã,C<Ã<D ÄD c                  óJ  — t          dt          ¦   «         fg¦  «        } t          j        d¦  «        }t	          j        t          |¬¦  «        5  |                      d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t	          j        t          |¬¦  «        5  |                      d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d¦  «        }t	          j        t          |¬¦  «        5  |                      d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	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Ô2€Dõ ”	ð	Xñô €Iõ 
Œ•z¨Ð	3Ñ	3Ô	3ð %ð %Ø�Š˜VˆÑ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %õ
 
Œ•z¨Ð	3Ñ	3Ô	3ð 0ð 0Ø�Š¨ˆÑ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0õ ”	ð	Nñô €Iõ 
Œ•z¨Ð	3Ñ	3Ô	3ð 3ð 3Ø�Š¨6ˆÑ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3ð 3ð 3s6   ÁA1Á1A5Á8A5ÂB:Â:B>ÃB>Ã4DÄDÄDc                  ó|  — t           j        } t           j        }t          dd¬¦  «        }t	          ddd¬¦  «        }t          d|fd|fg¦  «        }|                     | |¦  «         |                     | ¦  «         |                     | ¦  «         | 	                    | ¦  «         | 
                    | |¦  «         d S )	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Ñ
AÔ
A€CÝ�e˜S�\ E¨3 <Ð0Ñ1Ô1€DØ‡H‚HˆQ��N„N€NØ‡L‚L��O„O€OØ×Ò�qÑÔÐØ×Ò˜1ÑÔÐØ‡J‚Jˆq�!ÑÔÐÐÐr<   c                  óð  — t           j        } t          ddd¬¦  «        }t          d¬¦  «        }t	          d|fd|fg¦  «        }|                     | ¦  «         |                     | ¦  «        j        | j        d         fk    sJ ‚|                     |                     | ¦  «        ¦  «         t          |                     | ¦  «        |                     | 
                    | ¦  «        ¦  «        ¦  «         d S )	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Ñ
AÔ
A€CÝ
 TÐ
*Ñ
*Ô
*€CÝ�e˜S�\ E¨3 <Ð0Ñ1Ô1€DØ‡H‚HˆQ�K„K€Kà×Ò˜aÑ Ô Ô&¨1¬7°1¬:¨-Ò7Ð7Ð7Ð7à‡G‚GˆC×Ò˜aÑ Ô Ñ!Ô!Ð!Ý�D×&Ò& qÑ)Ô)¨3×+<Ò+<¸S¿]º]È1Ñ=MÔ=MÑ+NÔ+NÑOÔOÐOÐOÐOr<   c                  óØ  — t          j        dgdgg¦  «        } t          j        ddg¦  «        }t          t          ¦   «         ¦  «        }|                     | |¦  «         d}d}t          j        t          |¬¦  «        5 }|                     | ¦  «         d d d ¦  «         n# 1 swxY w Y   t          |j
        j        t          ¦  «        sJ ‚|t          |j
        j        ¦  «        v sJ ‚d S )Nrg   r¼   z<'LogisticRegression' object has no attribute 'score_samples'z+'Pipeline' has no attribute 'score_samples'r�   )rn   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€NàN€IØ=€IÝ	Œ•~¨YÐ	7Ñ	7Ô	7ð ¸9Ø×Ò˜1ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ �i”oÔ/µÑ@Ô@Ð@Ð@Ð@Ø�˜IœOÔ5Ñ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6s   Á?B!Â!B%Â(B%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        |fk    sJ ‚|                     | ¦  «        }
|
j        ||fk    sJ ‚|                     | ¦  «        }|j        ||fk    sJ ‚|                     | ¦  «        }|j        ||fk    sJ ‚|                     | |¦  «         ŒÓd S )
Nr   r¼   Ú
randomizedT)ræ   rå   rç   Úovr)rà   rá   Údecision_function_shapeÚ
preprocessrŸ   )rÇ   rÈ   rÉ   rî   Úlenrn   Ú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  •  sl  € åŒ	€AÝŒ€AØ”˜”
€IÝ•B”I˜a‘L”LÑ!Ô!€IÝÑÔ€FÝ
˜1¨¸dÐ
CÑ
CÔ
C€CÝ
˜$¨QÈÐ
NÑ
NÔ
N€Cà  #˜ð ð ˆÝ˜,¨Ð6¸À¸ÐEÑFÔFˆØ�Š��A‰Œˆð —,’,˜q‘/”/ˆØŒ}  Ò,Ð,Ð,Ð,à×"Ò" 1Ñ%Ô%ˆØŒ{˜y¨)Ð4Ò4Ð4Ð4Ð4à×*Ò*¨1Ñ-Ô-ˆ	ØŒ 9¨iÐ"8Ò8Ð8Ð8Ð8à ×2Ò2°1Ñ5Ô5ÐØ Ô&¨9°iÐ*@Ò@Ð@Ð@Ð@à�
Š
�1�aÑÔÐÐð#ð r<   c                  ór  — t          ¦   «         } t          dd¬¦  «        }t          ¦   «         }t          dd¬¦  «        }|                      t          j        ¦  «        }|                     |¦  «        }t          d|fd|fg¦  «        }|                     t          j        ¦  «        }t          ||¦  «         d S )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ÔS€DØ×$Ò$¥T¤YÑ/Ô/€Må˜m¨]Ñ;Ô;Ð;Ð;Ð;r<   c                  óv  — t          ¦   «         } t          d¬¦  «        }t          d| fd|fg¦  «        }d}d}t          j        t
          |¬¦  «        5 }t          |d¦  «         d d d ¦  «         n# 1 swxY w Y   t          |j        j	        t
          ¦  «        sJ ‚|t          |j        j	        ¦  «        v sJ ‚d S )	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Ô7€Dà;€IØ=€IÝ	Œ•~¨YÐ	7Ñ	7Ô	7ð %¸9Ý��mÑ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %å�i”oÔ/µÑ@Ô@Ð@Ð@Ð@Ø�˜IœOÔ5Ñ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6s   ÁA0Á0A4Á7A4c                  ó  — t          dt          ¦   «         fdt          ¦   «         fg¦  «        } |                      d d dd¬¦  «         | j        d         j        d         sJ ‚| j        d         j        sJ ‚d| j        d         j        vsJ ‚d S )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Ô 1Ð2°U½I¹K¼KÐ4HÐIÑJÔJ€DØ×ÒØ
�$°È$ð ñ ô ð ð Ô˜HÔ%Ô0Ð1BÔCÐCÐCÐCØÔ˜EÔ"Ô-Ð-Ð-Ð-Ø 4Ô#3°HÔ#=Ô#HÐHÐHÐHÐHÐHÐHr<   Úmethod_name)rv   rz   r{   c                 óî   — t          dt          ¦   «         fdt          ¦   «         fg¦  «        }|                     d d ¦  «         t	          || ¦  «        } |d d¬¦  «         |j        d         j        sJ ‚d S )Nr½   rœ   T)rG   r–   )r   r[   r’   rI   r  r­   r–   )r  rµ   Úmethods      r:   Ú(test_predict_methods_with_predict_paramsr   ä  s€   € õ �h¥¡¤Ð)¨EÕ3GÑ3IÔ3IÐ+JÐKÑLÔL€DØ‡H‚HˆT�4ÑÔÐÝ�T˜;Ñ'Ô'€FØ
€FˆT Ð&Ñ&Ô&Ð&àÔ˜EÔ"Ô0Ð0Ð0Ð0Ð0Ð0r<   Úcsr_containerc                 óÎ  — t           j        }||                     d¬¦  «        z  }t           j        }t	          dd¬¦  «        }t          d¬¦  «        }t          d|fd|fg¦  «        }|                     ||¦  «         |                     |¦  «        }|j	        |j	        d         d	fk    sJ ‚t          |d d …d d
…f         |                     |¦  «        ¦  «         t          |d d …d
f         |                     ||¦  «                             ¦   «         ¦  «         t          d|fd|fg¦  «        } | |¦  «        }|                     ||¦  «        }t          ||                     ¦   «         ¦  «         t          |¦  «        }	|j        d         d         |	j        d         d         usJ ‚|                     d¬¦  «         |                     ||¦  «        j	        |j	        d         dfk    sJ ‚t          dt%          ¦   «         fd|fd|fg¦  «        }|                     ||¦  «        }|j	        |j	        d         dfk    sJ ‚d}
t          dt%          ¦   «         fdt'          ¦   «         fg¦  «        }t)          j        t,          |
¬¦  «        5  |                     |¦  «         d d d ¦  «         n# 1 swxY w Y   t          d|fd|ff¦  «        }|                     ||¦  «         d S )Nr   rs   r¼   )ræ   rá   rg   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  ò  s  € õ 	Œ	€AØˆ�Š�Qˆ‰ŒÑ€AÝŒ€AÝ
 A°AÐ
6Ñ
6Ô
6€CÝ˜1ÐÑÔ€FÝ	˜˜s�| h°Ð%7Ð8Ñ	9Ô	9€BØ‡F‚Fˆ1ˆa�L„L€LØ—L’L ‘O”O€MØÔ 1¤7¨1¤:¨q /Ò1Ð1Ð1Ð1õ ˜m¨A¨A¨A¨s°¨s¨FÔ3°S×5FÒ5FÀqÑ5IÔ5IÑJÔJÐJÝ�} Q Q Q¨ UÔ+¨V×-AÒ-AÀ!ÀQÑ-GÔ-G×-MÒ-MÑ-OÔ-OÑPÔPÐPõ 
˜˜s�| h°Ð%7Ð8Ñ	9Ô	9€BØˆ=˜ÑÔ€DØ×'Ò'¨¨aÑ0Ô0ÐÝ˜mÐ-=×-EÒ-EÑ-GÔ-GÑHÔHÐHõ �‰)Œ)€CØÔ˜qÔ! !Ô$¨CÔ,@ÀÔ,CÀAÔ,FÐFÐFÐFÐFð ‡M‚M˜A€MÑÔÐØ×Ò˜A˜qÑ!Ô!Ô'¨A¬G°A¬J¸¨?Ò:Ð:Ð:Ð:õ 
˜¥¡¤Ð)¨E°3¨<¸(ÀFÐ9KÐLÑ	MÔ	M€BØ×$Ò$ Q¨Ñ*Ô*€MØÔ 1¤7¨1¤:¨q /Ò1Ð1Ð1Ð1ð M€CÝ	˜¥V¡X¤XÐ.°ÅÁÄÐ0KÐLÑ	MÔ	M€BÝ	Œ•y¨Ð	,Ñ	,Ô	,ð ð Ø
�Šˆq‰	Œ	ˆ	ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
˜˜s�| h°Ð%7Ð8Ñ	9Ô	9€BØ‡F‚Fˆ1ˆa�L„L€L€L€Ls   ÊJ/Ê/J3Ê6J3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 ‚dS )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ŒX€FÝ‘-”-€KÝ	˜ &Ð)¨M¸;Ð+GÐHÑ	IÔ	I€BØÔ  Ô*¨fÒ4Ð4Ð4Ð4ØÔ  Ô/°;Ò>Ð>Ð>Ð>ð Ô Ô'¨6Ò1Ð1Ð1Ð1ØÔ Ô,°Ò;Ð;Ð;Ð;Ð;Ð;r<   c                  ó¨   — t          d¬¦  «        } t          ¦   «         }t          | |¦  «        }t          |j        Ž \  }}|dk    sJ ‚|| |fk    sJ ‚d S )Nrâ   r  )rè   r½   )r
   r[   r    Úzipr,  )rè   r(  ÚfuÚnamesÚtransformerss        r:   Útest_make_unionr<  /  si   € Ý
˜Ð
 Ñ
 Ô
 €CÝ‰8Œ8€DÝ	�C˜Ñ	Ô	€BÝ˜rÔ2Ð3Ñ€Eˆ<ØÐ%Ò%Ð%Ð%Ð%Ø˜C ˜;Ò&Ð&Ð&Ð&Ð&Ð&r<   c                  óz  — 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 ¦  «         d S # 1 swxY w Y   d S )Nrâ   r  rÐ   ©Ún_jobszEmake_union() got an unexpected keyword argument 'transformer_weights'r�   é
   rg   )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Œ8€DÝ	�C˜ aÐ	(Ñ	(Ô	(€BØÔ¥*¨S°$Ñ"7Ô"7Ô"HÒHÐHÐHÐHØ�”	Š>ˆ>ˆ>ˆ>õ Œ)ØOñô €Cõ 
Œ•y¨Ð	,Ñ	,Ô	,ð Lð LÝ�3˜¸"ÈÐ2JÐ2JÐKÑKÔKÐKðLð Lð Lñ Lô Lð Lð Lð Lð Lð Lð Lð Løøøð Lð Lð Lð Lð Lð Ls   ÂB0Â0B4Â7B4c                  ó¼  — t           j        } t          dd¬¦  «        }t          d|fg¦  «        }|                     | ¦  «                             | ¦  «        }|                     | ¦  «        }|                     | ¦  «        }t          ||¦  «         t          ||¦  «         |                     |¦  «        }|                     |¦  «        }t          ||¦  «         d S )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Ñ
0Ô
0€CÝ˜% ˜˜Ñ'Ô'€Hð �lŠl˜1‰oŒo×'Ò'¨Ñ*Ô*€GØ×%Ò% aÑ(Ô(€HØ× Ò  Ñ#Ô#€HÝ˜g xÑ0Ô0Ð0Ý˜g xÑ0Ô0Ð0à×'Ò'¨Ñ0Ô0€FØ×#Ò# GÑ,Ô,€GÝ˜f gÑ.Ô.Ð.Ð.Ð.r<   c                  ó  — t           j        } t           j        }t          ¦   «         }t	          d|fg¦  «        }|                     | |¦  «        }|                     | |¦  «                             | ¦  «        }t          ||¦  «         d S )Nr(  )	rÇ   rÈ   rÉ   r[   r   rï   rI   rX   r.   )rG   rH   r½   r³   rE  rF  s         r:   Útest_pipeline_fit_transformrL  Z  s|   € åŒ	€AÝŒ€AÝ‰XŒX€FÝ˜& &Ð)Ð*Ñ+Ô+€Hð ×$Ò$ Q¨Ñ*Ô*€GØ�zŠz˜!˜QÑÔ×)Ò)¨!Ñ,Ô,€HÝ˜g xÑ0Ô0Ð0Ð0Ð0r<   z
start, end))r   rg   )r   r¼   )rg   r¼   )rg   rÐ   )Nrg   )rg   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                             ¦   «         ¦  «        t          |j                             ¦   «         ¦  «        | |…         k    sJ ‚|                     d¬¦  «        }|                     d¬¦  «        }|d	= |d	= ||k    sJ ‚d
}t          j
        t          |¬¦  «        5  || |d…          d d d ¦  «         d S # 1 swxY w Y   d S )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”XÐ	 ­F©H¬HÐ 5¸½y¹{¼{Ð7KÐLØØðñ ô €Dð
 �e˜C�i”€Jå�j¥(Ñ+Ô+Ð+Ð+Ð+àÔ˜tœz¨%°¨)Ô4Ò4Ð4Ð4Ð4õ 	ˆZÔ#×)Ò)Ñ+Ô+Ñ,Ô,Ý�Ô ×&Ò&Ñ(Ô(Ñ)Ô)¨%°¨)Ô4ò	5ð 	5ð 	5ð 	5ð —/’/ u�/Ñ-Ô-€KØ"×-Ò-°5Ð-Ñ9Ô9ÐØ�GÐØ˜'Ð"ØÐ+Ò+Ð+Ð+Ð+à
6€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð ØˆU�3�rˆ\ÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Ä*EÅEÅ
Ec                  ó¾  — 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 ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  |d          d d d ¦  «         d S # 1 swxY w Y   d S )Nr½   rœ   r   r%  rÐ   Úfoobar)r[   r~   r   r¨   r©   Ú
IndexErrorÚKeyError)r½   rœ   rµ   s      r:   Útest_pipeline_indexr`  †  sn  € Ý‰XŒX€FÝ
‰+Œ+€CÝ�h Ð'¨%°¨Ð6Ñ7Ô7€DØ�Œ7�fÒÐÐÐØ�Œ>˜VÒ#Ð#Ð#Ð#Ø�Œ8�sŠ?ˆ?ˆ?ˆ?Ø�Œ;˜#ÒÐÐÐõ 
Œ•zÑ	"Ô	"ð ð ØˆQŒˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Œ•xÑ	 Ô	 ð ð ØˆXŒˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s$   Â	BÂBÂBÂ<	CÃCÃC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 ‚|                     d| fg¬¦  «         d| fg|j        k    sJ ‚|                     |¬¦  «         d|fg|j        k    sJ ‚|                     dg¬¦  «         t          j        d¦  «        }t          j        t          |¬¦  «        5  | 
                    dggdg¦  «         d d d ¦  «         n# 1 swxY w Y   d	}t          j        t          |¬¦  «        5  |                     dggdg¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nr(  Úmock2©rS  ©r(  )ÚjunkrB   zJLast step of Pipeline should implement fit or be the string 'passthrough'.r�   rg   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Œh€GÝ‰hŒh€GÝ˜& 'Ð*Ð+Ñ,Ô,€HØÔ Ô'¨7Ð2Ð2Ð2Ð2ð  Ð(Ð)€H„NØ˜Ô-Ð-Ð-Ð-Ð-ØÔ Ô(¨GÐ3Ð3Ð3Ð3Ø�gÐÐ 8¤>Ò1Ð1Ð1Ð1ð ×Ò ¨Ð0Ð1ÐÑ2Ô2Ð2Ø�WÐÐ (¤.Ò0Ð0Ð0Ð0ð ×Ò˜WÐÑ%Ô%Ð%Ø�WÐÐ (¤.Ò0Ð0Ð0Ð0ð ×Ò˜|˜nÐÑ-Ô-Ð-Ý
Œ)ØTñô €Cõ 
Œ•y¨Ð	,Ñ	,Ô	,ð !ð !Ø�Š�q�c�U˜Q˜CÑ Ô Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !ð =€CÝ	Œ•~¨SÐ	1Ñ	1Ô	1ð +ð +Ø×Ò  ˜u q cÑ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð +ð +s$   ÄD1Ä1D5Ä8D5ÅF Æ FÆFc                  óB  — 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 ‚d S )Nr¼   ri   r(  rj   rb  Úvalues)r[   rf   r   r­   r(  rj   rh  )r½   Úmult2r³   s      r:   Útest_pipeline_named_stepsrj  ¹  sÜ   € Ý‰XŒX€FÝ�aˆL‰LŒL€EÝ˜& &Ð)¨F°E¨?Ð;Ñ<Ô<€Hð �XÔ)Ð)Ð)Ð)Ð)Ø˜(Ô.Ð.Ð.Ð.Ð.ØÔÔ$¨Ð.Ð.Ð.Ð.ØÔÔ$¨Ð-Ð-Ð-Ð-õ ˜( FÐ+¨f°e¨_Ð=Ñ>Ô>€HØÔÔ&¨fÐ4Ð4Ð4Ð4ØÔÔ$¨Ð-Ð-Ð-Ð-Ð-Ð-r<   r¿   c                 óX  — 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¦  «        }|                     ||¦  «         g d
¢}d„ |j        D ¦   «         }||k    sJ ‚d S )Nrg   r¼   ri   rÐ   é   Úm2ÚbadÚm3Úm5)rm  rn  ro  rp  c                 ó   — g | ]\  }}|‘ŒS rB   rB   )Ú.0ÚnameÚ_s      r:   ú
<listcomp>z9test_pipeline_correctly_adjusts_steps.<locals>.<listcomp>Ø  s   € Ð7Ð7Ð7™W˜T 1�DÐ7Ð7Ð7r<   )rn   rÀ   rf   r   rI   rS  )	r¿   rG   rH   ri  Úmult3Úmult5r³   Úexpected_namesÚactual_namess	            r:   Ú%test_pipeline_correctly_adjusts_stepsrz  Ê  sÂ   € å
Œ�1�#�‰Œ€AÝ
Œ�!�‰Œ€AÝ�aˆL‰LŒL€EÝ�aˆL‰LŒL€EÝ�aˆL‰LŒL€EåØ
�ˆ˜ Ð,¨t°U¨m¸dÀE¸]ÐKñô €Hð ‡L‚L��AÑÔÐØ.Ð.Ð.€NØ7Ð7¨¬Ð7Ñ7Ô7€LØ˜\Ò)Ð)Ð)Ð)Ð)Ð)r<   c           
      ó®	  ‡‡‡— t          j        dgg¦  «        }t          j        dg¦  «        }t          d¬¦  «        Št          d¬¦  «        Št          d¬¦  «        Šˆˆˆfd„} |¦   «         }d}t          |gg|                     ||¦  «        ¦  «         t          |g|                     |¦  «                             |¦  «        ¦  «         t          ||                     |gg¦  «        ¦  «         |                     | ¬¦  «         d	}t          |gg|                     ||¦  «        ¦  «         t          |g|                     |¦  «                             |¦  «        ¦  «         t          ||                     |gg¦  «        ¦  «         | 	                    d
¬¦  «        |j
        ‰| ‰d ddddœk    sJ ‚|                     | ¬¦  «         d}t          |gg|                     ||¦  «        ¦  «         t          |g|                     |¦  «                             |¦  «        ¦  «         t          ||                     |gg¦  «        ¦  «         g d¢}|D ]} t          ||¦  «        |¦  «         Œ|                     ‰¬¦  «         d	}t          |gg|                     ||¦  «        ¦  «         t          |g|                     |¦  «                             |¦  «        ¦  «         t          ||                     |gg¦  «        ¦  «          |¦   «         }|                     | ¬¦  «         d}t          |gg|                     ||¦  «                             |¦  «        ¦  «         t          |gg|                     ||¦  «        ¦  «         t          ||                     |gg¦  «        ¦  «         d}d}	t          j        t          |	¬¦  «        5 }
t          |d¦  «         d d d ¦  «         n# 1 swxY w Y   t!          |
j        j        t          ¦  «        sJ ‚|t'          |
j        j        ¦  «        v sJ ‚d	}t)          d‰fd| fd‰fg¦  «        }t          |gg|                     ||¦  «        ¦  «         t          |g|                     |¦  «                             |¦  «        ¦  «         t          ||                     |gg¦  «        ¦  «         d S )Nrg   r¼   ri   rÐ   rl  c                  ó4   •— t          d‰ fd‰fd‰fg¦  «        S )Nrm  ro  Úlast)r   )ri  rv  rw  s   €€€r:   Úmakez0test_set_pipeline_step_passthrough.<locals>.makeä  s$   ø€ Ý˜$ ˜¨¨u¨¸À°ÐGÑHÔHÐHr<   é   ©ro  r@  Tr    F)rS  rm  ro  r}  rQ  Úm2__multÚ
last__multrR  ©rm  )rz   r{   r|   rX   ry   )r}  é   z''str' object has no attribute 'predict'z*This 'Pipeline' has no attribute 'predict'r�   rv   rm  ro  r}  )rn   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  rv  rw  s              @@@r:   Ú"test_set_pipeline_step_passthroughr‡  Ü  s  øøø€ å
Œ�1�#�‰Œ€AÝ
Œ�!�‰Œ€AÝ�aˆL‰LŒL€EÝ�aˆL‰LŒL€EÝ�aˆL‰LŒL€EðIð Ið Ið Ið Ið Ið Ið ˆt‰vŒv€Hà
€CÝ˜˜�w × 6Ò 6°q¸!Ñ <Ô <Ñ=Ô=Ð=Ý˜�u˜hŸlšl¨1™oœo×5Ò5°aÑ8Ô8Ñ9Ô9Ð9Ý�q˜(×4Ò4°s°e°WÑ=Ô=Ñ>Ô>Ð>à×Ò˜;ÐÑ'Ô'Ð'Ø
€CÝ˜˜�w × 6Ò 6°q¸!Ñ <Ô <Ñ=Ô=Ð=Ý˜�u˜hŸlšl¨1™oœo×5Ò5°aÑ8Ô8Ñ9Ô9Ð9Ý�q˜(×4Ò4°s°e°WÑ=Ô=Ñ>Ô>Ð>Ø×Ò DÐÑ)Ô)Ø”ØØØØØØØð	.ð 	.ò 	ð 	ð 	ð 	ð ×Ò˜;ÐÑ'Ô'Ð'Ø
€CÝ˜˜�w × 6Ò 6°q¸!Ñ <Ô <Ñ=Ô=Ð=Ý˜�u˜hŸlšl¨1™oœo×5Ò5°aÑ8Ô8Ñ9Ô9Ð9Ý�q˜(×4Ò4°s°e°WÑ=Ô=Ñ>Ô>Ð>ðð ð €Mð  ð %ð %ˆØ!��˜&Ñ!Ô! !Ñ$Ô$Ð$Ð$à×Ò˜5ÐÑ!Ô!Ð!Ø
€CÝ˜˜�w × 6Ò 6°q¸!Ñ <Ô <Ñ=Ô=Ð=Ý˜�u˜hŸlšl¨1™oœo×5Ò5°aÑ8Ô8Ñ9Ô9Ð9Ý�q˜(×4Ò4°s°e°WÑ=Ô=Ñ>Ô>Ð>àˆt‰vŒv€HØ×Ò˜[ÐÑ)Ô)Ð)à
€CÝ˜˜�w §¢¨Q°Ñ 2Ô 2× <Ò <¸QÑ ?Ô ?Ñ@Ô@Ð@Ý˜˜�w × 6Ò 6°q¸!Ñ <Ô <Ñ=Ô=Ð=Ý�q˜(×4Ò4°s°e°WÑ=Ô=Ñ>Ô>Ð>à9€IØ<€IÝ	Œ•~¨YÐ	7Ñ	7Ô	7ð %¸9Ý�˜)Ñ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %å�i”oÔ/µÑ@Ô@Ð@Ð@Ð@Ø�˜IœOÔ5Ñ6Ô6Ð6Ð6Ð6Ð6ð €CÝ˜$ ˜¨¨{Ð(;¸fÀe¸_ÐMÑNÔN€HÝ˜˜�w × 6Ò 6°q¸!Ñ <Ô <Ñ=Ô=Ð=Ý˜�u˜hŸlšl¨1™oœo×5Ò5°aÑ8Ô8Ñ9Ô9Ð9Ý�q˜(×4Ò4°s°e°WÑ=Ô=Ñ>Ô>Ð>Ð>Ð>s   ÏO0Ï0O4Ï7O4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 ‚d S )Nrl  rv   r¿   r   ©r¿   r¿   r^   )	r   rf   rv   rX   r^   r[   ÚhasattrrS  rU   )r³   s    r:   Útest_pipeline_ducktypingr‹  ,  sW  € Ý�T !™WœWÑ%Ô%€HØÔÐØÔÐØÔÐå�V™XœXÑ&Ô&€HÝ�x Ñ+Ô+Ð+Ð+Ð+ØÔÐØÔÐå˜]Ñ+Ô+€HØŒ>˜!ÔÐ >Ò>Ð>Ð>Ð>Ý�x Ñ+Ô+Ð+Ð+Ð+ØÔÐØÔÐå�V™XœX¥{¡}¤}Ñ5Ô5€HÝ�x Ñ+Ô+Ð+Ð+Ð+ØÔÐÝ�xÐ!4Ñ5Ô5Ð5Ð5Ð5å�[™]œ]­F©H¬HÑ5Ô5€HÝ�x Ñ+Ô+Ð+Ð+Ð+ØÔÐÝ�xÐ!4Ñ5Ô5Ð5Ð5Ð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 ‚d S )Nr   ztransf-1rg   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¬
¦  «        }|                     | |¦  «         |                     | ¦  «        }t          d|fd|fgdd	i¬
¦  «        }|                     | |¦  «        }t          dt          ¦   «         fd|fd|fgdd	i¬
¦  «        }|                     | |¦  «        }t          |d d …d d…f         d	|                     | ¦  «        z  ¦  «         t          |d d …df         |                     | |¦  «                             ¦   «         ¦  «         t          |d d …d d…f         d	|                     | ¦  «        z  ¦  «         t          |d d …df         |                     | |¦  «                             ¦   «         ¦  «         |j        | j        d         dfk    sJ ‚d S )Nr¼   rü   r   ©ræ   rå   rá   rg   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Ñ
FÔ
F€CÝ˜1ÐÑÔ€Få	Ø
�ˆ˜ &Ð)Ð*ÀÈÀð
ñ 
ô 
€Bð ‡F‚Fˆ1ˆa�L„L€LØ—L’L ‘O”O€Må	Ø
�ˆ˜ &Ð)Ð*ÀÈÀð
ñ 
ô 
€Bð ×(Ò(¨¨AÑ.Ô.Ðå	Ø
•&‘(”(Ð	˜e S˜\¨H°fÐ+=Ð>Ø# R˜Lð
ñ 
ô 
€Bð #%×"2Ò"2°1°aÑ"8Ô"8Ðõ ˜m¨A¨A¨A¨s°¨s¨FÔ3°R¸#×:KÒ:KÈAÑ:NÔ:NÑ5NÑOÔOÐOÝ�} Q Q Q¨ UÔ+¨V×-AÒ-AÀ!ÀQÑ-GÔ-G×-MÒ-MÑ-OÔ-OÑPÔPÐPÝÐ/°°°°3°B°3°Ô7¸¸c×>OÒ>OÐPQÑ>RÔ>RÑ9RÑSÔSÐSÝÐ(¨¨¨¨B¨Ô/°×1EÒ1EÀaÈÑ1KÔ1K×1QÒ1QÑ1SÔ1SÑTÔTÐ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        d         t          | ¦  «        k    sJ ‚|                     | ¦  «         |                     | ¦  «        }|j        |j        k    sJ ‚t          |                     ¦   «         |                     ¦   «         ¦  «         | 	                    | ¦  «        }t          |                     ¦   «         |                     ¦   «         ¦  «         |                     | ¦  «        }t          |                     ¦   «         |                     ¦   «         ¦  «         d S )	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  s÷  € å€Aå	à•o¨vÐ6Ñ6Ô6Ð7Ø•o¨vÐ6Ñ6Ô6Ð7ð	
ñ
ô 
€Bõ à•o¨vÐ6Ñ6Ô6Ð7Ø•o¨vÐ6Ñ6Ô6Ð7ð	
ð ðñ ô €Kõ  à•o¨vÐ6Ñ6Ô6Ð7Ø•o¨vÐ6Ñ6Ô6Ð7ð	
ð ðñ ô €Lð ‡F‚Fˆ1�I„I€IØ—L’L ‘O”O€MØÔ˜qÔ!¥S¨¡V¤VÒ+Ð+Ð+Ð+à‡O‚O�AÑÔÐØ(×2Ò2°1Ñ5Ô5ÐØÔÐ"8Ô">Ò>Ð>Ð>Ð>Ý�}×,Ò,Ñ.Ô.Ð0F×0NÒ0NÑ0PÔ0PÑQÔQÐQð +×8Ò8¸Ñ;Ô;ÐÝ�}×,Ò,Ñ.Ô.Ð0G×0OÒ0OÑ0QÔ0QÑRÔRÐRð +×4Ò4°QÑ7Ô7ÐÝ�}×,Ò,Ñ.Ô.Ð0G×0OÒ0OÑ0QÔ0QÑRÔRÐRÐRÐRr<   c                  ó4  — t          d¬¦  «        } t          dd¬¦  «        }t          d|fd| fg¦  «        }|                     t          ¦  «         |                     ¦   «         }|D ]}d|v sd	|v sJ ‚Œt          |¦  «        d
k    sJ ‚t          dt          ¦   «         fg¦  «                             dgg¦  «        }t          j        d¦  «        }t          j
        t          |¬¦  «        5  |                     ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nr™  rš  Úchar_wb)rÐ   rÐ   )r›  Úngram_rangerœ  r˜  Úchars__Úwords__é#   Útr1rg   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±  ¥  ss  € Ý¨Ð0Ñ0Ô0€IÝ¨ÀÐGÑGÔG€IÝ	˜ Ð+¨g°yÐ-AÐBÑ	CÔ	C€BØ‡F‚F�>ÑÔÐØ×,Ò,Ñ.Ô.€MØð 6ð 6ˆØ˜DÐ Ð  I°Ð$5Ð$5Ð$5Ð$5øÝˆ}ÑÔ Ò#Ð#Ð#Ð#å	˜�v™xœxÐ(Ð)Ñ	*Ô	*×	.Ò	.°°¨uÑ	5Ô	5€Bå
Œ)ØNñô €Cõ 
Œ•~¨SÐ	1Ñ	1Ô	1ð #ð #Ø
× Ò Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð #ð #s   Ã+DÄDÄDc                  óŒ  — t           j        } t           j        }t          t	          d¬¦  «        t          ¦   «         ¦  «        }|                     | |¦  «         t          j        t          ¦  «        5  t          |d¦  «         d d d ¦  «         n# 1 swxY w Y   t          t	          d¬¦  «        t          d¬¦  «        ¦  «        }t          j        t          ¦  «        5  t          |d¦  «         d d d ¦  «         n# 1 swxY w Y   |                     | |¦  «         t          |j        t          j        |¦  «        ¦  «         d S )Nrg   rÄ   Úclasses_r   ©rá   )rÇ   rÈ   rÉ   r   r   r   rI   r¨   r©   rò   r  r   r/   r³  rn   r  )rG   rH   Úregrœ   s       r:   Útest_classes_propertyr¶  ¸  s…  € ÝŒ	€AÝŒ€Aå
� aÐ(Ñ(Ô(Õ*:Ñ*<Ô*<Ñ
=Ô
=€CØ‡G‚GˆAˆq�M„M€MÝ	Œ•~Ñ	&Ô	&ð !ð !Ý��ZÑ Ô Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !õ � aÐ(Ñ(Ô(Õ*<È!Ð*LÑ*LÔ*LÑ
MÔ
M€CÝ	Œ•~Ñ	&Ô	&ð !ð !Ý��ZÑ Ô Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !à‡G‚GˆAˆq�M„M€MÝ�s”|¥R¤Y¨q¡\¤\Ñ2Ô2Ð2Ð2Ð2s$   Á2BÂBÂBÃC<Ã<D ÄD c                  ó  — t          d¦  «        } t          d¦  «        }t          d¦  «        }d„ |_        d„ | _        d„ |_        t          d| fd|fg¦  «        }t          ddgg|                     t          j        d	gg¦  «        ¦  «        ¦  «         t          d
dg|                     ¦   «         ¦  «         d|fg|_        t          dgg|                     t          j        d	gg¦  «        ¦  «        ¦  «         t          dg|                     ¦   «         ¦  «         |                     d|fg¬¦  «         t          dgg|                     t          j        d	gg¦  «        ¦  «        ¦  «         t          dg|                     ¦   «         ¦  «         |                     |¬¦  «         t          dgg|                     t          j        d	gg¦  «        ¦  «        ¦  «         t          dg|                     ¦   «         ¦  «         d S )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  rg   Úm2__x2Úm3__x3rp  Úm5__x5r(  )r,  Úmock__x3rd  Úmock__x5)	rf   r«  r   r/   rX   rn   ro   r,  rR   )ri  rv  rw  r®  s       r:   Útest_set_feature_union_stepsrÉ  È  sÜ  € Ý�‰GŒG€EÝ�‰GŒG€EÝ�‰GŒG€Eà"?Ð"?€EÔØ"?Ð"?€EÔØ"?Ð"?€EÔå	˜˜e�} t¨U mÐ4Ñ	5Ô	5€BÝ˜˜A˜�x §¢­b¬j¸1¸#¸Ñ.?Ô.?Ñ!@Ô!@ÑAÔAÐAÝ˜ (Ð+¨R×-EÒ-EÑ-GÔ-GÑHÔHÐHð ! %˜=˜/€BÔÝ˜˜�u˜bŸlšl­2¬:¸°s°eÑ+<Ô+<Ñ=Ô=Ñ>Ô>Ð>Ý˜�z 2×#;Ò#;Ñ#=Ô#=Ñ>Ô>Ð>ð ‡M‚M V¨U OÐ#4€MÑ5Ô5Ð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|                     |¦  «                             |¦  «        ¦  «         t          ddgg|                     |¦  «        ¦  «         t          dd	g|                     ¦   «         ¦  «         | 	                    d
¬¦  «         t          dgg|                     |¦  «                             |¦  «        ¦  «         t          dgg|                     |¦  «        ¦  «         t          d	g|                     ¦   «         ¦  «         | 	                    d
¬¦  «         t          g g|                     |¦  «                             |¦  «        ¦  «         t          g g|                     |¦  «        ¦  «         t          g |                     ¦   «         ¦  «         | 	                    |¬¦  «         t          dgg|                     |¦  «                             |¦  «        ¦  «         t	          dd|fg¦  «        }t          dgg|                     |¦  «                             |¦  «        ¦  «         t          dgg|                     |¦  «        ¦  «         t          d	g|                     ¦   «         ¦  «         d S )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<   rg   rm  ro  rÄ  rÅ  Údroprƒ  r€  )rm  rÍ  )
rf   r«  rn   ro   r   r/   rI   rX   rï   rR   )ri  rv  rG   r®  s       r:   Ú test_set_feature_union_step_droprÎ  å  s”  € Ý�‰GŒG€EÝ�‰GŒG€Eà"?Ð"?€EÔØ"?Ð"?€EÔå
Œ
�Q�C�5ÑÔ€Aå	˜˜e�} t¨U mÐ4Ñ	5Ô	5€BÝ˜˜A˜�x §¢¨¡¤×!4Ò!4°QÑ!7Ô!7Ñ8Ô8Ð8Ý˜˜A˜�x ×!1Ò!1°!Ñ!4Ô!4Ñ5Ô5Ð5Ý˜ (Ð+¨R×-EÒ-EÑ-GÔ-GÑHÔHÐHà‡M‚M�V€MÑÔÐÝ˜˜�u˜bŸfšf Q™iœi×1Ò1°!Ñ4Ô4Ñ5Ô5Ð5Ý˜˜�u˜b×.Ò.¨qÑ1Ô1Ñ2Ô2Ð2Ý˜�z 2×#;Ò#;Ñ#=Ô#=Ñ>Ô>Ð>à‡M‚M�V€MÑÔÐÝ˜�t˜RŸVšV A™YœY×0Ò0°Ñ3Ô3Ñ4Ô4Ð4Ý˜�t˜R×-Ò-¨aÑ0Ô0Ñ1Ô1Ð1Ý�r˜2×3Ò3Ñ5Ô5Ñ6Ô6Ð6ð ‡M‚M�U€MÑÔÐÝ˜˜�u˜bŸfšf Q™iœi×1Ò1°!Ñ4Ô4Ñ5Ô5Ð5õ 
�~¨¨e }Ð5Ñ	6Ô	6€BÝ˜˜�u˜bŸfšf Q™iœi×1Ò1°!Ñ4Ô4Ñ5Ô5Ð5Ý˜˜�u˜b×.Ò.¨qÑ1Ô1Ñ2Ô2Ð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|                     |¦  «                             |¦  «        ¦  «         t          ddgg|                     |¦  «        ¦  «         t          dd	g|                     ¦   «         ¦  «         | 	                    d
¬¦  «         t          ddgg|                     |¦  «                             |¦  «        ¦  «         t          ddgg|                     |¦  «        ¦  «         t          dd	g|                     dg¦  «        ¦  «         | 	                    d
¬¦  «         t          ddgg|                     |¦  «                             |¦  «        ¦  «         t          ddgg|                     |¦  «        ¦  «         t          ddg|                     dg¦  «        ¦  «         | 	                    |¬¦  «         t          ddgg|                     |¦  «                             |¦  «        ¦  «         t          ddgg|                     |¦  «        ¦  «         t          dd	g|                     dg¦  «        ¦  «         t	          dd|fg¦  «        }t          ddgg|                     |¦  «                             |¦  «        ¦  «         t          ddgg|                     |¦  «        ¦  «         t          dd	g|                     dg¦  «        ¦  «         t          j        }|j        d         }t          ddd¬¦  «        }t	          dd|fg¦  «        }t          ||                     |¦  «                             |¦  «        dd…d|…f         ¦  «         t          ||                     |¦  «        dd…d|…f         ¦  «         t          g d¢|                     g d¢¦  «        ¦  «         | 	                    d
¬¦  «         |                     |¦  «                             |¦  «        }t          |t          j        ||g¦  «        ¦  «         |                     |¦  «        }t          |t          j        ||g¦  «        ¦  «         t          g d¢|                     g d¢¦  «        ¦  «         | 	                    |¬¦  «         t          ||                     |¦  «                             |¦  «        dd…| d…f         ¦  «         t          ||                     |¦  «        dd…| d…f         ¦  «         t          g d¢|                     g d¢¦  «        ¦  «         t	          dd|fgd
di¬¦  «        }t          |dz  |                     |¦  «                             |¦  «        dd…d|…f         ¦  «         t          |dz  |                     |¦  «        dd…d|…f         ¦  «         t          g d¢|                     g d¢¦  «        ¦  «         dS )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<   rg   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«  rn   ro   r   r/   rI   rX   rï   rR   rÇ   rÈ   rî   r
   Úhstack)ri  rv  rG   r®  Úcolumnsrè   ÚX_fts          r:   Ú"test_set_feature_union_passthroughrè    sF  € å�‰GŒG€EÝ�‰GŒG€Eð #@Ð"?€EÔØ"?Ð"?€EÔå
Œ
�Q�C�5ÑÔ€Aå	˜˜e�} t¨U mÐ4Ñ	5Ô	5€BÝ˜˜A˜�x §¢¨¡¤×!4Ò!4°QÑ!7Ô!7Ñ8Ô8Ð8Ý˜˜A˜�x ×!1Ò!1°!Ñ!4Ô!4Ñ5Ô5Ð5Ý˜ (Ð+¨R×-EÒ-EÑ-GÔ-GÑHÔHÐHà‡M‚M�]€MÑ#Ô#Ð#Ý˜˜A˜�x §¢¨¡¤×!4Ò!4°QÑ!7Ô!7Ñ8Ô8Ð8Ý˜˜A˜�x ×!1Ò!1°!Ñ!4Ô!4Ñ5Ô5Ð5Ý˜ hÐ/°×1IÒ1IÈ8È*Ñ1UÔ1UÑVÔVÐVà‡M‚M�]€MÑ#Ô#Ð#Ý˜˜A˜�x §¢¨¡¤×!4Ò!4°QÑ!7Ô!7Ñ8Ô8Ð8Ý˜˜A˜�x ×!1Ò!1°!Ñ!4Ô!4Ñ5Ô5Ð5ÝØ	�|Ð$ b×&>Ò&>À¸zÑ&JÔ&Jñô ð ð
 ‡M‚M�U€MÑÔÐÝ˜˜A˜�x §¢¨¡¤×!4Ò!4°QÑ!7Ô!7Ñ8Ô8Ð8Ý˜˜A˜�x ×!1Ò!1°!Ñ!4Ô!4Ñ5Ô5Ð5Ý˜ hÐ/°×1IÒ1IÈ8È*Ñ1UÔ1UÑVÔVÐVõ 
Ð,¨t°U¨mÐ<Ñ	=Ô	=€BÝ˜˜A˜�x §¢¨¡¤×!4Ò!4°QÑ!7Ô!7Ñ8Ô8Ð8Ý˜˜A˜�x ×!1Ò!1°!Ñ!4Ô!4Ñ5Ô5Ð5Ý˜ hÐ/°×1IÒ1IÈ8È*Ñ1UÔ1UÑVÔVÐVåŒ	€AØŒg�aŒj€GÝ
˜1¨ÀAÐ
FÑ
FÔ
F€Cå	Ð5¸¸s°|ÐDÑ	EÔ	E€BÝ�q˜"Ÿ&š& ™)œ)×-Ò-¨aÑ0Ô0°°°°H°W°H°Ô=Ñ>Ô>Ð>Ý�q˜"×*Ò*¨1Ñ-Ô-¨a¨a¨a°°'°¨kÔ:Ñ;Ô;Ð;Ýð	
ð 	
ð 	
ð 	× Ò Ð!9Ð!9Ð!9Ñ:Ô:ñ
ô 
ð 
ð ‡M‚M�m€MÑ$Ô$Ð$Ø�6Š6�!‰9Œ9×Ò˜qÑ!Ô!€DÝ�t�RœY¨¨1 vÑ.Ô.Ñ/Ô/Ð/Ø×Ò˜AÑÔ€DÝ�t�RœY¨¨1 vÑ.Ô.Ñ/Ô/Ð/Ýð		
ð 		
ð 		
ð 	× Ò Ð!9Ð!9Ð!9Ñ:Ô:ñô ð ð ‡M‚M˜c€MÑ"Ô"Ð"Ý�q˜"Ÿ&š& ™)œ)×-Ò-¨aÑ0Ô0°°°°W°H°I°I°Ô>Ñ?Ô?Ð?Ý�q˜"×*Ò*¨1Ñ-Ô-¨a¨a¨a°'°°°¨lÔ;Ñ<Ô<Ð<Ýð	
ð 	
ð 	
ð 	× Ò Ð!9Ð!9Ð!9Ñ:Ô:ñ
ô 
ð 
õ 
Ø	'¨%°¨Ð6Ø*¨AÐ.ð
ñ 
ô 
€Bõ �q˜1‘u˜bŸfšf Q™iœi×1Ò1°!Ñ4Ô4°Q°Q°Q¸¸¸°[ÔAÑBÔBÐBÝ�q˜1‘u˜b×.Ò.¨qÑ1Ô1°!°!°!°X°g°X°+Ô>Ñ?Ô?Ð?Ýð	
ð 	
ð 	
ð 	× Ò Ð!9Ð!9Ð!9Ñ:Ô:ñ
ô 
ð 
ð 
ð 
r<   c                  óÚ   — t           j        } t          ddd¬¦  «        }t          d|fdg¦  «        }|                     | ¦  «         t          g d¢|                     ¦   «         ¦  «         dS )	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  s   € åŒ	€AÝ
˜1¨ÀAÐ
FÑ
FÔ
F€Cå	˜˜s�|Ð%CÐDÑ	EÔ	E€BØ‡F‚Fˆ1�I„I€IÝð	
ð 	
ð 	
ð 	× Ò Ñ"Ô"ñ
ô 
ð 
ð 
ð 
r<   c                  óÞ   — t           j        } t          ddd¬¦  «        }t          d|fdgd¬¦  «        }|                     | ¦  «         t          g d	¢|                     ¦   «         ¦  «         d
S )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Ñ
FÔ
F€Cå	Ø
�ˆÐ5Ð6ÐRWð
ñ 
ô 
€Bð ‡F‚Fˆ1�I„I€IÝð	
ð 	
ð 	
ð 	× Ò Ñ"Ô"ñ
ô 
ð 
ð 
ð 
r<   c                  óº  — t          j        d¦  «        } |                      ddgddggddg¬¦  «        }t          d„ d	„ ¬
¦  «        }t	          dt          ¦   «         fd|fgd¬¦  «        }|                     |¦  «         t          j        d¦  «        }t          j	        t          |¬¦  «        5  |                     ¦   «          ddd¦  «         dS # 1 swxY w Y   dS )zFCheck get_feature_names_out and non-verbose names and colliding names.Úpandasrg   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   )rn   ro   )r9   rt  s     r:   r½  zStest_feature_union_passthrough_get_feature_names_out_false_errors.<locals>.<lambda>©  s   € ½b¼jÈ#ÈÑ>OÔ>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Ð.Oðñ ô €Hõ Ø
•Ñ Ô Ð	! D¨(Ð#3Ð4Ø"'ðñ ô €Eð 
‡I‚Iˆa�L„L€Lå
Œ)ð	Uñô €Cõ
 
Œ•z¨Ð	-Ñ	-Ô	-ð &ð &Ø×#Ò#Ñ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &ð &ð &s   Â.CÃCÃCc                  óÈ  — t          j        d¦  «        } |                      t          t	          d¦  «        ¦  «        gd„ t	          d¦  «        D ¦   «         ¬¦  «        }t          ddgd¬¦  «        }|                     |¦  «         t          j        d	¦  «        }t          j	        t          |¬
¦  «        5  |                     ¦   «          ddd¦  «         dS # 1 swxY w Y   dS )zLCheck get_feature_names_out with non-verbose names and >= 5 colliding names.rú  r@  c                 ó   — g | ]}d |› �‘ŒS )ÚfrB   )rr  Úis     r:   ru  zdtest_feature_union_passthrough_get_feature_names_out_false_errors_overlap_over_5.<locals>.<listcomp>½  s   € Ð0LÐ0LÐ0L¸Q°°Q°°Ð0LÐ0LÐ0Lr<   rû  )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  rG   r  r´   s       r:   ÚPtest_feature_union_passthrough_get_feature_names_out_false_errors_overlap_over_5r
  º  s  € å	Ô	˜XÑ	&Ô	&€BØ
�Š•d�5 ™9œ9‘o”oÐ&Ð0LÐ0LÅ%ÈÁ)Ä)Ð0LÑ0LÔ0LˆÑMÔM€AåØ	Ð 5Ð6Ø"'ðñ ô €Eð
 
‡I‚Iˆa�L„L€Lå
Œ)ð	ñô €Cõ 
Œ•z¨Ð	-Ñ	-Ô	-ð &ð &Ø×#Ò#Ñ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &ð &ð &s   Â5CÃCÃCc                  óî  — 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 �]Þ\  }}	t          j        t
          |	¬¦  «        5   |di ||i¤Ž                     dggdg¦  «         d d d ¦  «         n# 1 swxY w Y    |di |dt          d¦  «        fgi¤Ž}
t          |
||¦  «         t          j        t
          |	¬¦  «        5  |
                     dggdg¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t
          |	¬¦  «        5  |
                     dggdg¦  «         d d d ¦  «         n# 1 swxY w Y    |di |dt          d¦  «        fgi¤Ž}
 |
j	        di ||i¤Ž t          j        t
          |	¬¦  «        5  |
                     dggdg¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t
          |	¬¦  «        5  |
                     dggdg¦  «         d d d ¦  «         n# 1 swxY w Y   �Œà�Œd S )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�   rg   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  Ð  s	  € ØL€OØD€OØV€OØ�4 ™7œ7Ð# c­4°©7¬7 ^Ð4€JØ�˜Q™œ�. 3­¨Q©¬ .Ð1€JÝ  'Ð*­\Ð;MÐ,NÐOð .ñ .‰
ˆˆUà�D ™GœG�n u­d°1©g¬gÐ&6Ð7ˆ
à˜Ð)Ø˜Ð)Ø˜¨5Ñ0Ð1ð#
ð 	.ñ 	.ÑˆI�wõ ”�z°Ð9Ñ9Ô9ð :ð :Ø�Ð)Ð)�u˜iÐ(Ð)Ð)×-Ò-°¨s¨e°a°SÑ9Ô9Ð9ð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :ð �#Ð2Ð2˜ #¥t¨A¡w¤w Ð 0Ð1Ð2Ð2ˆCÝ�C˜ 	Ñ*Ô*Ð*Ý”�z°Ð9Ñ9Ô9ð $ð $Ø—’˜!˜˜ ˜sÑ#Ô#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $õ ”�z°Ð9Ñ9Ô9ð .ð .Ø×!Ò! A 3 %¨!¨Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .ð �#Ð2Ð2˜ #¥t¨A¡w¤w Ð 0Ð1Ð2Ð2ˆCØˆCŒNÐ0Ð0˜e YÐ/Ð0Ð0Ð0Ý”�z°Ð9Ñ9Ô9ð $ð $Ø—’˜!˜˜ ˜sÑ#Ô#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $õ ”�z°Ð9Ñ9Ô9ð .ð .Ø×!Ò! A 3 %¨!¨Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .ùñ3	.ð.ð .sZ   Â4"C"Ã"C&Ã)C&Ä3EÅEÅ EÅ?F%Æ%F)Æ,F)Ç4HÈHÈ!HÉ I&É&I*É-I*c                  óô   — t          dt          dt          ¦   «         fg¦  «        fg¦  «        } |                      dt          ¦   «         ¬¦  «         |                      dt	          ¦   «         fgd¬¦  «         d S )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@Ô0@Ð*AÐ)BÑ CÔ CÐDÐEÑFÔF€IØ×Ò Uµ±´ÐÑ9Ô9Ð9Ø×Ò CÕ);Ñ)=Ô)=Ð#>Ð"?ÈÐÑKÔKÐKÐKÐKr<   c                  óŒ	  — 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        d         j        }t          |                     | ¦  «        |                     | ¦  «        ¦  «         t          |                     | ¦  «        |                     | ¦  «        ¦  «         t          |                     | ¦  «        |                     | ¦  «        ¦  «         t          |                     | |¦  «        |                     | |¦  «        ¦  «         t          |j        d         j        |j        d         j        ¦  «         t'          |d	¦  «        rJ ‚| 
                    | |¦  «         t          |                     | ¦  «        |                     | ¦  «        ¦  «         t          |                     | ¦  «        |                     | ¦  «        ¦  «         t          |                     | ¦  «        |                     | ¦  «        ¦  «         t          |                     | |¦  «        |                     | |¦  «        ¦  «         t          |j        d         j        |j        d         j        ¦  «         ||j        d         j        k    sJ ‚t          dd¬¦  «        }	t          ¦   «         }
t          d
|
fd|	fg|¬¦  «        }| 
                    | |¦  «         t          |                     | ¦  «        |                     | ¦  «        ¦  «         t          |                     | ¦  «        |                     | ¦  «        ¦  «         t          |                     | ¦  «        |                     | ¦  «        ¦  «         t          |                     | |¦  «        |                     | |¦  «        ¦  «         t          |j        d         j        |j        d
         j        ¦  «         ||j        d
         j        k    sJ ‚	 t)          j        |¦  «         d S # 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.  ü  sY  € ÝŒ	€AÝŒ€AÝ‰yŒy€Hð8 Ý”¨¸"Ð=Ñ=Ô=ˆå˜d°Ð3Ñ3Ô3ˆÝ‘”ˆÝ˜(¥E¨&¡M¤MÐ2°U¸C°LÐAÑBÔBˆÝ ¨6Ð 2°U¸C°LÐAÈ&ÐQÑQÔQˆð 	�Š˜˜1ÑÔÐØ�Š��A‰ŒˆàÔ$ XÔ.Ô9ˆå˜4Ÿ<š<¨™?œ?¨K×,?Ò,?ÀÑ,BÔ,BÑCÔCÐCÝ˜4×-Ò-¨aÑ0Ô0°+×2KÒ2KÈAÑ2NÔ2NÑOÔOÐOÝ˜4×1Ò1°!Ñ4Ô4°k×6SÒ6SÐTUÑ6VÔ6VÑWÔWÐWÝ˜4Ÿ:š: a¨Ñ+Ô+¨[×->Ò->¸qÀ!Ñ-DÔ-DÑEÔEÐEÝØÔ˜XÔ&Ô-¨{Ô/FÀxÔ/PÔ/Wñ	
ô 	
ð 	
õ ˜6 8Ñ,Ô,Ð,Ð,Ð,ð 	�Š˜˜1ÑÔÐå˜4Ÿ<š<¨™?œ?¨K×,?Ò,?ÀÑ,BÔ,BÑCÔCÐCÝ˜4×-Ò-¨aÑ0Ô0°+×2KÒ2KÈAÑ2NÔ2NÑOÔOÐOÝ˜4×1Ò1°!Ñ4Ô4°k×6SÒ6SÐTUÑ6VÔ6VÑWÔWÐWÝ˜4Ÿ:š: a¨Ñ+Ô+¨[×->Ò->¸qÀ!Ñ-DÔ-DÑEÔEÐEÝØÔ˜XÔ&Ô-¨{Ô/FÀxÔ/PÔ/Wñ	
ô 	
ð 	
ð �[Ô,¨XÔ6ÔAÒAÐAÐAÐAõ  °1Ð5Ñ5Ô5ˆÝ‘=”=ˆÝ Ø˜(Ð# e¨U ^Ð4¸Vð
ñ 
ô 
ˆð 	×Ò˜!˜QÑÔÐõ 	˜4Ÿ<š<¨™?œ?¨M×,AÒ,AÀ!Ñ,DÔ,DÑEÔEÐEÝ˜4×-Ò-¨aÑ0Ô0°-×2MÒ2MÈaÑ2PÔ2PÑQÔQÐQÝØ×"Ò" 1Ñ%Ô% }×'FÒ'FÀqÑ'IÔ'Iñ	
ô 	
ð 	
õ 	˜4Ÿ:š: a¨Ñ+Ô+¨]×-@Ò-@ÀÀAÑ-FÔ-FÑGÔGÐGÝØÔ˜XÔ&Ô-ØÔ% jÔ1Ô8ñ	
ô 	
ð 	
ð �]Ô.¨zÔ:ÔEÒEÐEÐEÐEÐEåŒ�hÑÔÐÐÐø�Œ�hÑÔÐÐøøøs   ¨Q.R- Ò-Sc                  ól  — t          ¦   «         } t          j        | d¬¦  «        }t          t	          ¦   «         t          ¦   «         |¬¦  «        }|j        |u sJ ‚t          t	          ¦   «         t          ¦   «         ¦  «        }|j        �J ‚t          |¦  «        dk    sJ ‚t          j	        | ¦  «         d S )Nr@  r!  r#  r¼   )
r   r%  r&  r   r‹   r#   rQ  r   r'  r(  )r)  rQ  r³   s      r:   Útest_make_pipeline_memoryr0  ;  s    € Ý‰yŒy€HÝŒ] H°bÐ9Ñ9Ô9€FÝ�[™]œ]­C©E¬E¸&ÐAÑAÔA€HØŒ?˜fÐ$Ð$Ð$Ð$Ý�[™]œ]­C©E¬EÑ2Ô2€HØŒ?Ð"Ð"Ð"Ýˆx‰=Œ=˜AÒÐÐÐå
„M�(ÑÔÐÐÐr<   c                   ó&   — e Zd Zdd„Zdd„Zdd„ZdS )ÚFeatureNameSaverNc                 ó4   — |                       |d¬¦  «         | S )NT)Úreset)Ú_check_feature_namesrF   s      r:   rI   zFeatureNameSaver.fitH  s    € Ø×!Ò! !¨4Ð!Ñ0Ô0Ð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:   r2  r2  G  sP   € € € € € ðð ð ð ðð ð ð ðð ð ð ð ð r<   r2  c                  ó*  — t          dt          ¦   «         fddt          ¦   «         fg¬¦  «        } t          ¦   «         }|                      |j        |j        ¦  «         t          | dd…                              |j	        ¦  «        |j	        ¦  «         dS )z5Check pipeline.get_feature_names_out with passthroughr:  ©Úpassr¿   rœ   rc  Nr%  )
r   r2  r   r	   rI   rÈ   rÉ   r/   r«  r¯  )rµ   rÇ   s     r:   Útest_features_names_passthroughr;  S  sœ   € åàÕ&Ñ(Ô(Ð)Ø#ØÕ&Ñ(Ô(Ð)ð
ðñ ô €Dõ ‰;Œ;€DØ‡H‚HˆTŒY˜œÑ$Ô$Ð$ÝØˆSˆbˆSŒ	×'Ò'¨Ô(:Ñ;Ô;¸TÔ=Oñô ð ð ð r<   c                  ól  — t          dt          ¦   «         fdt          ¦   «         fg¬¦  «        } d„ t          D ¦   «         }|                      t          |¦  «         t          | dd…                              ¦   «         g d¢¦  «         t          | dd…                              d¦  «        g d¢¦  «         dS )	z5Check pipeline.get_feature_names_out with vectorizersÚvectrœ   rc  c                 ó   — g | ]}d |v ‘ŒS )ÚpizzarB   )rr  r¹   s     r:   ru  z7test_feature_names_count_vectorizer.<locals>.<listcomp>f  s   € Ð.Ð.Ð.˜!ˆ�AˆÐ.Ð.Ð.r<   Nr%  )ÚbeerÚburgerÚcokeÚ	copyrightr?  ÚtheÚnonsense_is_ignored)r   r   r   rž  rI   r/   r«  )rµ   rH   s     r:   Ú#test_feature_names_count_vectorizerrF  c  sÈ   € å˜F¥OÑ$5Ô$5Ð6¸Õ@RÑ@TÔ@TÐ8UÐVÐWÑWÔW€DØ.Ð.�~Ð.Ñ.Ô.€AØ‡H‚H�^˜QÑÔÐÝØˆSˆbˆSŒ	×'Ò'Ñ)Ô)Ø?Ð?Ð?ñô ð õ ØˆSˆbˆSŒ	×'Ò'Ð(=Ñ>Ô>Ø?Ð?Ð?ñô ð ð ð r<   c                  ó4  — t          dt          ¦   «         fg¬¦  «        } t          ¦   «         }|                      |j        |j        ¦  «         d}t          j        t          |¬¦  «        5  |  	                    ¦   «          ddd¦  «         dS # 1 swxY w Y   dS )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_definitionrI  r  sÑ   € õ ˜I¥w¡y¤yÐ1Ð2Ð3Ñ3Ô3€DÝ‰;Œ;€DØ‡H‚HˆTŒY˜œÑ$Ô$Ð$à
2€CÝ	Œ•~¨SÐ	1Ñ	1Ô	1ð %ð %Ø×"Ò"Ñ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð %ð %s   Á+BÂBÂBc                  óä   — t          t          ¦   «         ¦  «        } t          j        t          d¬¦  «        5  |                      dgdggddgddg¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz8Pipeline.fit does not accept the sample_weight parameterr�   r   rg   rÑ   )r   r   r¨   r©   r±   rI   )rœ   s    r:   Útest_pipeline_param_errorrK  ~  sÁ   € Ý
Õ*Ñ,Ô,Ñ
-Ô
-€CÝ	ŒÝÐTð
ñ 
ô 
ð :ð :ð 	�Š�!��q�c�
˜Q ˜F°1°a°&ˆÑ9Ô9Ð9ð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :ð :ð :s   ·!A%Á%A)Á,A)c              #   óÄ   K  — | ][\  \  }}}t          ||¦  «        rC|d k    r6t          |d¦  «        r&t          |j        d         d         t          ¦  «        °T|||fV — Œ\dS )rï   rS  r%  rg   N)rŠ  ró   rS  r~   )rr  r  Úpatternr  s       r:   ú	<genexpr>rN  †  s•   è è € ð <ð <á‰ˆˆg˜õh ˆs�FÑÔðm<ðp 	�/Ò!Ð!Ý�C˜Ñ!Ô!ð 	"å�s”y ”} QÔ'­Ñ3Ô3ð 	"ðo 	ˆ'�6Ððn 	"Ð!Ð!Ð!ðq<ð <r<   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$)rO  r¿   )rœ   N)r½   Nrj   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$)rP  rÍ  )rv  rÍ  z@\[FeatureUnion\].*\(step 1 of 1\) Processing mult2.* total=.*\n$)rI   rï   r‡   zest, pattern, methodc                 ól  — t          | |¦  «        }g d¢g d¢g}dgdgg}|                      d¬¦  «          |||¦  «         |                     ¦   «         j        r
J d¦   «         ‚|                      d¬¦  «          |||¦  «         t	          j        ||                     ¦   «         j        ¦  «        sJ ‚d S )	N©rg   r¼   rÐ   )r'  rl  r„  r“  rÒ   F)rR  zGot output for verbose=FalseT)r  rR   Ú
readouterrÚoutr¯   rž   )r  r  rM  ÚcapsysÚfuncrG   rH   s          r:   Útest_verboserW  Å  sÇ   € å�3˜ÑÔ€Dà	ˆˆ�I�I�IÐ€AØ
ˆˆqˆcˆ
€Aà‡N‚N˜5€NÑ!Ô!Ð!Ø€DˆˆA�J„J€JØ× Ò Ñ"Ô"Ô&ÐFÐFÐ(FÑFÔFÐFà‡N‚N˜4€NÑ Ô Ð Ø€DˆˆA�J„J€JÝŒ8�G˜V×.Ò.Ñ0Ô0Ô4Ñ5Ô5Ð5Ð5Ð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        cxk    rdk    sn J ‚t          ¦   «         }t          ¦   «         }t          ||¦  «        }|                     | |¦  «         |j        |j        cxk    rdk    sn J ‚t          |d¦  «        rJ ‚d S ©	Nrg   r¼   rÐ   r'  rl  r„  ©r   rg   r¼   Ún_features_in_)r"   r   r   rŠ  rI   r[  )rG   rH   ÚssÚgbdtrµ   s        r:   Útest_n_features_in_pipeliner^  Õ  s  € ð ˆQˆ�!�Q�˜!˜Q˜Ð €AØˆ	ˆ	€Aå	Ñ	Ô	€BÝ)Ñ+Ô+€DÝ˜˜TÑ"Ô"€DÝ�tÐ-Ñ.Ô.Ð.Ð.Ð.Ø‡H‚HˆQ��N„N€NØÔ "Ô"3Ð8Ð8Ò8Ð8°qÒ8Ð8Ð8Ð8Ð8Ð8õ 
Ñ	Ô	€BÝ)Ñ+Ô+€DÝ˜˜TÑ"Ô"€DØ‡F‚Fˆ1ˆa�L„L€LØÔ "Ô"3Ð8Ð8Ò8Ð8°qÒ8Ð8Ð8Ð8Ð8Ð8Ý�tÐ-Ñ.Ô.Ð.Ð.Ð.Ð.Ð.r<   c                  ó€  — ddgddgddgg} g d¢}t          ¦   «         }t          |¦  «        }t          |d¦  «        rJ ‚|                     | |¦  «         |j        |j        cxk    rdk    sn J ‚t          ¦   «         }t          |¦  «        }|                     | |¦  «         |j        |j        cxk    rdk    sn J ‚d S rY  )r"   r    rŠ  rI   r[  )rG   rH   r\  r9  s       r:   Ú test_n_features_in_feature_unionr`  ì  sè   € ð ˆQˆ�!�Q�˜!˜Q˜Ð €AØˆ	ˆ	€Aå	Ñ	Ô	€BÝ	�B‰Œ€BÝ�rÐ+Ñ,Ô,Ð,Ð,Ð,Ø‡F‚Fˆ1ˆa�L„L€LØÔ Ô 1Ð6Ð6Ò6Ð6°QÒ6Ð6Ð6Ð6Ð6Ð6õ 
Ñ	Ô	€BÝ	�B‰Œ€BØ‡F‚Fˆ1ˆa�L„L€LØÔ Ô 1Ð6Ð6Ò6Ð6°QÒ6Ð6Ð6Ð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  | 	                    ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  | 
                    ||¦  «         d d d ¦  «         n# 1 swxY w Y   | 	                    ||d¬¦  «         | 
                    ||d¬¦  «         d S )Nc                   ó   — e Zd Zdd„Zdd„ZdS )ú7test_feature_union_fit_params.<locals>.DummyTransformerNc                 ó$   — |ddik    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:   ÚDummyTransformerrc    s<   € € € € € ð	ð 	ð 	ð 	ð
	ð 	ð 	ð 	ð 	ð 	r<   rg  Údummy0Údummy1r   rP   )r   r   rÇ   rÈ   rÉ   r   r¨   r©   r±   rI   rï   ©rg  rG   rH   r¥   s       r:   Útest_feature_union_fit_paramsrk     s—  € ðð ð ð ð Õ+­]ñ ô ð õ Œ9•d”k€q€AÝ�xÐ!1Ð!1Ñ!3Ô!3Ð4°xÐAQÐAQÑASÔASÐ6TÐUÑVÔV€AÝ	Œ•zÑ	"Ô	"ð ð Ø	�Šˆa�‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Œ•zÑ	"Ô	"ð ð Ø	�Š˜˜1ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ‡E‚Eˆ!ˆQ�!€EÑÔÐØ‡O‚O�A�q˜A€OÑÔÐÐÐs$   Á0BÂBÂBÂ7CÃCÃ!Cc                  óh  —  G d„ dt           ¦  «        } t          j        t          j        }}t	          d | ¦   «         fd | ¦   «         fg¦  «        }t          j        t          ¦  «        5  |                     ||d¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                     ||d¬¦  «         d S )Nc                   ó   — e Zd Zdd„ZdS )úMtest_feature_union_fit_params_without_fit_transform.<locals>.DummyTransformerNc                 ó$   — |ddik    rt           ‚| S )NÚmetadatarg   re  rc   s       r:   rI   zQtest_feature_union_fit_params_without_fit_transform.<locals>.DummyTransformer.fit  s   € Ø˜j¨!˜_Ò,Ð,Ý Ð ØˆKr<   r5   rd   rB   r<   r:   rg  rn    s(   € € € € € ð	ð 	ð 	ð 	ð 	ð 	r<   rg  Únofittransform0Únofittransform1r   )rp  rg   )	r$   rÇ   rÈ   rÉ   r   r¨   r©   r±   rï   rj  s       r:   Ú3test_feature_union_fit_params_without_fit_transformrs    s  € ðð ð ð ð Õ=ñ ô ð õ Œ9•d”k€q€AÝàÐ 0Ð 0Ñ 2Ô 2Ð3ØÐ 0Ð 0Ñ 2Ô 2Ð3ð	
ñ	ô 	€Aõ 
Œ•zÑ	"Ô	"ð *ð *Ø	�Š˜˜1 qˆÑ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð ‡O‚O�A�q 1€OÑ%Ô%Ð%Ð%Ð%s   Á*BÂBÂBc                  óŠ  — t           j        t           j        }} t          j                             ddg| j        ddg¬¦  «                             t          ¦  «        }t          j	        | |<   t          t          ¦   «         t          ¦   «         ¦  «        }|                     | |¦  «                             | |¦  «        dk    sJ ‚d S )Nrg   r   r£   gÍÌÌÌÌÌì?)Úpgš™™™™™Ù?)rÇ   rÈ   rÉ   rn   ÚrandomÚchoicerî   ÚastypeÚboolÚnanr   r   r   rI   ry   )rG   rH   Úmaskrµ   s       r:   Ú%test_pipeline_missing_values_leniencyr|  /  s�   € õ Œ9•d”k€q€AÝŒ9×Ò˜Q ˜F A¤G°°S¨zÐÑ:Ô:×AÒAÅ$ÑGÔG€DÝŒ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  |                     | |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrg   r¼   rÐ   r'  rl  r„  rZ  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¤8Ð,Ð-Ðà˜aÐ €Gð	5ð õ Ð)¸wÐGÑGÔG€EÝ	Œ•z¨Ð	6Ñ	6Ô	6ð ð Ø�	Š	�!�Q‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÁA7Á7A;Á>A;c                 óv   — t          | t          ¦   «         ¦  «        }|                     ¦   «         d         rJ ‚d S )NÚpairwise)r   r#   Ú	_get_tags)r¿   rµ   s     r:   Útest_pipeline_get_tags_noner…  K  s8   € õ ˜¥c¡e¤eÑ,Ô,€DØ�~Š~ÑÔ 
Ô+Ð+Ð+Ð+Ð+Ð+r<   Ú	Predictorc                 óÌ  — t           j                             d¦  «        }|                     dd¦  «        t          j        dgdz  dgdz  z   ¦  «        }}t          dt          ¦   «         fd | ¦   «         fg¦  «        }|                     ||¦  «         |                     |¦  «        }t          |¦  «        rNt          |d¦  «         |                     ||¦  «        t          j        t          ||¦  «        ¦  «        k    sJ ‚d S t          ||                     ¦   «         ¦  «         |                     ||¦  «        t          j        t#          ||¦  «        ¦  «        k    sJ ‚d S )	Nr   é   r¼   rl  rg   é   r~  Ú	predictor)rn   rv  Ú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  sH  € õ Œ)×
Ò
 Ñ
"Ô
"€CØ�9Š9�R˜ÑÔ�RœX q c¨A¡g°°°b±Ñ&8Ñ9Ô9€q€AåØ
Õ+Ñ-Ô-Ð	.°¸i¸i¹k¼kÐ0JÐKñô €Eð 
‡I‚Iˆa��O„O€Oà�]Š]˜1ÑÔ€FÝ�UÑÔð GÝ˜6 1Ñ%Ô%Ð%Ø�{Š{˜1˜aÑ Ô ¥F¤Mµ.ÀÀFÑ2KÔ2KÑ$LÔ$LÒLÐLÐLÐLÐLÐLå˜ §¢¡¤Ñ)Ô)Ð)Ø�{Š{˜1˜aÑ Ô ¥F¤Mµ(¸1¸fÑ2EÔ2EÑ$FÔ$FÒFÐFÐFÐFÐFÐFr<   c                  óR  —  G d„ dt           ¦  «        } t          d | ¦   «         fg¦  «        }t          j        t          ¦  «        5  t          |¦  «         d d d ¦  «         n# 1 swxY w Y   |                     t          j        t          j	        ¦  «         t          |¦  «         d S )Nc                   ó   — e Zd Zd„ ZdS )ú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  sè   € ðð ð ð ð •Mñ ô ð õ
 ˜%  ¡¤Ð-Ð.Ñ/Ô/€HÝ	Œ•~Ñ	&Ô	&ð "ð "Ý˜Ñ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "à‡L‚L•”�DœKÑ(Ô(Ð(Ý�HÑÔÐÐÐs   ÁA#Á#A'Á*A'c                  óp  — 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	¦  «         n# 1 swxY w Y   |                     | |¦  «         t          |¦  «         t          d
g¦  «        }t          |¦  «         t          dt          ¦   «         fd
g¦  «        }t          j        t          ¦  «        5  t          |¦  «         d	d	d	¦  «         n# 1 swxY w Y   |                     | |¦  «         t          |¦  «         d	S )z1Check __sklearn_is_fitted__ is defined correctly.rg   r¼   rÐ   r'  rl  r„  rZ  rœ   Nr9  )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Ô"6Ð7Ð8Ñ9Ô9€EÝ	Œ•~Ñ	&Ô	&ð ð Ý˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð 
‡I‚Iˆa��O„O€OÝ�EÑÔÐõ Ð1Ð2Ñ3Ô3€EÝ�EÑÔÐå˜5Õ"4Ñ"6Ô"6Ð7Ð9PÐQÑRÔR€EÝ	Œ•~Ñ	&Ô	&ð ð Ý˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð 
‡I‚Iˆa��O„O€OÝ�EÑÔÐÐÐs$   ÁA#Á#A'Á*A'Ã*DÄD
ÄD
c                  óF  — t           j        t           j        }}  G d„ dt          ¦  «        }t	           |¦   «         t          ¦   «         ¦  «        }|                     | |¦  «         t           j        }|                     |¦  «        }t          |d„ |D ¦   «         ¦  «         dS )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>.AddPrefixStandardScalarNc                 ó’   •— t          ¦   «                              |¬¦  «        }t          j        d„ |D ¦   «         t          ¬¦  «        S )Nr»  c                 ó   — g | ]}d |› �‘ŒS ©Ú
my_prefix_rB   ©rr  rs  s     r:   ru  zƒtest_pipeline_get_feature_names_out_passes_names_through.<locals>.AddPrefixStandardScalar.get_feature_names_out.<locals>.<listcomp>œ  s!   € ÐEÐEÐE°tÐ2¨DÐ2Ð2ÐEÐEÐEr<   )Údtype)Úsuperr«  rn   ro   Úobject)r9   r¼  r:  Ú	__class__s      €r:   r«  zotest_pipeline_get_feature_names_out_passes_names_through.<locals>.AddPrefixStandardScalar.get_feature_names_outš  sA   ø€ Ý‘G”G×1Ò1ÀÐ1ÑPÔPˆEÝ”:ÐEÐE¸uÐEÑEÔEÍVÐTÑTÔTÐTr<   r5   )r>   r?   r@   r«  Ú__classcell__)r¦  s   @r:   ÚAddPrefixStandardScalarr�  ™  sG   ø€ € € € € ð	Uð 	Uð 	Uð 	Uð 	Uð 	Uð 	Uð 	Uð 	Uð 	Ur<   r¨  c                 ó   — g | ]}d |› �‘ŒS r   rB   r¢  s     r:   ru  zLtest_pipeline_get_feature_names_out_passes_names_through.<locals>.<listcomp>¤  s!   € Ð*WÐ*WÐ*WÀ4Ð+>¸Ð+>Ð+>Ð*WÐ*WÐ*Wr<   N)	rÇ   rÈ   rÉ   r"   r   rI   r¯  r«  r/   )rG   rH   r¨  rµ   Úinput_namesrþ  s         r:   Ú8test_pipeline_get_feature_names_out_passes_names_throughr«  ’  s·   € õ
 Œ9•d”k€q€AðUð Uð Uð Uð U¥.ñ Uô Uð Uõ
 Ð0Ð0Ñ2Ô2µNÑ4DÔ4DÑEÔE€DØ‡H‚HˆQ��N„N€NåÔ$€KØ×2Ò2°;Ñ?Ô?ÐåÐ(Ð*WÐ*WÈ;Ð*WÑ*WÔ*WÑXÔXÐXÐXÐXr<   c                  óp  — t          j        d¦  «         t          dd¬¦  «        \  } }t          t	          ¦   «         t          ¦   «         ¦  «        }|                     d¬¦  «         |                     | |¦  «         |dd…                              ¦   «         }|d         j	        }t          ||¦  «         dS )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Ñ4Ô4�D€A€qå�Ñ)Ô)Õ+=Ñ+?Ô+?Ñ@Ô@€DØ‡O‚O˜h€OÑ'Ô'Ð'Ø‡H‚HˆQ��N„N€Nà˜S˜b˜Sœ	×7Ò7Ñ9Ô9ÐØ  œHÔ6ÐåÐ(Ð*?Ñ@Ô@Ð@Ð@Ð@r<   c                  ó  — t          j        d¦  «        } t          dd¬¦  «        \  }}t          |d¬¦  «        \  }}t	          dt          ¦   «         fdt          ¦   «         fg¦  «        }|                     d¬¦  «         |                     |¦  «         | 	                    |¦  «        }t          || j        ¦  «        sJ ‚t          |j        |                     ¦   «         ¦  «         t          |j        |j        ¦  «         d	S )
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   rt  ÚX_trainÚX_testr  rE  s          r:   Útest_feature_union_set_outputrº  ·  sí   € å	Ô	˜XÑ	&Ô	&€Bå˜d¨tÐ4Ñ4Ô4�D€A€qÝ& q°qÐ9Ñ9Ô9�O€GˆVÝ˜8¥^Ñ%5Ô%5Ð6¸ÅÁÄ¸ÐGÑHÔH€EØ	×Ò˜xÐÑ(Ô(Ð(Ø	‡I‚IˆgÑÔÐà�oŠo˜fÑ%Ô%€GÝ�g˜rœ|Ñ,Ô,Ð,Ð,Ð,Ý�w”¨×(CÒ(CÑ(EÔ(EÑFÔFÐFÝ�w”} f¤lÑ3Ô3Ð3Ð3Ð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 ‚d	S )
z8Check FeatureUnion.__getitem__ returns expected results.r¶  rè   r9  )Údrop_merÍ  r:  r¿   r¼  rÍ  N)r"   r
   r   )r¶  rè   r  s      r:   Útest_feature_union_getitemr½  Ç  sœ   € åÑÔ€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¦  «         dS # 1 swxY w Y   dS )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À  Ù  s°   € õ ˜8¥^Ñ%5Ô%5Ð6¸ÅÁÄ¸ÐGÑHÔH€Eà
*€CÝ	Œ•x sÐ	+Ñ	+Ô	+ð ð ØˆcŒ
ˆ
ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á	A!Á!A%Á(A%c                  ó„  — t          j        d¦  «         t          dd¬¦  «        \  } }t          ¦   «         }|                     | ¦  «         t          d|fg¦  «        }t          |d¦  «        sJ ‚t          | j        |j	        ¦  «         t          |j	        |j	        ¦  «         t          dg¦  «        }|                     | ¦  «         t          |d¦  «        sJ ‚t          | j        |j	        ¦  «         |  
                    ¦   «         }t          dg¦  «        }|                     |¦  «         t          |d¦  «        rJ ‚dS )zxEnsure feature union has `.feature_names_in_` attribute if `X` has a
    `columns` attribute.

    Test for #24754.
    rú  Tr­  Úscaler²  r9  N)r¨   rÿ  r	   r"   rI   r   rŠ  r/   ræ  r²  Úto_numpy)rG   rt  r  r  ÚX_arrays        r:   Ú$test_feature_union_feature_names_in_rÅ  ä  s;  € õ Ô˜Ñ!Ô!Ð!å˜d¨tÐ4Ñ4Ô4�D€A€qõ ÑÔ€FØ
‡J‚Jˆq�M„M€MÝ˜7 FÐ+Ð,Ñ-Ô-€EÝ�5Ð-Ñ.Ô.Ð.Ð.Ð.Ý�q”y %Ô"9Ñ:Ô:Ð:Ý�vÔ/°Ô1HÑIÔIÐIõ Ð1Ð2Ñ3Ô3€EØ	‡I‚Iˆa�L„L€LÝ�5Ð-Ñ.Ô.Ð.Ð.Ð.Ý�q”y %Ô"9Ñ:Ô:Ð:ð �jŠj‰lŒl€GÝÐ1Ð2Ñ3Ô3€EØ	‡I‚IˆgÑÔÐÝ�uÐ1Ñ2Ô2Ð2Ð2Ð2Ð2Ð2r<   c                  ó8  — t           j                             d¦  «                             d¬¦  «        } t	          dt          d¬¦  «        fg¦  «        }|                     | ¦  «        } t          j        t          d¬¦  «        5  | 
                    ¦   «          d d d ¦  «         n# 1 swxY w Y   t          j        t          d	¬¦  «        5  | 
                    | | ¬
¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d¬¦  «        5  t          j        d¦  «         | 
                    | ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  | 
                    | ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )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È  )rn   rv  r‹  Únormalr   r
   rï   r¨   r©   rª   r^   ÚwarningsÚcatch_warningsÚsimplefilterÚwarnsÚFutureWarningrÁ   s     r:   Ú.test_pipeline_inverse_transform_Xt_deprecationrÑ    s�  € Ý
Œ	×Ò˜aÑ Ô ×'Ò'¨WÐ'Ñ5Ô5€AÝ�e�S¨aÐ0Ñ0Ô0Ð1Ð2Ñ3Ô3€DØ×Ò˜1ÑÔ€Aå	Œ•yÐ(NÐ	OÑ	OÔ	Oð !ð !Ø×ÒÑ Ô Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !õ 
Œ•yÐ(NÐ	OÑ	OÔ	Oð *ð *Ø×Ò  qÐÑ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *õ 
Ô	 ¨Ð	-Ñ	-Ô	-ð "ð "ÝÔ˜gÑ&Ô&Ð&Ø×Ò˜qÑ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "õ 
Œ•mÐ+LÐ	MÑ	MÔ	Mð %ð %Ø×Ò !ÐÑ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð %ð %sH   ÂB%Â%B)Â,B)ÃC/Ã/C3Ã6C3Ä*EÅE	ÅE	Å+FÆFÆF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dS )ÚSimpleEstimatorNc                 ó   — |€J ‚|€J ‚| S r5   rB   ©r9   rG   rH   r‰   Úprops        r:   rI   zSimpleEstimator.fit  s   € ØÐ(Ð(Ð(ØÐÐÐØˆr<   c                 ó   — |€J ‚|€J ‚d S r5   rB   rÕ  s        r:   rï   zSimpleEstimator.fit_transform$  ó    € ØÐ(Ð(Ð(ØÐÐÐÐÐr<   c                 ó   — |€J ‚|€J ‚d S r5   rB   rÕ  s        r:   r‡   zSimpleEstimator.fit_predict(  rØ  r<   c                 ó   — |€J ‚|€J ‚d S r5   rB   ©r9   rG   r‰   rÖ  s       r:   rv   zSimpleEstimator.predict,  rØ  r<   c                 ó   — |€J ‚|€J ‚d S r5   rB   rÛ  s       r:   rz   zSimpleEstimator.predict_proba0  rØ  r<   c                 ó   — |€J ‚|€J ‚d S r5   rB   rÛ  s       r:   r{   z!SimpleEstimator.predict_log_proba4  rØ  r<   c                 ó   — |€J ‚|€J ‚d S r5   rB   rÛ  s       r:   r|   z!SimpleEstimator.decision_function8  rØ  r<   c                 ó   — |€J ‚|€J ‚d S r5   rB   rÕ  s        r:   ry   zSimpleEstimator.score<  rØ  r<   c                 ó   — |€J ‚|€J ‚d S r5   rB   rÛ  s       r:   rX   zSimpleEstimator.transform@  rØ  r<   c                 ó   — |€J ‚|€J ‚d S 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Ó    sÜ   € € € € € ðð ð ð ð
 ð  ð  ð  ð ð  ð  ð  ð ð  ð  ð  ð ð  ð  ð  ð ð  ð  ð  ð ð  ð  ð  ð ð  ð  ð  ð ð  ð  ð  ð ð  ð  ð  ð  ð  r<   rÓ  Úenable_slep006r  ÚsplitÚpartial_fitc                 ól  — d„ }dggdg}}dgdd}}}t          ¦   «         } ||| dd¬¦  «        } ||ddd¬¦  «        }t          ¦   «                              dd¬¦  «                             dd¬¦  «                             dd¬¦  «        }t          d	|fd
|fg¦  «        }	d| vr|	                     dggdg|||¬¦  «        }		  t          |	| ¦  «        |||||¬¦  «         n-# t          $ r   t          |	| ¦  «        ||||¬¦  «         Y nw xY wt          |d||¬¦  «         t          |d||¬¦  «         dS )z5Test that metadata is routed correctly for pipelines.c                 óx   — |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  sf   € ð Õ&Ð&Ð&Ý'¨Ô/ˆGˆGà�hˆGàð 	;ð 	;ˆFØ1�G�CÐ0 Ð0Ð0Ð0Ñ1Ô1Ð:Ð:°EÐ:Ð:Ð:Ð:Øˆ
r<   rg   r7   r8   T©r‰   rÖ  rI   ©r‰   rp  Útrsr  )r‰   rÖ  rp  )Úobjr  r‰   rp  rX   N)
rÓ  r%   Úset_fit_requestÚset_transform_requestÚset_inverse_transform_requestr   rI   r  rª   r'   )
r  rë  rG   rH   r‰   rÖ  rp  r  rî  r³   s
             r:   Ú"test_metadata_routing_for_pipelineró  I  sÝ  € ðð ð ð ˆCˆ5�1�#€q€AØ%& C¨¨c˜�4€Mõ Ñ
Ô
€CØ
ˆ+�c˜6°¸DÐ
AÑ
AÔ
A€CØ
ˆ+�c˜5°¸4Ð
@Ñ
@Ô
@€CåÑÔß	Š t°dˆÑ	;Ô	;ß	Ò	¨T¸DÐ	Ñ	AÔ	Aß	&Ò	&°TÀDÐ	&Ñ	IÔ	Ið	 õ ˜% ˜¨°SÐ'9Ð:Ñ;Ô;€Hà�FÐÐØ—<’<ØˆSˆE�A�3 m¸$Èð  ñ 
ô 
ˆð
Ø!��˜&Ñ!Ô!Øˆq °DÀ8ð	
ñ 	
ô 	
ð 	
ð 	
øõ ð 
ð 
ð 
à!��˜&Ñ!Ô!Ø˜]°Àð	
ñ 	
ô 	
ð 	
ð 	
ð 	
ð
øøøõ Ø˜¨]ÀXðñ ô ð õ Ø˜°=È8ðñ ô ð ð ð s   ÃC! Ã!'DÄ
Dc                 óŠ  — dggdg}}dgd}}t          ¦   «         }t          d|fg¦  «        }d| › �}t          j        t          t          j        |¦  «        ¬¦  «        5  	  t          || ¦  «        ||||¬¦  «         n,# t          $ r  t          || ¦  «        |||¬¦  «         Y nw xY wddd¦  «         dS # 1 swxY w Y   dS )zBTest that metadata is not routed for pipelines when not requested.rg   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ö  †  sb  € ð ˆCˆ5�1�#€q€AØ˜#˜s�4€MÝ
Ñ
Ô
€Cå˜+ sÐ+Ð,Ñ-Ô-€Hð	:Ø17ð	:ð 	:ð õ 
Œ•z­¬°=Ñ)AÔ)AÐ	BÑ	BÔ	Bð Qð Qð	Qà%�G�H˜fÑ%Ô% a¨¸-ÈdÐSÑSÔSÐSÐSøÝð 	Qð 	Qð 	Qð &�G�H˜fÑ%Ô% a°}È4ÐPÑPÔPÐPÐPÐPð	Qøøøð	Qð Qð Qñ Qô Qð Qð Qð Qð Qð Qð Qð Qøøøð Qð Qð Qð Qð Qð Qs6   ÁB8Á!A?Á>B8Á?&B(Â%B8Â'B(Â(B8Â8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¦  «         dS # 1 swxY w Y   dS )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�   rg   r7   rì  N)r   rÓ  r¨   r©   r±   r  )r  rµ   s     r:   Ú*test_routing_passed_metadata_not_supportedrø     sÝ   € õ �k¥?Ñ#4Ô#4Ð5Ð6Ñ7Ô7€Då	ŒÝÐMð
ñ 
ô 
ð Bð Bð 	���fÑÔ ˜s˜e°A°3¸SÐAÑAÔAÐAðBð Bð Bñ Bô Bð Bð Bð Bð Bð Bð Bð Bøøøð Bð Bð Bð Bð Bð Bs   º A'Á'A+Á.A+c                  óÀ   — t          dt          ¦   «         fdt          ¦   «         fg¦  «        } |                      dggdg¦  «         |                      dgg¦  «         dS )zFTest that pipeline works with estimators that have a `__len__` method.rî  r  rg   N)r   r   r   rI   rv   r  s    r:   Ú%test_pipeline_with_estimator_with_lenrú  ¯  sk   € õ Ø
Õ%Ñ'Ô'Ð	(¨;Õ8NÑ8PÔ8PÐ*QÐRñô €Dð 	‡H‚HˆqˆcˆU�Q�CÑÔÐØ‡L‚L�1�#�ÑÔÐÐÐr<   Ú	last_stepc                 óÄ   — t          dt          ¦   «         fd| fg¦  «        }|                     dggdg¦  «                             dgdgdgg¦  «        dgdgdggk    sJ ‚dS )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  rg   r¼   rÐ   N)r   r!   rI   rX   )rû  rµ   s     r:   Útest_pipeline_with_no_last_steprý  ¹  sx   € õ �eÕ0Ñ2Ô2Ð3°kÀ9Ð5MÐNÑOÔO€DØ�8Š8�a�S�E˜A˜3ÑÔ×)Ò)¨A¨3°°°a°S¨/Ñ:Ô:À¸sÀQÀCÈ!È¸oÒMÐMÐMÐ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  | 
                    | |||¬¦  «         ddd¦  «         n# 1 swxY w Y   t          d	t          ¦   «                              dd¬¦  «        fg¦  «        }d
t          j        › d�}t          j        t          t          j	        |¦  «        ¬¦  «        5  | 
                    | |||¬¦  «                             | ||¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zCTest that the right error is raised when metadata is not requested.r   rg   r¼   r'  r„  rR  ©rg   rg   rg   r7   Úsub_transformerzb[sample_weight, metadata] are passed but are not explicitly set as requested or not requested for z.fitr�   rí  NTz
.transform)rn   rÀ   r   r%   r>   r¨   r©   r   r¯   r°   rI   rð  rX   )rG   rH   r‰   rp  Úfeature_unionrõ  s         r:   Ú)test_feature_union_metadata_routing_errorr  Ä  sZ  € õ 	Œ�1�a�&˜1˜a˜& 1 a &Ð)Ñ*Ô*€AØˆ	ˆ	€AØ'˜i˜i¨�8€Mõ !Ð#4Õ6JÑ6LÔ6LÐ"MÐ!NÑOÔO€Mð	EÝ!5Ô!>ð	Eð 	Eð 	Eð õ
 
ŒÕ/µr´yÀÑ7OÔ7OÐ	PÑ	PÔ	Pð Pð PØ×Ò˜!˜Q¨mÀhÐÑOÔOÐOðPð Pð Pñ Pô Pð Pð Pð Pð Pð Pð Pøøøð Pð Pð Pð Põ !ð "Ý$Ñ&Ô&×6Ò6Ø"&°ð 7ñ ô ðð	
ñ	ô 	€Mð	JÝ 4Ô =ð	Jð 	Jð 	Jð õ
 
ŒÕ/µr´yÀÑ7OÔ7OÐ	PÑ	PÔ	Pð Gð GØ×ÒØˆq ¸ð 	ñ 	
ô 	
ç
Š)�A ]¸Xˆ)Ñ
FÔ
FÐ
FðGð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gð Gð Gs$   ÂB)Â)B-Â0B-Ä$0E!Å!E%Å(E%c                  ój   — t          dt          ¦   «         fg¦  «        } |                      ¦   «          dS )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  í  s9   € õ !Ð#4Õ6JÑ6LÔ6LÐ"MÐ!NÑOÔO€MØ×&Ò&Ñ(Ô(Ð(Ð(Ð(r<   r~  c                 ór  — t          j        ddgddgddgg¦  «        }g d¢}g d¢d}}t          d	 | t          ¦   «         ¬
¦  «                             dd¬¦  «                             dd¬¦  «        fd | t          ¦   «         ¬
¦  «                             dd¬¦  «                             dd¬¦  «        fg¦  «        }||dœ} |j        ||fi |¤Ž  |j        ||fi |¤Ž   |j        ||fi |¤Žj        |fi |¤Ž |j	        D ]4} | d         j
        }t          |¦  «        sJ ‚|D ]}t          d|ddœ|¤Ž ŒŒ5dS )z8Test that metadata is routed correctly for FeatureUnion.r   rg   r¼   r'  r„  rR  rÿ  r7   Ú
sub_trans1)ÚregistryTrí  Ú
sub_trans2rI   )rï  r  NrB   )rn   rÀ   r   r&   rð  rñ  rI   rï   rX   r,  r  r   r'   )	r~  rG   rH   r‰   rp  r  Úkwargsr  Ú	sub_transs	            r:   Ú#test_feature_union_metadata_routingr  õ  sÏ  € õ 	Œ�1�a�&˜1˜a˜& 1 a &Ð)Ñ*Ô*€AØˆ	ˆ	€AØ'˜i˜i¨�8€Må ð Ø�¥Y¡[¤[Ð1Ñ1Ô1ß ’¨t¸d�ÑCÔCß&Ò&°TÀDÐ&ÑIÔIð	ð Ø�¥Y¡[¤[Ð1Ñ1Ô1ß ’¨t¸d�ÑCÔCß&Ò&°TÀDÐ&ÑIÔIð	ð	
ñô €Mð"  -¸(ÐCÐC€FØ€MÔ�a˜Ð%Ð%˜fÐ%Ð%Ð%Ø€MÔ  1Ð/Ð/¨Ð/Ð/Ð/Ø/Ð€MÔ�a˜Ð%Ð%˜fÐ%Ð%Ô/°Ð<Ð<°VÐ<Ð<Ð<à$Ô5ð 	ð 	ˆà˜q”>Ô*ˆÝ�8‰}Œ}ÐÐÐØ!ð 	ð 	ˆIÝ#ð ØØðð ð ðð ð ð ð	ð		ð 	r<   )¯rA   Ú	itertoolsr¯   r'  r�   rÌ  Útempfiler   r%  Únumpyrn   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  rz  r‡  r‹  r�  r–  r£  r±  r¶  rÉ  rÎ  rè  rð  rø  r  r
  r  r  r.  r0  r2  r;  rF  rI  rK  ÚproductÚparameter_grid_test_verboserW  r^  r`  rk  rs  r|  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.     sL  ððð ð Ð Ð Ð Ø 	€	€	€	Ø €€€Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð à €€€Ø Ð Ð Ð Ø €€€à NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NØ "Ð "Ð "Ð "Ð "Ð "Ø &Ð &Ð &Ð &Ð &Ð &Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø (Ð (Ð (Ð (Ð (Ð (ðð ð ð ð ð ð ð ð ð ð
 HÐ GÐ GÐ GÐ GÐ GÐ GÐ GØ ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø (Ð (Ð (Ð (Ð (Ð (Ø LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LØ 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NØ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EØ Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð HÐ GÐ GÐ GÐ GÐ GÐ GÐ Gðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð /Ð .Ð .Ð .Ð .Ð .Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4à€y�{„{€ð€ðð ð ð ð ñ ô ð ð	ð 	ð 	ð 	ð 	ˆeñ 	ô 	ð 	ðð ð ð ð �'ñ ô ð ð
ð ð ð ð ˆ[ñ ô ð ðð ð ð ð �fñ ô ð ðð ð ð ð ˆ=ñ ô ð ð,ð ð ð ð �ñ ô ð ð,ð ð ð ð �&ñ ô ð ðð ð ð ð ˜=ñ ô ð ð&Qð Qð Qðh	ð 	ð 	ðð ð ð,ð ,ð ,ð >ð >ð >ð
6ð 
6ð 
6ð3ð 3ð 3ð4ð ð ðPð Pð Pð 7ð 7ð 7ð"ð ð ð<<ð <ð <ð,7ð 7ð 7ð	Ið 	Ið 	Ið „×ÒØÐDÐDÐDñô ð1ð 1ñô ð1ð „×Ò˜¨.Ñ9Ô9ð,ð ,ñ :Ô9ð,ð^
<ð 
<ð 
<ð'ð 'ð 'ðLð Lð Lð/ð /ð /ð&
1ð 
1ð 
1ð „×ÒØÐVÐVÐVñô ðð ñô ðð8ð ð ð$+ð +ð +ðB.ð .ð .ð" „×Ò˜¨¨}Ð(=Ñ>Ô>ð*ð *ñ ?Ô>ð*ð" „×Ò˜¨¨}Ð(=Ñ>Ô>ðL?ð L?ñ ?Ô>ðL?ð^6ð 6ð 6ð8+ð +ð +ð@ð @ð @ðB*Sð *Sð *SðZ#ð #ð #ð&3ð 3ð 3ð Að Að Að: ?ð  ?ð  ?ðFnð nð nðbð ð ð(ð ð ð,&ð &ð &ð.&ð &ð &ð,#.ð #.ð #.ðLLð Lð Lð< ð < ð < ð~	ð 	ð 	ð	ð 	ð 	ð 	ð 	�}ñ 	ô 	ð 	ðð ð ð ð ð ð	%ð 	%ð 	%ð:ð :ð :ð<ð <à"3 )Ô"3ð �˜8 V V¡X¤XÐ.°¸	¸	¹¼Ð0DÐEÑFÔFðNðð �˜8 V V¡X¤XÐ.°ÀÈ	È	ÉÌÐ@TÐUÑVÔVðNðð �à! 6 6¡8¤8Ð,Ø/Ø 	 	¡¤Ð,ðñô ðNðð �˜8 V V¡X¤XÐ.°Ð>Ñ?Ô?ðNðð �Ð*¨V°T°T±V´VÐ,<Ð=Ñ>Ô>ðOðð �Ð3°f¸d¸d¹f¼fÐ5EÐFÑGÔGðOðð �˜w¨¨©¬Ð/°'¸4¸4¹6¼6Ð1BÐCÑDÔDðTðð �Ð/°'¸4¸4¹6¼6Ð1BÐDUÐVÑWÔWØSððY0	
ðb 	0Ð/Ð/ñe3#ô 3#ð<ñ <ô <Ð ð~ „×ÒÐ/Ð1LÑMÔMð6ð 6ñ NÔMð6ð/ð /ð /ð.7ð 7ð 7ð(ð ð ð.&ð &ð &ð0,ð ,ð ,ðð ð ð$ „×Ò˜¨¨}Ð(=Ñ>Ô>ð,ð ,ñ ?Ô>ð,ð „×Ò˜Ð'7Ð9JÐ&KÑLÔLðGð Gñ MÔLðGð(
ð 
ð 
ðð ð ð2Yð Yð Yð*Að Að Að 4ð 4ð 4ð &ð &ð &ð$ „×Ò˜  E E¨!¨Q¡K¤KÐ 0Ñ1Ô1ðð ñ 2Ô1ðð3ð 3ð 3ðB%ð %ð %ð.* ð * ð * ð * ð * �mñ * ô * ð * ðZ „×ÒÐ)Ñ*Ô*à„×Ò˜ 6 6¨#¨#¨g©,¬,¸'À=Ð9QÑ*QÑ#RÔ#RÑSÔSð7ð 7ñ TÔSñ +Ô*ð7ðt „×ÒÐ)Ñ*Ô*ð „×Ò˜ 6 6¨#¨#¨g©,¬,¸'À=Ð9QÑ*QÑ#RÔ#RÑSÔSðQð Qñ TÔSñ	 +Ô*ð
Qð* „×ÒØÐEÐEÐEñô ð	Bð 	Bñô ð	Bð „×ÒÐ)Ñ*Ô*ðð ñ +Ô*ðð „×ÒÐ)Ñ*Ô*Ø„×Ò˜ t¨]Ð&;Ñ<Ô<ðNð Nñ =Ô<ñ +Ô*ðNð „×ÒÐ)Ñ*Ô*ð%Gð %Gñ +Ô*ð%GðP „×ÒÐ)Ñ*Ô*ð)ð )ñ +Ô*ð)ð „×ÒÐ)Ñ*Ô*Ø„×ÒØÐ(Ð*LÐMñô ð%ð %ñô ñ +Ô*ð%ð %ð %r<   