§
    qŠtjú‚  ã                   óþ  — d Z ddlZddlmZ ddlZddlZddlmZ ddl	m
Z
 ddlmZ ddlmZmZmZmZ ddlmZmZmZmZmZmZ dd	lmZmZ dd
lmZmZmZm Z  ddl!m"Z"m#Z# ddl$m%Z%m&Z&m'Z'm(Z( ddl)m*Z*m+Z+m,Z, ddl-m.Z. ddl/m0Z0 ddl1m2Z2 ddl3m4Z4m5Z5m6Z6 ddl7m8Z8m9Z9m:Z:m;Z; ddl<m=Z= ddl>m?Z?m@Z@mAZA ddlBmCZCmDZDmEZE  e¦   «         ZFeFjG        eFjH        cZIZJ e¦   «         ZKeKjG        eKjH        cZLZM edd¬¦  «        \  ZNZO edd¬¦  «        \  ZPZQejR         S                    dd e+ddd¬¦  «        g¦  «        ejR         S                    dd ed¬¦  «        g¦  «        ejR         S                    dd dg¦  «        d!„ ¦   «         ¦   «         ¦   «         ZTd"„ ZUd#„ ZVd$„ ZWejR         S                    dd e*ddd¬¦  «        g¦  «        ejR         S                    d%di f ed¬¦  «        i f e¦   «         d&difg¦  «        ejR         S                    dd dg¦  «        d'„ ¦   «         ¦   «         ¦   «         ZXejR         S                    d(eCeDz   eEz   ¦  «        d)„ ¦   «         ZYejR         S                    d(eCeDz   eEz   ¦  «        d*„ ¦   «         ZZd+„ Z[ G d,„ d-ee¦  «        Z\ G d.„ d/ee¦  «        Z]ejR         S                    d0eMd1g ie^d2feMd3 e&¦   «         fd4 e4d5¬6¦  «        fgd7d8œe^d9feMd1d3 e&¦   «         fd: e]¦   «         fgie_d;feMd3 e&¦   «         fd: e5d5¬6¦  «        fg e]¦   «         d<œe_d;fg¦  «        d=„ ¦   «         Z`ejR         S                    d0eJd1g ie^d2feJd1d3 e%¦   «         fd: e\¦   «         fgie_d;feJd3 e%¦   «         fd: e6¦   «         fg e\¦   «         d<œe_d;fg¦  «        d>„ ¦   «         ZaejR         S                    d? ed@ e&d¬¦  «        fdA e5d¬¦  «        fg¬B¦  «        eLddC…         eMddC…         f e d@ e'dD¬E¦  «        fdA e'dF¬E¦  «        fg¬B¦  «        eIeJfgdGdHg¬I¦  «        dJ„ ¦   «         ZbdK„ ZcejR         S                    dL ed3 e&¦   «         fd4 e5d¬¦  «        fg e&¦   «          e*dd¬M¦  «        ¬N¦  «        g ed¬O¦  «        ¢R  e d@ e'dD¬E¦  «        fdA e'dF¬E¦  «        fg e%¦   «          e*dd¬M¦  «        ¬N¦  «        eIeJfgdGdHg¬I¦  «        dP„ ¦   «         ZddQ„ ZeejR         f                    dR¦  «        ejR         S                    dL ed3 e&¦   «         fd4 e5d¬¦  «        fg e&¦   «         ¬<¦  «        g ed¬O¦  «        ¢R  e dS e'dD¬E¦  «        fdT e'dF¬E¦  «        fg e%¦   «         ¬<¦  «        eIeJfgdGdHg¬I¦  «        dU„ ¦   «         ¦   «         ZgejR         S                    dVeed7 e&d¬¦  «        eLeMfe edW e%¦   «         eIeJfg¦  «        dX„ ¦   «         ZhejR         S                    dL ed3 e&¦   «         fd4 e4¦   «         fgdY¬Z¦  «        eLeMf e d3 e%¦   «         fd4 e6¦   «         fgdY¬Z¦  «        eIeJfg¦  «        d[„ ¦   «         ZiejR         S                    d\eee&fee e%fg¦  «        d]„ ¦   «         ZjejR         S                    d^ e0d¬¦  «         ed¬¦  «        gd_d`g¬I¦  «        da„ ¦   «         Zkdb„ ZlejR         S                    dcdddWg¦  «        ejR         S                    dd dg¦  «        de„ ¦   «         ¦   «         ZmejR         S                    df ed3 e&d¬¦  «        fd4 e5d¬¦  «        fg¬B¦  «        eKjn        eLeMg dg¢f ed3 e&d¬¦  «        fdhd4 e5d¬¦  «        fg¬B¦  «        eKjn        eLddC…         eMddC…         didjgf e d3 e%¦   «         fd4 e6d¬¦  «        fg¬B¦  «        eFjn        eIeJdkdlgfgg dm¢¬I¦  «        ejR         S                    ddd g¦  «        dn„ ¦   «         ¦   «         Zodo„ Zpdp„ ZqejR         S                    dqee8fe e9fg¦  «        dr„ ¦   «         ZrejR         S                    dqee8fe e9fg¦  «         ed¬s¦  «        dt„ ¦   «         ¦   «         ZsejR         S                    dqee8fe e9fg¦  «        ejR         S                    dudv ejt        eLju        d         ¦  «        fdwg¦  «         ed¬s¦  «        dx„ ¦   «         ¦   «         ¦   «         ZvejR         S                    dqee8fe e9fg¦  «         ed¬s¦  «        dy„ ¦   «         ¦   «         ZwdS )zz+Test the stacking classifier and regressor.é    N)ÚMock)Úassert_array_equal)Úsparse)Úconfig_context)ÚBaseEstimatorÚClassifierMixinÚRegressorMixinÚclone)Úload_breast_cancerÚload_diabetesÚ	load_irisÚmake_classificationÚmake_multilabel_classificationÚmake_regression)ÚDummyClassifierÚDummyRegressor)ÚRandomForestClassifierÚRandomForestRegressorÚStackingClassifierÚStackingRegressor)ÚConvergenceWarningÚNotFittedError)ÚLinearRegressionÚLogisticRegressionÚRidgeÚRidgeClassifier)ÚKFoldÚStratifiedKFoldÚtrain_test_split)ÚKNeighborsClassifier)ÚMLPClassifier)Úscale)ÚSVCÚ	LinearSVCÚ	LinearSVR)ÚConsumingClassifierÚConsumingRegressorÚ	_RegistryÚcheck_recorded_metadata)ÚCheckingClassifier)Úassert_allcloseÚassert_allclose_dense_sparseÚignore_warnings)ÚCOO_CONTAINERSÚCSC_CONTAINERSÚCSR_CONTAINERSé   é*   )Ú	n_classesÚrandom_stateé   ÚcvT)Ún_splitsÚshuffler4   Úfinal_estimator©r4   ÚpassthroughFc                 óš  — t          t          t          ¦  «        t          t          d¬¦  «        \  }}}}dt	          ¦   «         fdt          ¦   «         fg}t          ||| |¬¦  «        }|                     ||¦  «         |                     |¦  «         | 	                    |¦  «         | 
                    ||¦  «        dk    sJ ‚|                     |¦  «        }	|rdnd}
|	j        d	         |
k    sJ ‚|rt          ||	d d …d
d …f         ¦  «         |                     d¬¦  «         |                     ||¦  «         |                     |¦  «         | 	                    |¦  «         |€|                     |¦  «         |                     |¦  «        }	|rdnd}|	j        d	         |k    sJ ‚|rt          ||	d d …d
d …f         ¦  «         d S d S )Nr2   ©Ústratifyr4   ÚlrÚsvc©Ú
estimatorsr9   r6   r;   çš™™™™™é?é
   é   é   éüÿÿÿÚdrop©r?   é   r1   )r   r"   ÚX_irisÚy_irisr   r$   r   ÚfitÚpredictÚpredict_probaÚscoreÚ	transformÚshaper+   Ú
