§
    ¦˜ºhAÜ  ã                   ój  — d 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 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 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/m0Z0 ddl1m2Z2m3Z3m4Z4m5Z5 ddl6m7Z7 ddl8m9Z9 ddl:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@ ddlAmBZB  e¦   «         ZCdZD G d„ d¦  «        ZE G d„ deE¦  «        ZF G d„ deF¦  «        ZG G d„ d eG¦  «        ZH G d!„ d"eH¦  «        ZI G d#„ d$e¦  «        ZJ G d%„ d&e¦  «        ZK G d'„ d(eH¦  «        ZL G d)„ d*e¦  «        ZMd+„ ZNd,„ ZOd-„ ZPd.„ ZQd/„ ZRd0„ ZSd1„ ZTd2„ ZUd3„ ZVd4„ ZWd5„ ZXd6„ ZYd7„ ZZd8„ Z[e
j\         ]                    d9g d:¢¦  «        d;„ ¦   «         Z^d<„ Z_d=„ Z`d>„ Zad?„ Zbd@„ ZcdA„ Zde
j\         ]                    dBg dC¢¦  «        dD„ ¦   «         ZedE„ ZfdF„ ZgdG„ Zhe
j\         ]                    dHddHg¦  «        dI„ ¦   «         Zie
j\         ]                    dHddHg¦  «        dJ„ ¦   «         ZjdK„ ZkdL„ ZldM„ ZmdN„ ZndO„ ZodP„ ZpdQ„ ZqdR„ ZrdS„ ZsdT„ ZtdU„ ZudV„ ZvdW„ ZwdX„ Zx G dY„ dZe¦  «        Zyd[„ Zzd\„ Z{d]„ Z|d^„ Z}d_„  ej~         e3d` eH¦   «         fda eK¦   «         fg¦  «        dbf e3d` eH¦   «         fdcda eK¦   «         fg¦  «        ddf e3d` eH¦   «         fdeda eK¦   «         fg¦  «        ddf e3d` eH¦   «         fdfg¦  «        dbf e3dgdh eJ¦   «         fg¦  «        dif e3djdh eJ¦   «         fg¦  «        dif e2dk eJ¦   «         fdl eJ¦   «         fg¦  «        dmf e2dndl eJ¦   «         fdog¦  «        dpfgg dq¢¦  «        D ¦   «         Ze
j\         ]                    dre¦  «        ds„ ¦   «         Z€dt„ Z�du„ Z‚dv„ Zƒdw„ Z„dx„ Z…e
j\         ]                    dHddHg¦  «        dy„ ¦   «         Z†e
j\         ]                    dze<e;g¦  «        d{„ ¦   «         Z‡d|„ Zˆd}„ Z‰d~„ ZŠd„ Z‹d€„ ZŒd�„ Z�e
j\         ]                    d‚d eŽddƒ¦  «        g¦  «        d„„ ¦   «         Z�d…„ Z�dS )†z
Test the pipeline module.
é    N)Úmkdtemp)Úsparse)ÚBaseEstimatorÚTransformerMixinÚcloneÚis_classifier)ÚKMeans)Ú	load_iris)ÚPCAÚTruncatedSVD)ÚDummyRegressor)ÚHistGradientBoostingClassifier)ÚNotFittedError)ÚCountVectorizer)ÚSelectKBestÚ	f_classif)ÚSimpleImputer)ÚLassoÚLinearRegressionÚLogisticRegression)Úaccuracy_scoreÚr2_score)Útrain_test_split)ÚLocalOutlierFactor)ÚFeatureUnionÚPipelineÚmake_pipelineÚ
make_union)ÚStandardScaler)ÚSVC)ÚMinimalClassifierÚMinimalRegressorÚMinimalTransformerÚassert_allcloseÚassert_array_almost_equalÚassert_array_equal)Ú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)Úselfr-   r.   s      úc/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/sklearn/tests/test_pipeline.pyÚ__init__zNoFit.__init__9   s   € ØˆŒØˆŒˆˆó    ©NN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r1   © r2   r0   r)   r)   6   s.   € € € € € Ø4Ð4ðð ð ð ð ð r2   r)   c                   ó"   — e Zd Zd„ Zdd„Zd„ ZdS )ÚNoTransc                 ó   — | S r+   r8   ©r/   ÚXÚys      r0   ÚfitzNoTrans.fit?   ó   € Øˆr2   Fc                 ó    — | j         | j        dœS )Nr,   r,   )r/   Údeeps     r0   Ú
get_paramszNoTrans.get_paramsB   s   € Ø”V $¤&Ð)Ð)Ð)r2   c                 ó    — |d         | _         | S )Nr-   ©r-   )r/   Úparamss     r0   Ú
set_paramszNoTrans.set_paramsE   s   € Ø˜”ˆŒØˆr2   N©F)r4   r5   r6   r?   rC   rG   r8   r2   r0   r:   r:   >   sF   € € € € € ðð ð ð*ð *ð *ð *ðð ð ð ð r2   r:   c                   ó   — e Zd Zd„ ZdS )ÚNoInvTransfc                 ó   — |S r+   r8   ©r/   r=   s     r0   Ú	transformzNoInvTransf.transformK   ó   € Øˆr2   N)r4   r5   r6   rM   r8   r2   r0   rJ   rJ   J   s#   € € € € € ðð ð ð ð r2   rJ   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTransfc                 ó   — |S r+   r8   rL   s     r0   rM   zTransf.transformP   rN   r2   c                 ó   — |S r+   r8   rL   s     r0   Úinverse_transformzTransf.inverse_transformS   rN   r2   N)r4   r5   r6   rM   rS   r8   r2   r0   rP   rP   O   s2   € € € € € ðð ð ðð ð ð ð r2   rP   c                   ó   — e Zd Zd„ ZdS )ÚTransfFitParamsc                 ó   — || _         | S r+   )Ú
fit_params©r/   r=   r>   rW   s       r0   r?   zTransfFitParams.fitX   s   € Ø$ˆŒØˆr2   N©r4   r5   r6   r?   r8   r2   r0   rU   rU   W   s#   € € € € € ðð ð ð ð r2   rU   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 r+   ©Úmult)r/   r_   s     r0   r1   zMult.__init__^   s   € ØˆŒ	ˆ	ˆ	r2   c                 ó   — | S r+   r8   r<   s      r0   r?   zMult.fita   r@   r2   c                 ó:   — t          j        |¦  «        | j        z  S r+   ©ÚnpÚasarrayr_   rL   s     r0   rM   zMult.transformd   ó   € ÝŒz˜!‰}Œ}˜tœyÑ(Ð(r2   c                 ó:   — t          j        |¦  «        | j        z  S r+   rb   rL   s     r0   rS   zMult.inverse_transformg   re   r2   c                 ób   — t          j        |¦  «        | j        z                       d¬¦  «        S )Nr\   ©Úaxis)rc   rd   r_   ÚsumrL   s     r0   ÚpredictzMult.predictj   s(   € Ý”
˜1‘” ¤	Ñ)×.Ò.°AÐ.Ñ6Ô6Ð6r2   Nc                 ó*   — t          j        |¦  «        S r+   ©rc   rj   r<   s      r0   Úscorez
Mult.scoreo   s   € ÝŒv�a‰yŒyÐr2   )r\   r+   )r4   r5   r6   r1   r?   rM   rS   rk   Úpredict_probaÚpredict_log_probaÚdecision_functionrn   r8   r2   r0   r[   r[   ]   sŒ   € € € € € ðð ð ð ðð ð ð)ð )ð )ð)ð )ð )ð7ð 7ð 7ð =DÐC€MÐCÐ%Ð(9ðð ð ð ð ð r2   r[   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)r/   s    r0   r1   zFitParamT.__init__v   s   € ØˆŒˆˆr2   Fc                 ó   — || _         d S r+   ru   ©r/   r=   r>   Úshould_succeeds       r0   r?   zFitParamT.fity   s   € Ø(ˆŒˆˆr2   c                 ó   — | j         S r+   ru   rL   s     r0   rk   zFitParamT.predict|   s
   € ØŒÐr2   c                 ó\   — |                       |||¬¦  «         |                      |¦  «        S )N)ry   )r?   rk   rx   s       r0   Úfit_predictzFitParamT.fit_predict   s*   € Ø�Š��A nˆÑ5Ô5Ð5Ø�|Š|˜A‰ŒÐr2   Nc                 ó8   — |�||z  }t          j        |¦  «        S r+   rm   )r/   r=   r>   Úsample_weights       r0   rn   zFitParamT.scoreƒ   s    € ØÐ$Ø�MÑ!ˆAÝŒv�a‰yŒyÐr2   rH   r3   )	r4   r5   r6   r7   r1   r?   rk   r|   rn   r8   r2   r0   rs   rs   s   st   € € € € € ØÐð ð  ð  ð)ð )ð )ð )ðð ð ðð ð ð ðð ð ð ð ð r2   rs   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   rh   )rc   ÚmeanÚmeans_ÚtimeÚ
timestamp_r<   s      r0   r?   zDummyTransf.fitŒ   s,   € Ý”g˜a aÐ(Ñ(Ô(ˆŒõ œ)™+œ+ˆŒØˆr2   N)r4   r5   r6   r7   r?   r8   r2   r0   r€   r€   ‰   s)   € € € € € Ø2Ð2ðð ð ð ð r2   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 r+   r8   r<   s      r0   r?   zDummyEstimatorParams.fit—   r@   r2   Fc                 ó   — || _         | S r+   ©Úgot_attribute©r/   r=   r‹   s      r0   rk   zDummyEstimatorParams.predictš   ó   € Ø*ˆÔØˆr2   c                 ó   — || _         | S r+   rŠ   rŒ   s      r0   ro   z"DummyEstimatorParams.predict_probaž   r�   r2   c                 ó   — || _         | S r+   rŠ   rŒ   s      r0   rp   z&DummyEstimatorParams.predict_log_proba¢   r�   r2   NrH   )r4   r5   r6   r7   r?   rk   ro   rp   r8   r2   r0   r‡   r‡   ”   se   € € € € € Ø6Ð6ðð ð ðð ð ð ðð ð ð ðð ð ð ð ð r2   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)r\   r\   r\   zRLast step of Pipeline should implement fit or be the string 'passthrough'.*NoFit.*Úclf©ÚmatchÚsvcT©rB   )Ú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__Cr8   )r   ÚpytestÚraisesÚ	TypeErrorr?   r)   r:   rC   ÚdictrG   r-   r.   Úreprr    r   r   Únamed_stepsÚCÚreÚescapeÚ
ValueErrorr   Úpop)	ÚpipelineÚmsgr‘   ÚpipeÚfilter1Úpipe2rF   Úparams2Úxs	            r0   Ú 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 )Nr\   é   Útransfr‘   ©r>   Úpassthrough)r²   )rc   Úarrayr   rP   rs   r?   rn   rG   ©r=   rª   s     r0   Ú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€Mr2   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   r?   rk   ro   rp   rn   )r=   r>   r‘   r«   rª   s        r0   Ú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�!ÑÔÐÐÐr2   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)r=   r>   Úclf__should_succeedz.fit() got an unexpected keyword argument 'bad'r’   )Úclf__bad)r   rP   rs   r?   rk   r¢   r-   r.   r¤   r¥   r�   rž   rŸ   )rª   r©   s     r0   Ú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 )
Nr\   r±   r²   r‘   r³   é   )r>   r~   ©r~   é   )rc   rµ   r   rP   rs   r?   rn   r¶   s     r0   Ú%test_pipeline_sample_weight_supportedrÈ   &  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Ò=Ð=Ð=Ð=Ð=Ð=r2   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 )
Nr\   r±   r²   r‘   r³   rÅ   rÆ   z:score() got an unexpected keyword argument 'sample_weight'r’   )rc   rµ   r   rP   r[   r?   rn   r¤   r¥   r�   rž   rŸ   )r=   rª   r©   s      r0   Ú'test_pipeline_sample_weight_unsupportedrÊ   1  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¦   rG   )rª   Ú	error_msgs     r0   Ú$test_pipeline_raise_set_params_errorrÒ   >  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   r?   rk   ro   rp   rn   )r=   r>   r‘   rÝ   rª   s        r0   Útest_pipeline_methods_pca_svmrÞ   X  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�!ÑÔÐÐÐr2   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   r?   Úscore_samplesÚshapeÚfit_transformr$   rM   )r=   rÝ   rá   rª   s       r0   Ú#test_pipeline_score_samples_pca_lofrå   g  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ÐOr2   c                  óV  — t          j        dgdgg¦  «        } t          j        ddg¦  «        }t          t          ¦   «         ¦  «        }|                     | |¦  «         t          j        t          d¬¦  «        5  |                     | ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr\   r±   z<'LogisticRegression' object has no attribute 'score_samples'r’   )	rc   rµ   r   r   r?   r�   rž   ÚAttributeErrorrâ   )r=   r>   rª   s      r0   Ú4test_score_samples_on_pipeline_without_score_samplesrè   w  sê   € Ý
Œ�1�#˜�s�ÑÔ€AÝ
Œ�!�Q�ÑÔ€Aõ Õ+Ñ-Ô-Ñ.Ô.€DØ‡H‚HˆQ��N„N€NÝ	ŒÝØLð
ñ 
ô 
ð ð ð 	×Ò˜1ÑÔÐð	ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á;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ã   Úlenrc   Úuniquer   r   r    r   r?   rk   ro   rp   rq   rn   )r=   r>   Ú	n_samplesÚ	n_classesÚscalerrÝ   r‘   Úpreprocessingrª   rk   ÚprobaÚ	log_probarq   s                r0   Ú'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ÑÔÐÐð#ð r2   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           r0   Ú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¨]Ñ;Ô;Ð;Ð;Ð;r2   c                  óø   — t          ¦   «         } t          d¬¦  «        }t          d| fd|fg¦  «        }d}t          j        t
          |¬¦  «        5  t          |d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr×   ©rÚ   rò   rÝ   z+'PCA' object has no attribute 'fit_predict'r’   r|   )r   r   r   r�   rž   rç   Úgetattr)rò   rÝ   rª   r©   s       r0   Ú0test_fit_predict_on_pipeline_without_fit_predictr  ¹  sÈ   € õ ÑÔ€FÝ
˜Ð
 Ñ
 Ô
 €CÝ�h Ð'¨%°¨Ð6Ñ7Ô7€Dà
7€CÝ	Œ•~¨SÐ	1Ñ	1Ô	1ð %ð %Ý��mÑ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð %ð %s   ÁA/Á/A3Á6A3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)r=   r>   Útransf__should_get_thisrÁ   Úshould_get_thisry   )r   rU   rs   r|   r¢   rW   rv   )rª   s    r0   Ú-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ÐHr2   Úmethod_name)rk   ro   rp   c                 óî   — t          dt          ¦   «         fdt          ¦   «         fg¦  «        }|                     d d ¦  «         t	          || ¦  «        } |d d¬¦  «         |j        d         j        sJ ‚d S )Nr²   r‘   T)r=   r‹   )r   rP   r‡   r?   r  r¢   r‹   )r
  rª   Úmethods      r0   Ú(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Ð0r2   c                  óà  — 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          j        | ¦  «        }|                     ||¦  «        }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        t0          |	¬¦  «        5  |                     | ¦  «         d d d ¦  «         n# 1 swxY w Y   t          d|fd|ff¦  «        }|                     | |¦  «         d S )Nr   rh   r±   )rÛ   rÖ   r\   r¹   ÚsvdÚselectrÅ   éÿÿÿÿ)Ú	select__ké   ÚmockrÇ   z>All estimators should implement fit and transform.*\bNoTrans\brM   Úno_transformr’   )r¼   r½   r‚   r¾   r   r   r   r?   rM   rã   r%   rä   r&   Úravelr   Ú
csr_matrixÚtoarrayr   Útransformer_listrG   rP   r:   r�   rž   rŸ   )
r=   r>   r  r  ÚfsÚX_transformedÚX_spÚX_sp_transformedÚfs2r©   s
             r0   Útest_feature_unionr  ß  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ÝÔ˜QÑÔ€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   ÊJ8Ê8J<Ê?J<c                  óü   — t          ¦   «         } t          ¦   «         }t          d| fd|fg¦  «        }|j        d         | k    sJ ‚|j        d         |k    sJ ‚|j        j        | k    sJ ‚|j        j        |k    sJ ‚dS )z6Check the behaviour of `named_transformers` attribute.r²   ÚnoinvtransfN)rP   rJ   r   Únamed_transformersr²   r!  )r²   r!  r  s      r0   Ú%test_feature_union_named_transformersr#    s˜   € å‰XŒX€FÝ‘-”-€KÝ	˜ &Ð)¨M¸;Ð+GÐHÑ	IÔ	I€BØÔ  Ô*¨fÒ4Ð4Ð4Ð4ØÔ  Ô/°;Ò>Ð>Ð>Ð>ð Ô Ô'¨6Ò1Ð1Ð1Ð1ØÔ Ô,°Ò;Ð;Ð;Ð;Ð;Ð;r2   c                  ó¨   — t          d¬¦  «        } t          ¦   «         }t          | |¦  «        }t          |j        Ž \  }}|dk    sJ ‚|| |fk    sJ ‚d S )Nr×   r  )rÝ   r²   )r   rP   r   Úzipr  )rÝ   r  ÚfuÚnamesÚtransformerss        r0   Útest_make_unionr)    si   € Ý
˜Ð
 Ñ
 Ô
 €CÝ‰8Œ8€DÝ	�C˜Ñ	Ô	€BÝ˜rÔ2Ð3Ñ€Eˆ<ØÐ%Ò%Ð%Ð%Ð%Ø˜C ˜;Ò&Ð&Ð&Ð&Ð&Ð&r2   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’   é
   r\   )rÝ   rP   ©Útransformer_weights)
r   rP   r   r  r,  r¤   r¥   r�   rž   rŸ   )rÝ   r  r&  r©   s       r0   Útest_make_union_kwargsr0  $  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   r?   rM   rä   r%   rS   )r=   rÝ   r¨   ÚX_transÚX_trans2ÚX_trans3ÚX_backÚX_back2s           r0   Útest_pipeline_transformr7  3  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Ñ.Ô.Ð.Ð.Ð.r2   c                  ó  — t           j        } t           j        }t          ¦   «         }t	          d|fg¦  «        }|                     | |¦  «        }|                     | |¦  «                             | ¦  «        }t          ||¦  «         d S )Nr  )	r¼   r½   r¾   rP   r   rä   r?   rM   r%   )r=   r>   r²   r¨   r2  r3  s         r0   Útest_pipeline_fit_transformr9  F  s|   € åŒ	€AÝŒ€AÝ‰XŒX€FÝ˜& &Ð)Ð*Ñ+Ô+€Hð ×$Ò$ Q¨Ñ*Ô*€GØ�zŠz˜!˜QÑÔ×)Ò)¨!Ñ,Ô,€HÝ˜g xÑ0Ô0Ð0Ð0Ð0r2   z
start, end))r   r\   )r   r±   )r\   r±   )r\   rÅ   )Nr\   )r\   Nr3   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   rP   rs   Ú
isinstancer@  Úlistr¢   ÚitemsrC   r�   rž   r¦   )ÚstartÚendrª   Ú
pipe_sliceÚpipe_paramsÚpipe_slice_paramsr©   s          r0   Útest_pipeline_slicerI  S  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)rP   rs   r   r�   rž   Ú
IndexErrorÚKeyError)r²   r‘   rª   s      r0   Útest_pipeline_indexrN  r  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©r@  ©r  )Újunkr8   zJLast step of Pipeline should implement fit or be the string 'passthrough'.r’   r\   z0This 'Pipeline' has no attribute 'fit_transform')rP   r   r¢   r@  rG   r¤   r¥   r�   rž   rŸ   r?   rç   rä   )r;  r<  r¨   r©   s       r0   Útest_set_pipeline_stepsrT  „  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±   r^   r  r_   rP  Úvalues)rP   r[   r   r¢   r  r_   rV  )r²   Úmult2r¨   s      r0   Útest_pipeline_named_stepsrX  ¥  sÜ   € Ý‰XŒX€FÝ�aˆL‰LŒL€EÝ˜& &Ð)¨F°E¨?Ð;Ñ<Ô<€Hð �XÔ)Ð)Ð)Ð)Ð)Ø˜(Ô.Ð.Ð.Ð.Ð.ØÔÔ$¨Ð.Ð.Ð.Ð.ØÔÔ$¨Ð-Ð-Ð-Ð-õ ˜( FÐ+¨f°e¨_Ð=Ñ>Ô>€HØÔÔ&¨fÐ4Ð4Ð4Ð4ØÔÔ$¨Ð-Ð-Ð-Ð-Ð-Ð-r2   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 )Nr\   r±   r^   rÅ   é   Úm2ÚbadÚm3Úm5)r[  r\  r]  r^  c                 ó   — g | ]\  }}|‘ŒS r8   r8   )Ú.0ÚnameÚ_s      r0   ú
<listcomp>z9test_pipeline_correctly_adjusts_steps.<locals>.<listcomp>Ä  s   € Ð7Ð7Ð7™W˜T 1�DÐ7Ð7Ð7r2   )rc   rµ   r[   r   r?   r@  )	r´   r=   r>   rW  Úmult3Úmult5r¨   Úexpected_namesÚactual_namess	            r0   Ú%test_pipeline_correctly_adjusts_stepsrh  ¶  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Ø˜\Ò)Ð)Ð)Ð)Ð)Ð)r2   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}t          j        t          |¬¦  «        5  t          |d¦  «         d d d ¦  «         n# 1 swxY w Y   d	}t!          d‰	fd| fd‰fg¦  «        }t          |gg|                     ||¦  «        ¦  «         t          |g|                     |¦  «                             |¦  «        ¦  «         t          ||                     |gg¦  «        ¦  «         d S )Nr\   r±   r^   rÅ   rZ  c                  ó4   •— t          d‰ fd‰fd‰fg¦  «        S )Nr[  r]  Úlast)r   )rW  rd  re  s   €€€r0   Úmakez0test_set_pipeline_step_passthrough.<locals>.makeÐ  s$   ø€ Ý˜$ ˜¨¨u¨¸À°ÐGÑHÔHÐHr2   é   ©r]  r-  Tr•   F)r@  r[  r]  rk  r>  Úm2__multÚ
last__multr?  ©r[  )ro   rp   rq   rM   rn   )rk  é   z''str' object has no attribute 'predict'r’   rk   r[  r]  rk  )rc   rµ   r[   r&   rä   r?   rk   rS   rG   rC   r@  r  rM   r�   rž   rç   r   )r´   r=   r>   rl  r¨   ÚexpÚother_methodsr  r©   rW  rd  re  s            @@@r0   Ú"test_set_pipeline_step_passthroughru  È  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Ñ=Ô=Ñ>Ô>Ð>à
3€CÝ	Œ•~¨SÐ	1Ñ	1Ô	1ð %ð %Ý�˜)Ñ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð €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   ÏO.Ï.O2Ï5O2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 )NrZ  rk   r´   r   ©r´   r´   rS   )	r   r[   rk   rM   rS   rP   Úhasattrr@  rJ   )r¨   s    r0   Útest_pipeline_ducktypingry    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Ð5r2   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-1r\   ztransf-2r±   Ú	fitparamt)rP   r   rA  r   r@  rs   )Út1Út2rª   s      r0   Útest_make_pipeliner~  1  sö   € Ý	‰Œ€BÝ	‰Œ€BÝ˜˜RÑ Ô €DÝ�d�HÑ%Ô%Ð%Ð%Ð%ØŒ:�aŒ=˜Ô˜zÒ)Ð)Ð)Ð)ØŒ:�aŒ=˜Ô˜zÒ)Ð)Ð)Ð)å˜˜R¥¡¤Ñ-Ô-€DÝ�d�HÑ%Ô%Ð%Ð%Ð%ØŒ:�aŒ=˜Ô˜zÒ)Ð)Ð)Ð)ØŒ:�aŒ=˜Ô˜zÒ)Ð)Ð)Ð)ØŒ:�aŒ=˜Ô˜{Ò*Ð*Ð*Ð*Ð*Ð*r2   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Ö   r\   r¹   rÝ   r  r-  r.  r  r  é   )r¼   r½   r¾   r   r   r   r?   rM   rä   rP   r%   r&   r  rã   )r=   r>   rÝ   r  r  r  ÚX_fit_transformedÚX_fit_transformed_wo_methods           r0   Útest_feature_union_weightsr„  @  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°Ò?Ð?Ð?Ð?Ð?Ð?r2   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   r?   rM   rã   rî   r&   r  rä   )r=   r  Úfs_parallelÚfs_parallel2r  ÚX_transformed_parallelÚX_transformed_parallel2s          r0   Útest_feature_union_parallelr‘  a  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ÐRr2   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__é#   Útr1r\   zDTransformer tr1 (type Transf) does not provide get_feature_names_outr’   )r   r   r?   rŒ  Úget_feature_names_outrî   rP   r¤   r¥   r�   rž   rç   )Ú	word_vectÚ	char_vectÚftÚfeature_namesÚfeatr©   s         r0   Ú 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 )Nr\   r¹   Úclasses_r   ©rÖ   )r¼   r½   r¾   r   r   r   r?   r�   rž   rç   r  r   r&   r¡  rc   rï   )r=   r>   Úregr‘   s       r0   Ú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Å   rZ  c                 ó   — dgS ©NÚx3r8   ©Úinput_featuress    r0   ú<lambda>z.test_set_feature_union_steps.<locals>.<lambda>¶  ó   € ¸$¸€ r2   c                 ó   — dgS ©NÚx2r8   r©  s    r0   r«  z.test_set_feature_union_steps.<locals>.<lambda>·  r¬  r2   c                 ó   — dgS )NÚx5r8   r©  s    r0   r«  z.test_set_feature_union_steps.<locals>.<lambda>¸  r¬  r2   r[  r]  r\   Úm2__x2Úm3__x3r^  Úm5__x5r  )r  Úmock__x3rR  Úmock__x5)	r[   r™  r   r&   rM   rc   rd   r  rG   )rW  rd  re  rœ  s       r0   Ú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×%=Ò%=Ñ%?Ô%?Ñ@Ô@Ð@Ð@Ð@r2   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®  r8   r©  s    r0   r«  z2test_set_feature_union_step_drop.<locals>.<lambda>Ò  r¬  r2   c                 ó   — dgS r§  r8   r©  s    r0   r«  z2test_set_feature_union_step_drop.<locals>.<lambda>Ó  r¬  r2   r\   r[  r]  r²  r³  Údroprq  rn  )r[  r»  )
r[   r™  rc   rd   r   r&   r?   rM   rä   rG   )rW  rd  r=   rœ  s       r0   Ú 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×#;Ò#;Ñ#=Ô#=Ñ>Ô>Ð>Ð>Ð>r2   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®  r8   r©  s    r0   r«  z4test_set_feature_union_passthrough.<locals>.<lambda>ø  r¬  r2   c                 ó   — dgS r§  r8   r©  s    r0   r«  z4test_set_feature_union_passthrough.<locals>.<lambda>ù  r¬  r2   r\   r[  r]  r²  r³  r´   rq  Ú
m2__myfeatÚmyfeatrn  Ú
m3__myfeat)r[  r´   rê   r   r€  rw  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Ð  r.  )r[   r™  rc   rd   r   r&   r?   rM   rä   rG   r¼   r½   rã   r   Úhstack)rW  rd  r=   rœ  ÚcolumnsrÝ   ÚX_fts          r0   Ú"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Ñ:Ô:ñ
ô 
ð 
ð 
ð 
r2   c                  óÚ   — t           j        } t          ddd¬¦  «        }t          d|fdg¦  «        }|                     | ¦  «         t          g d¢|                     ¦   «         ¦  «         dS )	z`Check that get_feature_names_out works with passthrough without
    passing input_features.
    r±   rê   r   r€  rÝ   rw  )rÇ  rÈ  Úpassthrough__x0Úpassthrough__x1Úpassthrough__x2Úpassthrough__x3N)r¼   r½   r   r   r?   r&   r™  )r=   rÝ   rœ  s      r0   Ú4test_feature_union_passthrough_get_feature_names_outrÜ  b  s�   € õ 	Œ	€AÝ
˜1¨ÀAÐ
FÑ
FÔ
F€Cå	˜˜s�|Ð%CÐDÑ	EÔ	E€BØ‡F‚Fˆ1�I„I€IÝð	
ð 	
ð 	
ð 	× Ò Ñ"Ô"ñ
ô 
ð 
ð 
ð 
r2   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±   r.   rÅ   r-   r@  r  r’   r\   r8   )
r[   r   r   r�   rž   r¦   r?   Úsetattrrä   rG   )Úerror_message_1Úerror_message_2Úerror_message_3Ú
bad_steps1Ú
bad_steps2rÌ   ÚparamÚ
bad_steps3Ú	bad_stepsÚmessageÚests              r0   Útest_step_name_validationrê  x  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 )Nr-   r.   gü©ñÒMbP?)Úa__b__alphaÚa__brZ  )Úa__stepsÚa__b__C)r   r   rG   r   r   )Ú	estimators    r0   Ú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ÐKr2   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-  ©Úlocationr?  Tr   rÔ   r²   r”   ©r>  rƒ   Útransf_2)r¼   r½   r¾   r   ÚjoblibÚMemoryr    r€   r   r   r?   r¢   r…   r&   rk   ro   rp   rn   rƒ   rx  ÚshutilÚrmtree)r=   r>   Úcachedirr>  r‘   r²   rª   Úcached_pipeÚtsÚclf_2rö  Úcached_pipe_2s               r0   Ú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    r>  rî   rù  rú  )rû  r>  r¨   s      r0   Útest_make_pipeline_memoryr  ã  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�(ÑÔÐÐÐr2   c                   ó&   — e Zd Zdd„Zdd„Zdd„ZdS )ÚFeatureNameSaverNc                 ó4   — |                       |d¬¦  «         | S )NT)Úreset)Ú_check_feature_namesr<   s      r0   r?   zFeatureNameSaver.fitð  s    € Ø×!Ò! !¨4Ð!Ñ0Ô0Ð0Øˆr2   c                 ó   — |S r+   r8   r<   s      r0   rM   zFeatureNameSaver.transformô  rN   r2   c                 ó   — |S r+   r8   )r/   rª  s     r0   r™  z&FeatureNameSaver.get_feature_names_out÷  s   € ØÐr2   r+   )r4   r5   r6   r?   rM   r™  r8   r2   r0   r  r  ï  sP   € € € € € ðð ð ð ðð ð ð ðð ð ð ð ð r2   r  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‘   rQ  Nr  )
r   r  r   r
   r?   r½   r¾   r&   r™  r�  )rª   r¼   s     r0   Útest_features_names_passthroughr  û  sœ   € åàÕ&Ñ(Ô(Ð)Ø#ØÕ&Ñ(Ô(Ð)ð
ðñ ô €Dõ ‰;Œ;€DØ‡H‚HˆTŒY˜œÑ$Ô$Ð$ÝØˆSˆbˆSŒ	×'Ò'¨Ô(:Ñ;Ô;¸TÔ=Oñô ð ð ð r2   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‘   rQ  c                 ó   — g | ]}d |v ‘ŒS )Úpizzar8   )r`  r®   s     r0   rc  z7test_feature_names_count_vectorizer.<locals>.<listcomp>  s   € Ð.Ð.Ð.˜!ˆ�AˆÐ.Ð.Ð.r2   Nr  )ÚbeerÚburgerÚcokeÚ	copyrightr  ÚtheÚnonsense_is_ignored)r   r   r   rŒ  r?   r&   r™  )rª   r>   s     r0   Ú#test_feature_names_count_vectorizerr    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Œ	×'Ò'Ð(=Ñ>Ô>Ø?Ð?Ð?ñô ð ð ð r2   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`.ÚnotransrQ  z&does not provide get_feature_names_outr’   N)
r   r:   r
   r?   r½   r¾   r�   rž   rç   r™  )rª   r¼   r©   s      r0   Ú8test_pipeline_feature_names_out_error_without_definitionr    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   r\   rÆ   )r   r   r�   rž   r¦   r?   )r‘   s    r0   Útest_pipeline_param_errorr  &  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ä   r@  r  r\   N)rx  rA  r@  rs   )r`  ré  Úpatternr  s       r0   ú	<genexpr>r   .  s•   è è € ð <ð <á‰ˆˆg˜õh ˆs�FÑÔðm<ðp 	�/Ò!Ð!Ý�C˜Ñ!Ô!ð 	"å�s”y ”} QÔ'­Ñ3Ô3ð 	"ðo 	ˆ'�6Ððn 	"Ð!Ð!Ð!ðq<ð <r2   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$)r!  r´   )r‘   N)r²   Nr_   zw\[Pipeline\].*\(step 1 of 2\) Processing transf.* total=.*\n\[Pipeline\].*\(step 2 of 2\) Processing mult.* total=.*\n$)r²   r´   Úmult1rW  z\[FeatureUnion\].*\(step 1 of 2\) Processing mult1.* total=.*\n\[FeatureUnion\].*\(step 2 of 2\) Processing mult2.* total=.*\n$)r"  r»  )rd  r»  z@\[FeatureUnion\].*\(step 1 of 1\) Processing mult2.* total=.*\n$)r?   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)r\   r±   rÅ   )r  rZ  rr  r�  rÇ   F)r?  zGot output for verbose=FalseT)r  rG   Ú
readouterrÚoutr¤   r“   )ré  r  r  ÚcapsysÚfuncr=   r>   s          r0   Útest_verboser(  m  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Ð5r2   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 ©	Nr\   r±   rÅ   r  rZ  rr  ©r   r\   r±   Ún_features_in_)r   r   r   rx  r?   r,  )r=   r>   ÚssÚgbdtrª   s        r0   Ú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Ð-Ñ.Ô.Ð.Ð.Ð.Ð.Ð.r2   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 r*  )r   r   rx  r?   r,  )r=   r>   r-  r&  s       r0   Ú test_n_features_in_feature_unionr1  ”  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Ð6r2   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 )ú,test_feature_union_fit_params.<locals>.DummyNc                 ó$   — |ddik    rt           ‚| S )Nr-   r   )r¦   rX   s       r0   r?   z0test_feature_union_fit_params.<locals>.Dummy.fit«  s   € Ø˜c 1˜XÒ%Ð%Ý Ð ØˆKr2   c                 ó   — |S r+   r8   r<   s      r0   rM   z6test_feature_union_fit_params.<locals>.Dummy.transform°  s   € ØˆHr2   r+   )r4   r5   r6   r?   rM   r8   r2   r0   ÚDummyr4  ª  s<   € € € € € ð	ð 	ð 	ð 	ð
	ð 	ð 	ð 	ð 	ð 	r2   r7  Údummy0Údummy1r   rE   )r   r   r¼   r½   r¾   r   r�   rž   r¦   r?   rä   )r7  r=   r>   rš   s       r0   Útest_feature_union_fit_paramsr:  ¨  s�  € ðð ð ð ð Õ ¥-ñ ô ð õ Œ9•d”k€q€AÝ�x  ¡¤Ð)¨H°e°e±g´gÐ+>Ð?Ñ@Ô@€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                  óŠ  — 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 )Nr\   r   r˜   gÍÌÌÌÌÌì?)Úpgš™™™™™Ù?)r¼   r½   r¾   rc   ÚrandomÚchoicerã   ÚastypeÚboolÚnanr   r   r   r?   rn   )r=   r>   Úmaskrª   s       r0   Ú%test_pipeline_missing_values_leniencyrC  ¿  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Ñ%Ô%¨Ò+Ð+Ð+Ð+Ð+Ð+r2   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 )Nr\   r±   rÅ   r  rZ  rr  r+  r²   ÚtransformerzZAttempting to weight transformer "transformer", but it is not present in transformer_list.r.  r’   )rP   r   r�   rž   r¦   r?   )r=   r>   r  ÚweightsÚexpected_msgÚunions         r0   Ú3test_feature_union_warns_unknown_transformer_weightrI  É  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     r0   Útest_pipeline_get_tags_nonerM  Û  s8   € õ ˜¥c¡e¤eÑ,Ô,€DØ�~Š~ÑÔ 
Ô+Ð+Ð+Ð+Ð+Ð+r2   Ú	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±   rZ  r\   é   rE  Ú	predictor)rc   r=  ÚRandomStateÚrandnrµ   r   r#   r?   rk   r   r&   rn   r�   Úapproxr   r$   r‚   r   )rN  Úrngr=   r>   ÚmodelÚy_preds         r0   Ú1test_search_cv_using_minimal_compatible_estimatorrY  ç  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ÐFr2   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_r<   s      r0   r?   z4test_pipeline_check_if_fitted.<locals>.Estimator.fitþ  s   € ØˆDŒLØˆKr2   NrY   r8   r2   r0   Ú	Estimatorr\  ý  s#   € € € € € ð	ð 	ð 	ð 	ð 	r2   r_  r‘   )
r   r   r�   rž   r   r'   r?   r¼   r½   r¾   )r_  r¨   s     r0   Útest_pipeline_check_if_fittedr`  ü  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.r\   r±   rÅ   r  rZ  rr  r+  r‘   Nr  )r   r#   r�   rž   r   r'   r?   )r=   r>   rH  s      r0   Ú"test_feature_union_check_if_fittedrb  	  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_r8   ©r`  ra  s     r0   rc  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ÐEr2   )Údtype)Úsuperr™  rc   rd   Úobject)r/   rª  r'  Ú	__class__s      €r0   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ÐTr2   r+   )r4   r5   r6   r™  Ú__classcell__)rn  s   @r0   ÚAddPrefixStandardScalarre  )  sG   ø€ € € € € ð	Uð 	Uð 	Uð 	Uð 	Uð 	Uð 	Uð 	Uð 	Uð 	Ur2   rp  c                 ó   — g | ]}d |› �‘ŒS rh  r8   rj  s     r0   rc  zLtest_pipeline_get_feature_names_out_passes_names_through.<locals>.<listcomp>4  s!   € Ð*WÐ*WÐ*WÀ4Ð+>¸Ð+>Ð+>Ð*WÐ*WÐ*Wr2   N)	r¼   r½   r¾   r   r   r?   r�  r™  r&   )r=   r>   rp  rª   Úinput_namesÚfeature_names_outs         r0   Ú8test_pipeline_get_feature_names_out_passes_names_throughrt  "  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ÐXr2   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.ÚpandasT©Úas_frameÚ
return_X_y©rM   Nr  )r�   Úimportorskipr
   r   r   r   Ú