set_paramsÚdecision_function)r6   r9   r;   ÚX_trainÚX_testÚy_trainÚy_testrB   ÚclfÚX_transÚexpected_column_countÚexpected_column_count_drops               úb/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sklearn/ensemble/tests/test_stacking.pyÚtest_stacking_classifier_irisr^   C   s  € õ (8Ý�f‰Œ•v­¸Rð(ñ (ô (Ñ$€GˆV�W˜fð Õ+Ñ-Ô-Ð.°½	¹¼Ð0DÐE€JÝ
ØØ'ØØð	ñ ô €Cð ‡G‚GˆG�WÑÔÐØ‡K‚K�ÑÔÐØ×Ò�fÑÔÐØ�9Š9�V˜VÑ$Ô$ sÒ*Ð*Ð*Ð*à�mŠm˜FÑ#Ô#€GØ"-Ð4˜B˜B°1ÐØŒ=˜ÔÐ4Ò4Ð4Ð4Ð4Øð 1Ý˜ ¨¨¨¨2¨3¨3¨¤Ñ0Ô0Ð0à‡N‚N�f€NÑÔÐØ‡G‚GˆG�WÑÔÐØ‡K‚K�ÑÔÐØ×Ò�fÑÔÐØÐà×Ò˜fÑ%Ô%Ð%à�mŠm˜FÑ#Ô#€GØ&1Ð!8  °qÐØŒ=˜ÔÐ9Ò9Ð9Ð9Ð9Øð 1Ý˜ ¨¨¨¨2¨3¨3¨¤Ñ0Ô0Ð0Ð0Ð0ð1ð 1ó    c                  ó@  — t          d¬¦  «        \  } }t          t          | ¦  «        ||d¬¦  «        \  }}}}dt          ¦   «         fdt	          d¬¦  «        fg}t          |d¬	¦  «        }|                     ||¦  «         |                     |¦  «        }|j        d
         dk    sJ ‚dt          ¦   «         fdt          ¦   «         fg}| 
                    |¬¦  «         |                     ||¦  «         |                     |¦  «        }|j        d
         dk    sJ ‚d S )NT©Ú
return_X_yr2   r=   r?   Úrfr:   r1   ©rB   r6   rF   r5   r@   ©rB   )r   r   r"   r   r   r   rM   rQ   rR   r$   rS   )	ÚXÚyrU   rV   rW   Ú_rB   rY   rZ   s	            r]   Ú:test_stacking_classifier_drop_column_binary_classificationri   q   s7  € å¨Ð.Ñ.Ô.�D€A€qÝ"2Ýˆa‰Œ�!˜a¨bð#ñ #ô #Ñ€GˆV�W˜að 
Õ!Ñ#Ô#Ð$Ø	Õ%°2Ð6Ñ6Ô6Ð7ð€Jõ ¨
°qÐ
9Ñ
9Ô
9€Cà‡G‚GˆG�WÑÔÐØ�mŠm˜FÑ#Ô#€GØŒ=˜Ô˜qÒ Ð Ð Ð ð Õ+Ñ-Ô-Ð.°½	¹¼Ð0DÐE€JØ‡N‚N˜j€NÑ)Ô)Ð)à‡G‚GˆG�WÑÔÐØ�mŠm˜FÑ#Ô#€GØŒ=˜Ô˜qÒ Ð Ð Ð Ð Ð r_   c                  ó¾  — t          t          t          ¦  «        t          t          d¬¦  «        \  } }}}ddt	          d¬¦  «        fg}t          dd¬¦  «        }t          dt	          d¬¦  «        fg|d	¬
¦  «        }t          ||d	¬
¦  «        }|                     | |¦  «         |                     | |¦  «         t          | 	                    |¦  «        | 	                    |¦  «        ¦  «         t          | 
                    |¦  «        | 
                    |¦  «        ¦  «         t          |                     |¦  «        |                     |¦  «        ¦  «         d S )Nr2   r=   ©r?   rH   r@   r   r:   rD   ©Ún_estimatorsr4   é   ©rB   r9   r6   )r   r"   rK   rL   r$   r   r   rM   r+   rN   rO   rQ   )rU   rV   rW   rh   rB   rc   rY   Úclf_drops           r]   Ú'test_stacking_classifier_drop_estimatorrq   Œ   sS  € õ #3Ý�f‰Œ•v­¸Rð#ñ #ô #Ñ€GˆV�W˜að ! 5­)ÀÐ*CÑ*CÔ*CÐ"DÐE€JÝ	¨R¸bÐ	AÑ	AÔ	A€BÝ
Ø�I°1Ð5Ñ5Ô5Ð6Ð7ØØðñ ô €Cõ
 "¨ZÈÐPQÐRÑRÔR€Hà‡G‚GˆG�WÑÔÐØ‡L‚L�˜'Ñ"Ô"Ð"Ý�C—K’K Ñ'Ô'¨×)9Ò)9¸&Ñ)AÔ)AÑBÔBÐBÝ�C×%Ò% fÑ-Ô-¨x×/EÒ/EÀfÑ/MÔ/MÑNÔNÐNÝ�C—M’M &Ñ)Ô)¨8×+=Ò+=¸fÑ+EÔ+EÑFÔFÐFÐFÐFr_   c                  óF  — t          t          t          ¦  «        t          d¬¦  «        \  } }}}ddt	          d¬¦  «        fg}t          dd¬¦  «        }t          dt	          d¬¦  «        fg|d	¬
¦  «        }t          ||d	¬
¦  «        }|                     | |¦  «         |                     | |¦  «         t          | 	                    |¦  «        | 	                    |¦  «        ¦  «         t          | 
                    |¦  «        | 
                    |¦  «        ¦  «         d S )Nr2   r:   rk   Úridgeç      ð?©ÚalpharD   rl   rn   ro   )r   r"   Ú
X_diabetesÚ
y_diabetesr   r   r   rM   r+   rN   rQ   )rU   rV   rW   rh   rB   rc   ÚregÚreg_drops           r]   Ú&test_stacking_regressor_drop_estimatorr{   ¢   s&  € õ #3Ý�jÑÔ�:°Bð#ñ #ô #Ñ€GˆV�W˜að ! 7­E¸Ð,<Ñ,<Ô,<Ð"=Ð>€JÝ	¨B¸RÐ	@Ñ	@Ô	@€BÝ
Ø�e¨#Ð.Ñ.Ô.Ð/Ð0ØØðñ ô €Cõ
 !¨JÈÈqÐQÑQÔQ€Hà‡G‚GˆG�WÑÔÐØ‡L‚L�˜'Ñ"Ô"Ð"Ý�C—K’K Ñ'Ô'¨×)9Ò)9¸&Ñ)AÔ)AÑBÔBÐBÝ�C—M’M &Ñ)Ô)¨8×+=Ò+=¸fÑ+EÔ+EÑFÔFÐFÐFÐFr_   zfinal_estimator, predict_paramsÚ
return_stdc                 ó   — t          t          t          ¦  «        t          d¬¦  «        \  }}}}dt	          ¦   «         fdt          ¦   «         fg}t          ||| |¬¦  «        }	|	                     ||¦  «          |	j        |fi |¤Ž}
|rdnd}|rt          |
¦  «        |k    sJ ‚|	 
                    |¦  «        }|rdnd}|j        d         |k    sJ ‚|rt          ||d d …d	d …f         ¦  «         |	                     d