set_outputr?   r™  Úfeature_names_in_r&   )r=   r>   rª   r}  Úlog_reg_feature_namess        r0   Ú$test_pipeline_set_output_integrationr  7  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ÐåÐ(Ð*?Ñ@Ô@Ð@Ð@Ð@r2   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.rv  Trw  r   r¢  ÚscalarrÝ   rz  N)r�   r{  r
   r   r   r   r   r|  r?   rM   rA  Ú	DataFramer&   rÔ  r™  Úindex)Úpdr=   rb  ÚX_trainÚX_testrH  r2  s          r0   Útest_feature_union_set_outputr‡  G  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Ð3r2   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Ý   r  )Údrop_mer»  r  r´   r‰  r»  N)r   r   r   )r�  rÝ   rH  s      r0   Útest_feature_union_getitemrŠ  W  sœ   € åÑÔ€FÝ
‰%Œ%€CÝà�vÐØ�CˆLØ#Øð		
ñô €Eð �Œ?˜fÐ$Ð$Ð$Ð$Ø�Œ<˜3ÐÐÐÐØ�Œ=˜MÒ)Ð)Ð)Ð)Ø�Ô˜vÒ%Ð%Ð%Ð%Ð%Ð%r2   Ú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ž   rM  )r‹  rH  r©   s      r0   Ú test_feature_union_getitem_errorr�  i  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.
    rv  Trw  Úscaler}  r  N)r�   r{  r
   r   r?   r   rx  r&   rÔ  r}  Úto_numpy)r=   rb  rò   rH  ÚX_arrays        r0   Ú$test_feature_union_feature_names_in_r’  t  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Ð2r2   )‘r7   Ú	itertoolsr¤   rù  r„   Útempfiler   r÷  Únumpyrc   r�   Úscipyr   Úsklearn.baser   r   r   r   Úsklearn.clusterr	   Úsklearn.datasetsr
   Úsklearn.decompositionr   r   Úsklearn.dummyr   Úsklearn.ensembler   Úsklearn.exceptionsr   Ú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   Úsklearn.svmr    Úsklearn.utils._testingr!   r"   r#   r$   r%   r&   Úsklearn.utils.validationr'   r¼   rŒ  r)   r:   rJ   rP   rU   r[   rs   r€   r‡   r¯   r·   r¿   rÃ   rÈ   rÊ   rÒ   rÞ   rå   rè   rö   r  r  r	  ÚmarkÚparametrizer  r  r#  r)  r0  r7  r9  rI  rN  rT  rX  rh  ru  ry  r~  r„  r‘  rŸ  r¤  r·  r¼  rÖ  rÜ  rê  rñ  r   r  r  r  r  r  r  ÚproductÚparameter_grid_test_verboser(  r/  r1  r:  rC  rI  rM  rY  r`  rb  rt  r  r‡  rŠ  Úslicer�  r’  r8   r2   r0   ú<module>r¯     sß
  ððð ð Ð Ð Ð Ø 	€	€	€	Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð à €€€Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð à NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NØ "Ð "Ð "Ð "Ð "Ð "Ø &Ð &Ð &Ð &Ð &Ð &Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø (Ð (Ð (Ð (Ð (Ð (Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø -Ð -Ð -Ð -Ð -Ð -Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø (Ð (Ð (Ð (Ð (Ð (Ø 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Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 5Ð 4Ð 4Ð 4Ð 4Ð 4à€y�{„{€ð€ðð ð ð ð ñ ô ð ð	ð 	ð 	ð 	ð 	ˆeñ 	ô 	ð 	ðð ð ð ð �'ñ ô ð ð
ð ð ð ð ˆ[ñ ô ð ðð ð ð ð �fñ ô ð ðð ð ð ð ˆ=ñ ô ð ð,ð ð ð ð �ñ ô ð ð,ð ð ð ð �&ñ ô ð ðð ð ð ð ˜=ñ ô ð ð&Qð Qð Qðh	ð 	ð 	ðð ð ð,ð ,ð ,ð >ð >ð >ð
6ð 
6ð 
6ð3ð 3ð 3ð4ð ð ðPð Pð Pð ð ð ðð ð ð<<ð <ð <ð,	%ð 	%ð 	%ð	Ið 	Ið 	Ið „×ÒØÐDÐDÐDñô ð1ð 1ñô ð1ð,ð ,ð ,ð^
<ð 
<ð 
<ð'ð 'ð 'ðLð Lð Lð/ð /ð /ð&
1ð 
1ð 
1ð „×ÒØÐVÐVÐVñô ðð ñô ðð8ð ð ð$+ð +ð +ðB.ð .ð .ð" „×Ò˜¨¨}Ð(=Ñ>Ô>ð*ð *ñ ?Ô>ð*ð" „×Ò˜¨¨}Ð(=Ñ>Ô>ðI?ð I?ñ ?Ô>ðI?ðX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ð(ð ð ð.,ð ,ð ,ðð ð ð$ „×Ò˜¨¨}Ð(=Ñ>Ô>ð,ð ,ñ ?Ô>ð,ð „×Ò˜Ð'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ð 3ð 3r2   