¬¦  «         |	                     ||¦  «         |	                     |¦  «         |	 
                    |¦  «        }|rdnd}|j        d         |k    sJ ‚|rt          ||d d …d	d …f         ¦  «         d S d S )Nr2   r:   r?   ÚsvrrA   r5   rF   é   éöÿÿÿrH   rI   é   )r   r"   rw   rx   r   r%   r   rM   rN   ÚlenrQ   rR   r+   rS   )r6   r9   Úpredict_paramsr;   rU   rV   rW   rh   rB   ry   ÚresultÚexpected_result_lengthrZ   r[   r\   s                  r]   Ú test_stacking_regressor_diabetesr†   ·   sÝ  € õ #3Ý�jÑÔ�:°Bð#ñ #ô #Ñ€GˆV�W˜að Õ)Ñ+Ô+Ð,¨uµi±k´kÐ.BÐC€JÝ
ØØ'ØØð	ñ ô €Cð ‡G‚GˆG�WÑÔÐØˆSŒ[˜Ð2Ð2 >Ð2Ð2€FØ"0Ð7˜Q˜Q°aÐØð 5Ý�6‰{Œ{Ð4Ò4Ð4Ð4Ð4à�mŠm˜FÑ#Ô#€GØ"-Ð4˜B˜B°1ÐØŒ=˜ÔÐ4Ò4Ð4Ð4Ð4Øð 2Ý˜ ¨¨¨¨3¨4¨4¨Ô 0Ñ1Ô1Ð1à‡N‚N�f€NÑÔÐØ‡G‚GˆG�WÑÔÐØ‡K‚K�ÑÔÐà�mŠm˜FÑ#Ô#€GØ'2Ð!9  ¸ÐØŒ=˜ÔÐ9Ò9Ð9Ð9Ð9Øð 2Ý˜ ¨¨¨¨3¨4¨4¨Ô 0Ñ1Ô1Ð1Ð1Ð1ð2ð 2r_   Úsparse_containerc                 óÚ  — t           | t          t          ¦  «        ¦  «        t          d¬¦  «        \  }}}}dt	          ¦   «         fdt          ¦   «         fg}t          dd¬¦  «        }t          ||dd¬	¦  «        }|                     ||¦  «         | 	                    |¦  «        }t          ||d d …d
d …f         ¦  «         t          j        |¦  «        sJ ‚|j        |j        k    sJ ‚d S )Nr2   r:   r?   r~   rD   rl   rn   TrA   r€   )r   r"   rw   rx   r   r%   r   r   rM   rQ   r,   r   ÚissparseÚformat©	r‡   rU   rV   rW   rh   rB   rc   rY   rZ   s	            r]   Ú*test_stacking_regressor_sparse_passthroughrŒ   å   s  € õ
 #3ØÐ��zÑ*Ô*Ñ+Ô+­ZÀbð#ñ #ô #Ñ€GˆV�W˜að Õ)Ñ+Ô+Ð,¨uµi±k´kÐ.BÐC€JÝ	¨B¸RÐ	@Ñ	@Ô	@€BÝ
Ø¨r°aÀTðñ ô €Cð ‡G‚GˆG�WÑÔÐØ�mŠm˜FÑ#Ô#€GÝ  ¨°°°°C°D°D°Ô)9Ñ:Ô:Ð:ÝŒ?˜7Ñ#Ô#Ð#Ð#Ð#ØŒ=˜GœNÒ*Ð*Ð*Ð*Ð*Ð*r_   c                 óÚ  — t           | t          t          ¦  «        ¦  «        t          d¬¦  «        \  }}}}dt	          ¦   «         fdt          ¦   «         fg}t          dd¬¦  «        }t          ||dd¬	¦  «        }|                     ||¦  «         | 	                    |¦  «        }t          ||d d …d
d …f         ¦  «         t          j        |¦  «        sJ ‚|j        |j        k    sJ ‚d S )Nr2   r:   r?   r@   rD   rl   rn   TrA   rG   )r   r"   rK   rL   r   r$   r   r   rM   rQ   r,   r   r‰   rŠ   r‹   s	            r]   Ú+test_stacking_classifier_sparse_passthroughrŽ   ù   s  € õ
 #3ØÐ��v™œÑ'Ô'­¸bð#ñ #ô #Ñ€GˆV�W˜að Õ+Ñ-Ô-Ð.°½	¹¼Ð0DÐE€JÝ	¨R¸bÐ	AÑ	AÔ	A€BÝ
Ø¨r°aÀTðñ ô €Cð ‡G‚GˆG�WÑÔÐØ�mŠm˜FÑ#Ô#€GÝ  ¨°°°°B°C°C°¬Ñ9Ô9Ð9ÝŒ?˜7Ñ#Ô#Ð#Ð#Ð#ØŒ=˜GœNÒ*Ð*Ð*Ð*Ð*Ð*r_   c                  ó8  — t          t          d d…         ¦  «        t          d d…         }} dt          ¦   «         fdt	          ¦   «         fg}t          |¬¦  «        }|                     | |¦  «         |                     | ¦  «        }|j        d         dk    sJ ‚d S )Néd   r?   rc   re   rF   r5   )	r"   rK   rL   r   r   r   rM   rQ   rR   )ÚX_Úy_rB   rY   ÚX_metas        r]   Ú)test_stacking_classifier_drop_binary_probr”     s–   € õ
 •6˜$˜3˜$”<Ñ Ô ¥&¨¨#¨¤,ˆ€BàÕ+Ñ-Ô-Ð.°Õ7MÑ7OÔ7OÐ0PÐQ€JÝ
¨
Ð
3Ñ
3Ô
3€CØ‡G‚GˆB��O„O€OØ�]Š]˜2ÑÔ€FØŒ<˜Œ?˜aÒÐÐÐÐÐr_   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚNoWeightRegressorc                 ó^   — t          ¦   «         | _        | j                             ||¦  «        S ©N)r   ry   rM   ©Úselfrf   rg   s      r]   rM   zNoWeightRegressor.fit  s%   € Ý!Ñ#Ô#ˆŒØŒx�|Š|˜A˜qÑ!Ô!Ð!r_   c                 ó@   — t          j        |j        d         ¦  «        S )Nr   )ÚnpÚonesrR   )rš   rf   s     r]   rN   zNoWeightRegressor.predict   s   € ÝŒw�q”w˜q”zÑ"Ô"Ð"r_   N)Ú__name__Ú
__module__Ú__qualname__rM   rN   © r_   r]   r–   r–     s2   € € € € € ð"ð "ð "ð#ð #ð #ð #ð #r_   r–   c                   ó   — e Zd Zd„ ZdS )ÚNoWeightClassifierc                 ób   — t          d¬¦  «        | _        | j                             ||¦  «        S )NÚ
stratified)Ústrategy)r   rY   rM   r™   s      r]   rM   zNoWeightClassifier.fit%  s*   € Ý"¨LÐ9Ñ9Ô9ˆŒØŒx�|Š|˜A˜qÑ!Ô!Ð!r_   N)rž   rŸ   r    rM   r¡   r_   r]   r£   r£   $  s#   € € € € € ð"ð "ð "ð "ð "r_   r£   zy, params, type_err, msg_errrB   zInvalid 'estimators' attribute,r?   ÚsvmiPÃ  ©Úmax_iterrO   )rB   Ústack_methodz+does not implement the method predict_probaÚcorzdoes not support sample weight©rB   r9   c           	      ó  — t          j        ||¬¦  «        5  t          di |¤ddi¤Ž}|                     t	          t
          ¦  «        | t          j        t
          j        d         ¦  «        ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©N©Úmatchr6   r1   r   ©Úsample_weightr¡   )	ÚpytestÚraisesr   rM   r"   rK   rœ   r�   rR   )rg   ÚparamsÚtype_errÚmsg_errrY   s        r]   Útest_stacking_classifier_errorr¸   *  sÞ   € õT 
Œ�x wÐ	/Ñ	/Ô	/ð Jð JÝ Ð0Ð0 6Ð0Ð0¨aÐ0Ð0Ð0ˆØ�Š••f‘”˜qµ´½¼ÀQ¼Ñ0HÔ0HˆÑIÔIÐIðJð Jð Jñ Jô Jð Jð Jð Jð Jð Jð Jð Jøøøð Jð Jð Jð Jð Jð Jó   —ABÂBÂBc           	      ó  — t          j        ||¬¦  «        5  t          di |¤ddi¤Ž}|                     t	          t
          ¦  «        | t          j        t
          j        d         ¦  «        ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r®   )	r³   r´   r   rM   r"   rw   rœ   r�   rR   )rg   rµ   r¶   r·   ry   s        r]   Útest_stacking_regressor_errorr»   Y  sá   € õ2 
Œ�x wÐ	/Ñ	/Ô	/ð Rð RÝÐ/Ð/ &Ð/Ð/¨QÐ/Ð/Ð/ˆØ�Š••jÑ!Ô! 1µB´G½JÔ<LÈQÔ<OÑ4PÔ4PˆÑQÔQÐQðRð Rð Rñ Rô Rð Rð Rð Rð Rð Rð Rð Røøøð Rð Rð Rð Rð Rð Rr¹   zestimator, X, yÚfirstÚsecondre   r�   rt   ru   g�íµ ÷Æ°>r   r   )Úidsc                 óJ  — t          | ¦  «        }|                     t          dt          j                             d¦  «        ¬¦  «        ¬¦  «         t          | ¦  «        }|                     d¬¦  «         |                     t          dt          j                             d¦  «        ¬¦  «        ¬¦  «         t          |                     ||¦  «                             |¦  «        d d …dd …f         |                     ||¦  «                             |¦  «        ¦  «         d S )NTr   ©r8   r4   ©r6   rH   )r¼   rF   )	r
   rS   r   rœ   ÚrandomÚRandomStater+   rM   rQ   )Ú	estimatorrf   rg   Úestimator_fullÚestimator_drops        r]   Útest_stacking_randomnessrÇ   w  s"  € õ: ˜9Ñ%Ô%€NØ×ÒÝ˜­B¬I×,AÒ,AÀ!Ñ,DÔ,DÐEÑEÔEð ñ ô ð õ ˜9Ñ%Ô%€NØ×Ò FÐÑ+Ô+Ð+Ø×ÒÝ˜­B¬I×,AÒ,AÀ!Ñ,DÔ,DÐEÑEÔEð ñ ô ð õ Ø×Ò˜1˜aÑ Ô ×*Ò*¨1Ñ-Ô-¨a¨a¨a°°°¨eÔ4Ø×Ò˜1˜aÑ Ô ×*Ò*¨1Ñ-Ô-ñô ð ð ð r_   c                  óª   — t          dt          d¬¦  «        fdt          d¬¦  «        fg¬¦  «        } |                      t          t
          ¦  «         d S )Nr?   i'  r¨   r§   re   )r   r   r$   rM   rK   rL   )rY   s    r]   Ú)test_stacking_classifier_stratify_defaultrÉ   ¥  s^   € å
àÕ%¨vÐ6Ñ6Ô6Ð7Ø•I vÐ.Ñ.Ô.Ð/ð
ðñ ô €Cð ‡G‚G�F•FÑÔÐÐÐr_   zstacker, X, yrÀ   ro   ra   c                 óž  — t          |¦  «        dz  }t          j        dg|z  dgt          |¦  «        |z
  z  z   ¦  «        }t          |||d¬¦  «        \  }}}}}	}t	          | ¦  «        } t          t          ¬¦  «        5  |                      ||¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |¦  «        }
t          t          ¬¦  «        5  |                      ||t          j	        |j
        ¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |¦  «        }t          |
|¦  «         t          t          ¬¦  «        5  |                      |||	¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |¦  «        }t          j        |
|z
  ¦  «                             ¦   «         dk    sJ ‚d S )	Nr5   gš™™™™™¹?gÍÌÌÌÌÌì?r2   r:   )Úcategoryr±   r   )r‚   rœ   Úarrayr   r
   r-   r   rM   rN   r�   rR   r+   ÚabsÚsum)Ústackerrf   rg   Ún_half_samplesÚtotal_sample_weightrU   rV   rW   rh   Úsample_weight_trainÚy_pred_no_weightÚy_pred_unit_weightÚy_pred_biaseds                r]   Ú test_stacking_with_sample_weightrÖ   ²  s¥  € õB ˜‘V”V˜q‘[€NÝœ(Ø	ˆ�Ñ # ­#¨a©&¬&°>Ñ*AÑ!BÑBñô Ðõ ;KØ	ˆ1Ð!°ð;ñ ;ô ;Ñ7€GˆV�W˜aÐ!4°aõ �G‰nŒn€GÝ	Õ"4Ð	5Ñ	5Ô	5ð &ð &Ø�Š�G˜WÑ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &à—’ vÑ.Ô.Ðå	Õ"4Ð	5Ñ	5Ô	5ð Lð LØ�Š�G˜WµB´G¸G¼MÑ4JÔ4JˆÑKÔKÐKðLð Lð Lñ Lô Lð Lð Lð Lð Lð Lð Løøøð Lð Lð Lð Là Ÿš¨Ñ0Ô0ÐåÐ$Ð&8Ñ9Ô9Ð9å	Õ"4Ð	5Ñ	5Ô	5ð Ið IØ�Š�G˜WÐ4GˆÑHÔHÐHðIð Ið Iñ Iô Ið Ið Ið Ið Ið Ið Iøøøð Ið Ið Ið Ià—O’O FÑ+Ô+€MåŒ6Ð" ]Ñ2Ñ3Ô3×7Ò7Ñ9Ô9¸AÒ=Ð=Ð=Ð=Ð=Ð=s6   Â B#Â#B'Â*B'Ã0DÄDÄDÅE>Å>FÆFc                  óî   — t          dt          d¬¦  «        fgt          d¬¦  «        ¬¦  «        } |                      t          t          t          j        t          j        d         ¦  «        ¬¦  «         d S )Nr?   T)Úexpected_sample_weightr¬   r   r±   )r   r*   rM   rK   rL   rœ   r�   rR   )rÏ   s    r]   Ú0test_stacking_classifier_sample_weight_fit_paramrÙ   í  sk   € å ØÕ-ÀTÐJÑJÔJÐKÐLÝ*À$ÐGÑGÔGðñ ô €Gð ‡K‚K•�­b¬gµf´lÀ1´oÑ.FÔ.F€KÑGÔGÐGÐGÐGr_   z-ignore::sklearn.exceptions.ConvergenceWarningÚridge1Úridge2c                 ó  — t          | ¦  «        }t          | ¦  «        }|                     d¬¦  «         |                     d¬¦  «         |                     ||¦  «         |                     ||¦  «         t          |j        |j        ¦  «        D ]\  }}t          |j        |j        ¦  «         Œ t          j        t          d¬¦  «        5  t          |j
        j        |j
        j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr1   rÁ   rn   z	Not equalr¯   )r
   rS   rM   ÚzipÚestimators_r+   Úcoef_r³   r´   ÚAssertionErrorÚfinal_estimator_)rÏ   rf   rg   Ústacker_cv_3Ústacker_cv_5Úest_cv_3Úest_cv_5s          r]   Útest_stacking_cv_influenceræ   ö  sP  € õB ˜‘>”>€LÝ˜‘>”>€Là×Ò˜qÐÑ!Ô!Ð!Ø×Ò˜qÐÑ!Ô!Ð!à×Ò�Q˜ÑÔÐØ×Ò�Q˜ÑÔÐõ " ,Ô":¸LÔ<TÑUÔUð 8ð 8Ñˆ�(Ý˜œ¨¬Ñ7Ô7Ð7Ð7õ 
Œ•~¨[Ð	9Ñ	9Ô	9ð 
ð 
ÝØÔ)Ô/°Ô1NÔ1Tñ	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   Ã%C>Ã>DÄDz7Stacker, Estimator, stack_method, final_estimator, X, yrN   c                 ót  — t          ||dd¬¦  «        \  }}}}	d |¦   «                              ||¦  «        fd |¦   «                              ||¦  «        fg}
|
D ]R\  }}t          d¬¦  «        |_        t          ||¦  «        }t          |¬¦  «        }||_        t          |||¦  «         ŒS | |
d	|¬
¦  «        }|                     ||	¦  «         |j        d„ |
D ¦   «         k    sJ ‚t          d„ |j        D ¦   «         ¦  «        sJ ‚|j        D ]'}t          ||¦  «        }|                     |¦  «         Œ(dS )z2Check the behaviour of stacking when `cv='prefit'`r2   g      à?)r4   Ú	test_sizeÚd0Úd1rM   )Úname)Úside_effectÚprefit)rB   r6   r9   c                 ó   — g | ]\  }}|‘ŒS r¡   r¡   )Ú.0rh   rÄ   s      r]   ú
<listcomp>z(test_stacking_prefit.<locals>.<listcomp>Y  s   € Ð"LÐ"LÐ"L±°°I 9Ð"LÐ"LÐ"Lr_   c              3   ó6   K  — | ]}|j         j        d k    V — ŒdS )r   N)rM   Ú
call_count)rï   rÄ   s     r]   ú	<genexpr>z'test_stacking_prefit.<locals>.<genexpr>[  s,   è è € ÐRÐR°ˆyŒ}Ô'¨1Ò,ÐRÐRÐRÐRÐRÐRr_   N)	r   rM   r   Úgetattrrž   ÚsetattrrÞ   ÚallÚassert_called_with)ÚStackerÚ	Estimatorrª   r9   rf   rg   ÚX_train1ÚX_train2Úy_train1Úy_train2rB   rh   rÄ   Ú
stack_funcÚpredict_method_mockedrÏ   Ústack_func_mocks                    r]   Útest_stacking_prefitr  +  s•  € õ. .>Ø	ˆ1˜2¨ð.ñ .ô .Ñ*€Hˆh˜ (ð 
ˆyˆy‰{Œ{�Š˜x¨Ñ2Ô2Ð3Ø	ˆyˆy‰{Œ{�Š˜x¨Ñ2Ô2Ð3ð€Jð #ð @ð @‰ˆˆ9Ý %Ð(Ñ(Ô(ˆ	ŒÝ˜Y¨Ñ5Ô5ˆ
Ý $°Ð <Ñ <Ô <Ðð *6ÐÔ&Ý�	˜<Ð)>Ñ?Ô?Ð?Ð?àˆgØ (¸Oðñ ô €Gð ‡K‚K�˜(Ñ#Ô#Ð#àÔÐ"LÐ"LÀÐ"LÑ"LÔ"LÒLÐLÐLÐLåÐRÐR¸gÔ>QÐRÑRÔRÑRÔRÐRÐRÐRð Ô(ð 5ð 5ˆ	Ý! )¨\Ñ:Ô:ˆØ×*Ò*¨8Ñ4Ô4Ð4Ð4ð5ð 5r_   rí   rd   c                 ó–   — t          j        t          ¦  «        5  |                      ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r˜   )r³   r´   r   rM   )rÏ   rf   rg   s      r]   Útest_stacking_prefit_errorr  c  sŒ   € õ6 
Œ•~Ñ	&Ô	&ð ð Ø�Š�A�qÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   š>¾AÁAz!make_dataset, Stacking, Estimatorc                 óž  —  G d„ d|¦  «        } | dd¬¦  «        \  }} |d |¦   «         fg¬¦  «        }|j         › d�}t          j        t          |¬	¦  «        5  |j         d d d ¦  «         n# 1 swxY w Y   |                     ||¦  «         d
}t          j        t          |¬	¦  «        5  |j         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                   ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )ú8test_stacking_without_n_features_in.<locals>.MyEstimatorz Estimator without n_features_in_c                 óP   •— t          ¦   «                              ||¦  «         | `d S r˜   )ÚsuperrM   Ún_features_in_)rš   rf   rg   Ú	__class__s      €r]   rM   z<test_stacking_without_n_features_in.<locals>.MyEstimator.fit�  s'   ø€ Ý‰GŒG�KŠK˜˜1ÑÔÐØÐ#Ð#Ð#r_   )rž   rŸ   r    Ú__doc__rM   Ú__classcell__)r
  s   @r]   ÚMyEstimatorr  �  s>   ø€ € € € € Ø.Ð.ð	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$r_   r  r   r�   )r4   Ú	n_samplesr?   re   z' object has no attribute n_features_in_r¯   z6'MyEstimator' object has no attribute 'n_features_in_')rž   r³   r´   ÚAttributeErrorr	  rM   )Úmake_datasetÚStackingrù   r  rf   rg   rÏ   Úmsgs           r]   Ú#test_stacking_without_n_features_inr  ‚  s‡  € ð$ð $ð $ð $ð $�iñ $ô $ð $ð ˆ< Q°#Ð6Ñ6Ô6�D€A€qØˆh D¨+¨+©-¬-Ð#8Ð"9Ð:Ñ:Ô:€GàÔÐ
GÐ
GÐ
G€CÝ	Œ•~¨SÐ	1Ñ	1Ô	1ð ð ØÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ‡K‚K��1ÑÔÐà
B€CÝ	Œ•~¨SÐ	1Ñ	1Ô	1ð ð ØÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s$   ÁA/Á/A3Á6A3Â-CÃCÃ	CrÄ   r!   r   c                 óâ  — t          t          t          t          d¬¦  «        \  }}}}d}d| fg}t          |t	          ¦   «         d¬¦  «                             ||¦  «        }|                     |¦  «        }|j        |j        d         |fk    sJ ‚t          t          j
        |                     d¬	¦  «        d
¦  «        ¦  «        rJ ‚|                     |¦  «        }	|	j        |j        k    sJ ‚dS )zÚCheck the behaviour for the multilabel classification case and the
    `predict_proba` stacking method.

    Estimators are not consistent with the output arrays and we need to ensure that
    we handle all cases.
    r2   r=   r1   ÚestrO   ©rB   r9   rª   r   rF   )Úaxisrt   N)r   ÚX_multilabelÚy_multilabelr   r    rM   rQ   rR   Úanyrœ   ÚiscloserÎ   rN   )
rÄ   rU   rV   rW   rX   Ú	n_outputsrB   rÏ   rZ   Úy_preds
             r]   Ú1test_stacking_classifier_multilabel_predict_probar  £  s  € õ$ (8Ý•l­\Èð(ñ (ô (Ñ$€GˆV�W˜fð €Ià˜)Ð$Ð%€JÝ ØÝ,Ñ.Ô.Ø$ðñ ô ÷ 
‚cˆ'�7ÑÔð	 ð ×Ò Ñ'Ô'€GØŒ=˜Vœ\¨!œ_¨iÐ8Ò8Ð8Ð8Ð8å•2”:˜gŸkšk¨q˜kÑ1Ô1°3Ñ7Ô7Ñ8Ô8Ð8Ð8Ð8à�_Š_˜VÑ$Ô$€FØŒ<˜6œ<Ò'Ð'Ð'Ð'Ð'Ð'r_   c                  óŠ  — t          t          t          t          d¬¦  «        \  } }}}d}dt          ¦   «         fg}t	          |t          ¦   «         d¬¦  «                             | |¦  «        }|                     |¦  «        }|j        |j        d         |fk    sJ ‚| 	                    |¦  «        }|j        |j        k    sJ ‚dS )	zŸCheck the behaviour for the multilabel classification case and the
    `decision_function` stacking method. Only `RidgeClassifier` supports this
    case.
    r2   r=   r1   r  rT   r  r   N)
r   r  r  r   r   r    rM   rQ   rR   rN   )	rU   rV   rW   rX   r  rB   rÏ   rZ   r  s	            r]   Ú5test_stacking_classifier_multilabel_decision_functionr   Ê  sÚ   € õ
 (8Ý•l­\Èð(ñ (ô (Ñ$€GˆV�W˜fð €Ià�/Ñ+Ô+Ð,Ð-€JÝ ØÝ,Ñ.Ô.Ø(ðñ ô ÷ 
‚cˆ'�7ÑÔð	 ð ×Ò Ñ'Ô'€GØŒ=˜Vœ\¨!œ_¨iÐ8Ò8Ð8Ð8Ð8à�_Š_˜VÑ$Ô$€FØŒ<˜6œ<Ò'Ð'Ð'Ð'Ð'Ð'r_   rª   Úautoc                 ó  — t          t          t          t          d¬¦  «        \  }}}}|                     ¦   «         }d}dt	          d¬¦  «        fdt          d¬¦  «        fdt          ¦   «         fg}t          ¦   «         }	t          ||	|| ¬¦  «         	                    ||¦  «        }
t          ||¦  «         |
                     |¦  «        }|j        |j        k    sJ ‚| d	k    rg d
¢}ndgt          |¦  «        z  }|
j        |k    sJ ‚|t          |¦  «        z  }|r||j        d         z  }|
                     |¦  «        }|j        |j        d         |fk    sJ ‚t          |
j        t#          j        ddg¦  «        g|z  ¦  «         dS )zŽCheck the behaviour for the multilabel classification case for stack methods
    supported for all estimators or automatically picked up.
    r2   r=   r1   Úmlpr:   rc   rs   )rB   r9   r;   rª   r!  )rO   rO   rT   rN   rF   r   N)r   r  r  Úcopyr!   r   r   r    r   rM   r   rN   rR   r‚   Ústack_method_rQ   Úclasses_rœ   rÌ   )rª   r;   rU   rV   rW   rX   Úy_train_before_fitr  rB   r9   rY   r  Úexpected_stack_methodsÚn_features_X_transrZ   s                  r]   Ú0test_stacking_classifier_multilabel_auto_predictr*  â  sÂ  € õ (8Ý•l­\Èð(ñ (ô (Ñ$€GˆV�W˜fð !Ÿš™œÐØ€Ið 
•¨2Ð.Ñ.Ô.Ð/Ø	Õ%°2Ð6Ñ6Ô6Ð7Ø	•/Ñ#Ô#Ð$ð€Jõ
 +Ñ,Ô,€Oå
ØØ'ØØ!ð	ñ ô ÷
 
‚cˆ'�7ÑÔð õ Ð)¨7Ñ3Ô3Ð3à�[Š[˜Ñ Ô €FØŒ<˜6œ<Ò'Ð'Ð'Ð'à�vÒÐØ!XÐ!XÐ!XÐÐà"+ ­s°:©¬Ñ!>ÐØÔÐ 6Ò6Ð6Ð6Ð6à"¥S¨¡_¤_Ñ4ÐØð /Ø˜gœm¨AÔ.Ñ.ÐØ�mŠm˜FÑ#Ô#€GØŒ=˜Vœ\¨!œ_Ð.@ÐAÒAÐAÐAÐAå�s”|¥b¤h°°1¨vÑ&6Ô&6Ð%7¸)Ñ%CÑDÔDÐDÐDÐDr_   z,stacker, feature_names, X, y, expected_names)Ústackingclassifier_lr0Ústackingclassifier_lr1Ústackingclassifier_lr2Ústackingclassifier_svm0Ústackingclassifier_svm1Ústackingclassifier_svm2)ÚotherrH   Ústackingclassifier_lrÚstackingclassifier_svmÚstackingregressor_lrÚstackingregressor_svm)ÚStackingClassifier_multiclassÚStackingClassifier_binaryr   c                 ó  — t          | ¦  «        } |                      |¬¦  «         |                      t          |¦  «        |¦  «         |rt	          j        ||f¦  «        }|                      |¦  «        }t          ||¦  «         dS )z/Check get_feature_names_out works for stacking.)r;   N)r
   rS   rM   r"   rœ   ÚconcatenateÚget_feature_names_outr   )rÏ   Úfeature_namesrf   rg   Úexpected_namesr;   Ú	names_outs          r]   Útest_get_feature_names_outr>    s‡   € õB �G‰nŒn€GØ×Ò ;ÐÑ/Ô/Ð/Ø‡K‚K•�a‘”˜!ÑÔÐàð IÝœ¨¸Ð(GÑHÔHˆà×-Ò-¨mÑ<Ô<€IÝ�y .Ñ1Ô1Ð1Ð1Ð1r_   c                  ód  — t          t          t          ¦  «        t          t          d¬¦  «        \  } }}}t	          dt          ¦   «         fg¬¦  «        }|                     | |¦  «         |                     |¦  «         |                     |¦  «         | 	                    ||¦  «        dk    sJ ‚dS )zNCheck that a regressor can be used as the first layer in `StackingClassifier`.r2   r=   rs   re   rC   N)
r   r"   rK   rL   r   r   rM   rN   rO   rP   )rU   rV   rW   rX   rY   s        r]   Ú'test_stacking_classifier_base_regressorr@  ]  s«   € å'7Ý�f‰Œ•v­¸Rð(ñ (ô (Ñ$€GˆV�W˜fõ ¨'µ5±7´7Ð);Ð(<Ð
=Ñ
=Ô
=€CØ‡G‚GˆG�WÑÔÐØ‡K‚K�ÑÔÐØ×Ò�fÑÔÐØ�9Š9�V˜VÑ$Ô$ sÒ*Ð*Ð*Ð*Ð*Ð*r_   c                  óô  — t          d¬¦  «        \  } }dt          ¦   «         fdt          dd¬¦  «        fg}t          dd¬¦  «        }t          ||d¬¦  «        }d	}d
}t	          j        t          |¬¦  «        5 }|                     | |¦  «                             | ¦  «         ddd¦  «         n# 1 swxY w Y   t          |j
        j        t          ¦  «        sJ ‚|t          |j
        j        ¦  «        v sJ ‚dS )a
  Check that we raise the proper AttributeError when the final estimator
    does not implement the `decision_function` method, which is decorated with
    `available_if`.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/28108
    r2   r:   r?   rc   r5   rl   r1   ro   z>This 'StackingClassifier' has no attribute 'decision_function'zD'RandomForestClassifier' object has no attribute 'decision_function'r¯   N)r   r   r   r   r³   r´   r  rM   rT   Ú
isinstanceÚvalueÚ	__cause__Ústr)rf   rg   rB   r9   rY   Ú	outer_msgÚ	inner_msgÚ	exec_infos           r]   Ú-test_stacking_final_estimator_attribute_errorrI  i  sH  € õ ¨BÐ/Ñ/Ô/�D€A€qð 
Õ!Ñ#Ô#Ð$Ø	Õ%°1À2ÐFÑFÔFÐGð€Jõ -¸!È"ÐMÑMÔM€OÝ
Ø¨À1ðñ ô €Cð Q€IØV€IÝ	Œ•~¨YÐ	7Ñ	7Ô	7ð +¸9Ø�Š��1‰Œ×'Ò'¨Ñ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +å�i”oÔ/µÑ@Ô@Ð@Ð@Ð@Ø�˜IœOÔ5Ñ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6s   Á9*B/Â/B3Â6B3zEstimator, Childc                 óÞ   — t          j        t          d¬¦  «        5   | d |¦   «         g¦  «                             t          t
          g d¢d¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z�Test that the right error message is raised when metadata is passed while
    not supported when `enable_metadata_routing=False`.z1is only supported if enable_metadata_routing=Truer¯   rY   )rF   rF   rF   rF   rF   Úa©r²   ÚmetadataN)r³   r´   Ú
ValueErrorrM   rK   rL   )rù   ÚChilds     r]   Ú*test_routing_passed_metadata_not_supportedrP  Š  sÆ   € õ 
ŒÝÐMð
ñ 
ô 
ð 
ð 
ð 	ˆ	�5˜%˜%™'œ'Ð"Ñ#Ô#×'Ò'Ý•F¨/¨/¨/ÀCð 	(ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   œ9A"Á"A&Á)A&)Úenable_metadata_routingc                 óZ   —  | d |¦   «         fg¦  «        }|                      ¦   «          d S )NÚsub_est)Úget_metadata_routing)rù   rO  r  s      r]   Ú%test_get_metadata_routing_without_fitrU  �  s9   € ð ˆ)�i  ¡¤Ð)Ð*Ñ
+Ô
+€CØ×ÒÑÔÐÐÐr_   zprop, prop_valuer²   )rM  rK  c           
      ó€  —  | d  |t          ¦   «         ¬¦  «        j        di |di¤Žfd  |t          ¦   «         ¬¦  «        j        di |di¤Žfg  |t          ¦   «         ¬¦  «        j        di |di¤Ž¬¦  «        } |j        t          t
          fi ||i¤Ž  |j        t          t
          fi ||i¤Ž  |j        t          fi ||i¤Ž |j        D ]8}|d         j	        }t          |¦  «        sJ ‚|D ]}t          d|dd|dœ||i¤Ž ŒŒ9|j        j	        }t          |¦  «        sJ ‚t          d|d	         d
d
|dœ||i¤Ž dS )z5Test that metadata is routed correctly for Stacking*.Úsub_est1)ÚregistryTÚsub_est2)r9   rF   rM   )ÚobjÚmethodÚparentÚsplit_paramséÿÿÿÿrN   Nr¡   )r(   Úset_fit_requestÚset_predict_requestrM   rK   rL   Úfit_transformrN   rB   rX  r‚   r)   rá   )rù   rO  ÚpropÚ
prop_valuer  rÄ   rX  rS  s           r]   Ú-test_metadata_routing_for_stacking_estimatorsrd  «  sý  € ð ˆ)ð Ø;���y™{œ{Ð+Ñ+Ô+Ô;ÐKÐK¸tÀT¸lÐKÐKðð
 Ø;���y™{œ{Ð+Ñ+Ô+Ô;ÐKÐK¸tÀT¸lÐKÐKðð		
ð H˜˜¥y¡{¤{Ð3Ñ3Ô3ÔGÐWÐWÈ4ÐQUÈ,ÐWÐWðñ ô €Cð €C„G�F•FÐ1Ð1˜t ZÐ0Ð1Ð1Ð1Ø€CÔ•f�fÐ;Ð;¨¨zÐ(:Ð;Ð;Ð;à€C„K•Ð-Ð-˜4 Ð,Ð-Ð-Ð-à”^ð ð ˆ	à˜Q”<Ô(ˆÝ�8‰}Œ}ÐÐˆ}Øð 	ð 	ˆGÝ#ð ØØØØ"ð	ð ð
 ˜Ð$ðð ð ð ð	ð Ô#Ô,€HÝˆx‰=Œ=ÐÐˆ=Ýð Ø�RŒLØØØð	ð ð
 �Ð
ðð ð ð ð r_   c                 óf  — t          j        t          j        d         ¦  «        d}} | d |¦   «         fg¦  «        }d|j        › d�}t          j        t          t          j	        |¦  «        ¬¦  «        5  | 
                    t          t          ||¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )	zCTest that the right error is raised when metadata is not requested.r   rK  rS  zb[sample_weight, metadata] are passed but are not explicitly set as requested or not requested for z.fitr¯   rL  N)rœ   r�   rK   rR   rž   r³   r´   rN  ÚreÚescaperM   rL   )rù   rO  r²   rM  r  Úerror_messages         r]   Ú3test_metadata_routing_error_for_stacking_estimatorsri  ä  s  € õ !œg¥f¤l°1¤oÑ6Ô6¸�8€Mà
ˆ)�i  ¡¤Ð)Ð*Ñ
+Ô
+€Cð	6Ø!&¤ð	6ð 	6ð 	6ð õ
 
Œ•z­¬°=Ñ)AÔ)AÐ	BÑ	BÔ	Bð Pð PØ�Š•�¨mÀhˆÑOÔOÐOðPð Pð Pñ Pô Pð Pð Pð Pð Pð Pð Pð Pøøøð Pð Pð Pð Pð Pð Ps   Á5$B&Â&B*Â-B*)xr  rf  Úunittest.mockr   Únumpyrœ   r³   Únumpy.testingr   Úscipyr   Úsklearnr   Úsklearn.baser   r   r	   r
   Úsklearn.datasetsr   r   r   r   r   r   Úsklearn.dummyr   r   Úsklearn.ensembler   r   r   r   Úsklearn.exceptionsr   r   Úsklearn.linear_modelr   r   r   r   Úsklearn.model_selectionr   r   r   Úsklearn.neighborsr    Úsklearn.neural_networkr!   Úsklearn.preprocessingr"   Úsklearn.svmr#   r$   r%   Ú%sklearn.tests.metadata_routing_commonr&   r'   r(   r)   Úsklearn.utils._mockingr*   Úsklearn.utils._testingr+   r,   r-   Úsklearn.utils.fixesr.   r/   r0   ÚdiabetesÚdataÚtargetrw   rx   ÚirisrK   rL   r  r  ÚX_binaryÚy_binaryÚmarkÚparametrizer^   ri   rq   r{   r†   rŒ   rŽ   r”   r–   r£   rN  Ú	TypeErrorr¸   r»   rÇ   rÉ   rÖ   rÙ   Úfilterwarningsræ   r  r  r  r  r   r*  r;  r>  r@  rI  rP  rU  r�   rR   rd  ri  r¡   r_   r]   ú<module>rˆ     s`  ðØ 1Ð 1ð
 
€	€	€	Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø €€€Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø Ð Ð Ð Ð Ð à "Ð "Ð "Ð "Ð "Ð "Ø NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ Nðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð :Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9ðð ð ð ð ð ð ð ð ð ð ð ð BÐ AÐ AÐ AÐ AÐ AÐ AÐ Aðð ð ð ð ð ð ð ð ð ð ð ð MÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LØ 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1ðð ð ð ð ð ð ð ð ð ð ð ð 6Ð 5Ð 5Ð 5Ð 5Ð 5ðð ð ð ð ð ð ð ð ð ð
 OÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ Nàˆ=‰?Œ?€Ø!œ¨¬Ð €
ˆJØ€y�{„{€Ø”˜DœK€€ˆØ;Ð;Ø˜bðñ ô Ñ €ˆlð )Ð(°1À2ÐFÑFÔFÑ €ˆ(ð „×ÒØˆ1ˆoˆo q°$ÀRÐHÑHÔHÐ
Iñô ð „×ÒØ˜Ð4Ð4À"ÐEÑEÔEÐFñô ð „×Ò˜¨°¨Ñ6Ô6ð$1ð $1ñ 7Ô6ñô ñô ð$1ðN!ð !ð !ð6Gð Gð Gð,Gð Gð Gð* „×Ò˜  5 5°!¸TÐPRÐ#SÑ#SÔ#SÐTÑUÔUØ„×ÒØ%à	ˆrˆ
Ø	Ð	¨BÐ	/Ñ	/Ô	/°Ð4Ø	ˆÑ	Ô	˜L¨$Ð/Ð0ðñô ð „×Ò˜¨°¨Ñ6Ô6ð!2ð !2ñ 7Ô6ñô ñ VÔUð!2ðH „×ÒØ˜¨Ñ7¸.ÑHñô ð+ð +ñô ð+ð" „×ÒØ˜¨Ñ7¸.ÑHñô ð+ð +ñô ð+ð" ð  ð  ð#ð #ð #ð #ð #˜¨ñ #ô #ð #ð"ð "ð "ð "ð "˜¨-ñ "ô "ð "ð „×ÒØ"à	�, Ð# ZÐ1RÐSàð Ð-Ð-Ñ/Ô/Ð0Ø˜C˜C¨Ð0Ñ0Ô0Ð1ðð !0ðð ð Ø9ð	
ð àØÐ-Ð-Ñ/Ô/Ð0ØÐ.Ð.Ñ0Ô0Ð1ððð Ø,ð
	
ð ð Ð-Ð-Ñ/Ô/Ð0Ø˜I˜I¨vÐ6Ñ6Ô6Ð7ðð $6Ð#5Ñ#7Ô#7ðð ð Ø,ð	
ð3%ñ(ô (ðRJð JñS(ô (ðRJð „×ÒØ"à	�l BÐ'¨Ð5VÐWàØ˜TÐ#3Ð#3Ñ#5Ô#5Ð6¸Ð@QÐ@QÑ@SÔ@SÐ8TÐUÐVØØ,ð		
ð ð Ð+Ð+Ñ-Ô-Ð.Ø˜I˜I™KœKÐ(ðð $5Ð#4Ñ#6Ô#6ðð ð Ø,ð	
ðñô ð0Rð Rñ1ô ð0Rð „×ÒØð ÐàÐ0Ð0¸aÐ@Ñ@Ô@ÐAØ˜y˜y°aÐ8Ñ8Ô8Ð9ððñ ô ð �4�C�4ŒLØ�4�C�4ŒLð		
ð Ðà˜e˜e¨#Ð.Ñ.Ô.Ð/Ø˜u˜u¨4Ð0Ñ0Ô0Ð1ððñ ô ð Øð		
ðð, 
Ð2Ð3ð1 ñ ô ð4ð ñ5ô ð4ð(
ð 
ð 
ð „×ÒØð ÐàÐ-Ð-Ñ/Ô/Ð0Ø˜I˜I°2Ð6Ñ6Ô6Ð7ðð !3Ð 2Ñ 4Ô 4Ø�5 °BÐ7Ñ7Ô7ðñ ô ð
	
ð  Ð¨4Ð0Ñ0Ô0ð
	
ð 
	
ð Ðà˜e˜e¨#Ð.Ñ.Ô.Ð/Ø˜u˜u¨4Ð0Ñ0Ô0Ð1ðð !1Ð 0Ñ 2Ô 2Ø�5 °BÐ7Ñ7Ô7ðñ ô ð Øð	
ðð2 
Ð2Ð3ð7 ñ ô ð:>ð >ñ;ô ð:>ð<Hð Hð Hð „×ÒÐKÑLÔLØ„×ÒØð ÐàÐ-Ð-Ñ/Ô/Ð0Ø˜I˜I°2Ð6Ñ6Ô6Ð7ðð !3Ð 2Ñ 4Ô 4ðñ ô ð		
ð  Ð¨4Ð0Ñ0Ô0ð		
ð 		
ð Ðà˜u˜u¨3Ð/Ñ/Ô/Ð0Ø˜u˜u¨4Ð0Ñ0Ô0Ð1ðð !1Ð 0Ñ 2Ô 2ðñ ô ð Øð
	
ðð. 
Ð2Ð3ð3 ñ ô ð6
ð 
ñ7ô ñ MÔLð8
ð2 „×ÒØ=ð ØØØÐ¨BÐ/Ñ/Ô/ØØð	
ð ØØØÐÑÔØØð	
ðñô ð* 5ð  5ñ+ô ð* 5ðF „×ÒØð ÐØ!Ð#5Ð#5Ñ#7Ô#7Ð8¸5À#À#Á%Ä%¸.ÐIØðñ ô ð Øð	
ð ÐàÐ+Ð+Ñ-Ô-Ð.Ø˜I˜I™KœKÐ(ðð ðñ ô ð Øð
	
ðñô ð0ð ñ1ô ð0ð „×ÒØ'à	Ð0Ð2DÐEØ	Ð+Ð-=Ð>ðñô ðð ñô ðð4 „×ÒØð 	ˆ 2Ð&Ñ&Ô&ð 	Ð¨BÐ/Ñ/Ô/ðð 
Ð2Ð3ð ñ 
ô 
ð(ð (ñ
ô 
ð(ð8(ð (ð (ð0 „×Ò˜¨&°)Ð)<Ñ=Ô=Ø„×Ò˜¨°¨Ñ6Ô6ð*Eð *Eñ 7Ô6ñ >Ô=ð*EðZ „×ÒØ2ð ÐàÐ-Ð-¸1Ð=Ñ=Ô=Ð>Ø˜I˜I°1Ð5Ñ5Ô5Ð6ððñ ô ð ÔØØðð ð ð	
ð( ÐàÐ-Ð-¸1Ð=Ñ=Ô=Ð>Ø%Ø˜I˜I°1Ð5Ñ5Ô5Ð6ððñ ô ð ÔØ�4�C�4ŒLØ�4�C�4ŒLà'Ø(ðð	
ð" ÐàÐ+Ð+Ñ-Ô-Ð.Ø˜I˜I°1Ð5Ñ5Ô5Ð6ððñ ô ð Ô"ØØà&Ø'ðð	
ðI3ðh	ð 	ð 	ðm ñ ;ô ;ðx „×Ò˜¨¨u¨Ñ6Ô6ð2ð 2ñ 7Ô6ñy;ô ;ðz2ð	+ð 	+ð 	+ð7ð 7ð 7ðB „×ÒØà	Ð0Ð1Ø	Ð.Ð/ðñô ð	
ð 	
ñô ð	
ð „×ÒØà	Ð0Ð1Ø	Ð.Ð/ðñô ð €¨Ð-Ñ-Ô-ðð ñ .Ô-ñô ðð „×ÒØà	Ð0Ð1Ø	Ð.Ð/ðñô ð „×ÒØ˜/¨7¨2¬7°6´<À´?Ñ+CÔ+CÐDÐFWÐXñô ð €¨Ð-Ñ-Ô-ð+ð +ñ .Ô-ñô ñô ð+ð\ „×ÒØà	Ð0Ð1Ø	Ð.Ð/ðñô ð €¨Ð-Ñ-Ô-ðPð Pñ .Ô-ñô ðPð Pð Pr_   