§
    qŠtjõk  ã                   ó
  — d Z ddlZddlZddlZddlmZmZ ddlm	Z	m
Z
mZ ddlmZ ddlmZ ddlmZ ddlmZmZmZmZmZ dd	lmZ dd
lmZmZ ddlmZmZm Z  ddl!m"Z" ddl#m$Z$ ddl%m&Z& ddl'm(Z( ddl)m*Z* ddl+m,Z,m-Z-m.Z.m/Z/ ddl0m1Z1m2Z2 ddl3m4Z4m5Z5m6Z6  ej7        ¦   «         Z8e8j9        dd…dd…f         e8j:        cZ;Z< e(¦   «          =                    e;¦  «        Z> ej?        d¬¦  «        \  Z@ZAejB         C                    ddg idfd e¦   «         gidfdd e¦   «         fgidfd e¦   «         fgddgdœdfg¦  «        d „ ¦   «         ZDd!„ ZEd"„ ZFd#„ ZGd$„ ZHd%„ ZId&„ ZJd'„ ZKd(„ ZLd)„ ZMd*„ ZNd+„ ZOd,„ ZPd-„ ZQd.„ ZRd/„ ZSd0„ ZTd1„ ZUejB         C                    d2e;e< ed e¦   «         fd3 ed4¬5¦  «        fg¦  «        fe@eA ed e¦   «         fd3 ed4¬5¦  «        fg¦  «        fg¦  «        d6„ ¦   «         ZVejB         C                    d7 ed e¦   «         fd8 e2d¬9¦  «        fg¬:¦  «         ed ed¬9¦  «        fd8 e1d¬9¦  «        fg¬:¦  «        gd;d<g¬=¦  «        d>„ ¦   «         ZWejB         C                    d? ed e¦   «         fd3 ed@¬9¦  «        fgd¬A¦  «         ed ed@¬9¦  «        fd3 ed@¬9¦  «        fgd¬A¦  «        g¦  «        dB„ ¦   «         ZXdC„ ZYejB         C                    dDdEddFœg dG¢fdHdIidJdKgfg¦  «        dL„ ¦   «         ZZdM„ Z[ejB         C                    dNee,fee-fg¦  «        dO„ ¦   «         Z\ejB         C                    dNee,fee-fg¦  «         ed¬P¦  «        dQ„ ¦   «         ¦   «         Z]ejB         C                    dNee,fee-fg¦  «        ejB         C                    dRdSdTg¦  «         ed¬P¦  «        dU„ ¦   «         ¦   «         ¦   «         Z^ejB         C                    dNee,fee-fg¦  «         ed¬P¦  «        dV„ ¦   «         ¦   «         Z_dS )Wz4Testing for the VotingClassifier and VotingRegressoré    N)Úconfig_contextÚdatasets)ÚBaseEstimatorÚClassifierMixinÚclone)ÚCalibratedClassifierCV)Úmake_multilabel_classification)ÚDummyRegressor)ÚGradientBoostingClassifierÚRandomForestClassifierÚRandomForestRegressorÚVotingClassifierÚVotingRegressor)ÚNotFittedError)ÚLinearRegressionÚLogisticRegression)ÚGridSearchCVÚcross_val_scoreÚtrain_test_split)ÚOneVsRestClassifier)Ú
GaussianNB)ÚKNeighborsClassifier)ÚStandardScaler)ÚSVC)ÚConsumingClassifierÚConsumingRegressorÚ	_RegistryÚcheck_recorded_metadata)ÚDecisionTreeClassifierÚDecisionTreeRegressor)Úassert_almost_equalÚassert_array_almost_equalÚassert_array_equalé   é   T)Ú
return_X_yzparams, err_msgÚ
estimatorszGInvalid 'estimators' attribute, 'estimators' should be a non-empty listéÕ   Úlré   )r'   Úweightsz0Number of `estimators` and weights must be equalc                 óÆ   — t          di | ¤Ž}t          j        t          |¬¦  «        5  |                     t
          t          ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N©Úmatch© )r   ÚpytestÚraisesÚ
ValueErrorÚfitÚXÚy)ÚparamsÚerr_msgÚensembles      ú`/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sklearn/ensemble/tests/test_voting.pyÚ%test_voting_classifier_estimator_initr:   2   s¤   € õ,  Ð)Ð) &Ð)Ð)€HÝ	Œ•z¨Ð	1Ñ	1Ô	1ð ð Ø�Š•Q�ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ¨!AÁAÁAc                  óä  — t          dt          ¦   «         fdt          ¦   «         fgd¬¦  «        } d}d}t          j        t          |¬¦  «        5 }| j         d d d ¦  «         n# 1 swxY w Y   t          |j        j        t          ¦  «        sJ ‚|t          |j        j        ¦  «        v sJ ‚t          | d¦  «        rJ ‚|                      t          t          ¦  «         t          | d¦  «        rJ ‚d S )	NÚlr1Úlr2Úhard©r'   Úvotingú1predict_proba is not available when voting='hard'ú3'VotingClassifier' has no attribute 'predict_proba'r-   Úpredict_proba)r   r   r0   r1   ÚAttributeErrorrC   Ú
isinstanceÚvalueÚ	__cause__ÚstrÚhasattrr3   ÚX_scaledr5   )ÚeclfÚ	inner_msgÚ	outer_msgÚ	exec_infos       r9   Útest_predictproba_hardvotingrO   M   s5  € ÝØÕ.Ñ0Ô0Ð1°EÕ;MÑ;OÔ;OÐ3PÐQØðñ ô €Dð
 D€IØE€IÝ	Œ•~¨YÐ	7Ñ	7Ô	7ð ¸9ØÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å�i”oÔ/µÑ@Ô@Ð@Ð@Ð@Ø�˜IœOÔ5Ñ6Ô6Ð6Ð6Ð6Ð6å�t˜_Ñ-Ô-Ð-Ð-Ð-Ø‡H‚H�X•qÑÔÐÝ�t˜_Ñ-Ô-Ð-Ð-Ð-Ð-Ð-s   ÁA#Á#A'Á*A'c                  óÆ  — t          dt          ¦   «         fdt          ¦   «         fgd¬¦  «        } t          dt          ¦   «         fg¦  «        }d}t	          j        t          |dz  ¬¦  «        5  |                      t          ¦  «         d d d ¦  «         n# 1 swxY w Y   t	          j        t          |dz  ¬¦  «        5  |  	                    t          ¦  «         d d d ¦  «         n# 1 swxY w Y   t	          j        t          |dz  ¬¦  «        5  |  
                    t          ¦  «         d d d ¦  «         n# 1 swxY w Y   t	          j        t          |d	z  ¬¦  «        5  |                     t          ¦  «         d d d ¦  «         n# 1 swxY w Y   t	          j        t          |d	z  ¬¦  «        5  | 
                    t          ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nr<   r=   Úsoftr?   ÚdrzfThis %s instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.r   r-   r   )r   r   r   r
   r0   r1   r   Úpredictr4   rC   Ú	transformÚX_r)rK   ÚeregÚmsgs      r9   Útest_notfittedrX   _   sû  € ÝØÕ.Ñ0Ô0Ð1°EÕ;MÑ;OÔ;OÐ3PÐQØðñ ô €Dõ ˜T¥>Ñ#3Ô#3Ð4Ð5Ñ6Ô6€Dð	Cð õ 
Œ•~¨SÐ3EÑ-EÐ	FÑ	FÔ	Fð ð Ø�Š•Q‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•~¨SÐ3EÑ-EÐ	FÑ	FÔ	Fð ð Ø×Ò�1ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•~¨SÐ3EÑ-EÐ	FÑ	FÔ	Fð ð Ø�Š•qÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•~¨SÐ3DÑ-DÐ	EÑ	EÔ	Eð ð Ø�Š•SÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•~¨SÐ3DÑ-DÐ	EÑ	EÔ	Eð ð Ø�Š•sÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð sZ   Á.BÂBÂBÂ>C%Ã%C)Ã,C)ÄD5Ä5D9Ä<D9ÅFÆF	ÆF	Æ.GÇGÇGc                 ó  — t          | ¬¦  «        }t          d| ¬¦  «        }t          ¦   «         }t          d|fd|fd|fgd¬¦  «        }t	          |t
          t          d	¬
¦  «        }|                     ¦   «         dk    sJ ‚dS )z7Check classification by majority label on dataset iris.©Úrandom_stateé
   ©Ún_estimatorsr[   r)   ÚrfÚgnbr>   r?   Úaccuracy©ÚscoringçÍÌÌÌÌÌì?N)r   r   r   r   r   r4   r5   Úmean©Úglobal_random_seedÚclf1Úclf2Úclf3rK   Úscoress         r9   Útest_majority_label_irisrl   u   s’   € åÐ+=Ð>Ñ>Ô>€DÝ!¨rÐ@RÐSÑSÔS€DÝ‰<Œ<€DÝØ˜4�L 4¨ ,°¸°Ð>Àvðñ ô €Dõ ˜T¥1¥a°Ð<Ñ<Ô<€Fà�;Š;‰=Œ=˜CÒÐÐÐÐÐó    c                  ó  — t          d¬¦  «        } t          d¬¦  «        }t          d| fd|fgd¬¦  «        }|                      t          t
          ¦  «                             t          ¦  «        d         dk    sJ ‚|                     t          t
          ¦  «                             t          ¦  «        d         d	k    sJ ‚|                     t          t
          ¦  «                             t          ¦  «        d         d	k    sJ ‚d
S )zECheck voting classifier selects smaller class label in tie situation.é{   rZ   r)   r_   r>   r?   é4   r*   r$   N)r   r   r   r3   r4   r5   rS   )rh   ri   rK   s      r9   Útest_tie_situationrq   ‚   s×   € å¨3Ð/Ñ/Ô/€DÝ!¨sÐ3Ñ3Ô3€DÝ¨¨t¨°t¸T°lÐ'CÈFÐSÑSÔS€DØ�8Š8•A•q‰>Œ>×!Ò!¥!Ñ$Ô$ RÔ(¨AÒ-Ð-Ð-Ð-Ø�8Š8•A•q‰>Œ>×!Ò!¥!Ñ$Ô$ RÔ(¨AÒ-Ð-Ð-Ð-Ø�8Š8•A•q‰>Œ>×!Ò!¥!Ñ$Ô$ RÔ(¨AÒ-Ð-Ð-Ð-Ð-Ð-rm   c                 ó  — t          | ¬¦  «        }t          d| ¬¦  «        }t          ¦   «         }t          d|fd|fd|fgdg d¢¬	¦  «        }t	          |t
          t          d
¬¦  «        }|                     ¦   «         dk    sJ ‚dS )z>Check classification by average probabilities on dataset iris.rZ   r\   r]   r)   r_   r`   rQ   ©r$   r*   r\   ©r'   r@   r+   ra   rb   rd   N)r   r   r   r   r   rJ   r5   re   rf   s         r9   Útest_weights_irisru   Œ   sš   € åÐ+=Ð>Ñ>Ô>€DÝ!¨rÐ@RÐSÑSÔS€DÝ‰<Œ<€DÝØ˜4�L 4¨ ,°¸°Ð>ØØ�
�
ðñ ô €Dõ
 ˜T¥8­Q¸
ÐCÑCÔC€FØ�;Š;‰=Œ=˜CÒÐÐÐÐÐrm   c                  óæ  — t          d¬¦  «        } t          d¬¦  «        }t          dd¬¦  «        }t          d| fd|fd|fgg d¢¬¦  «        }t          t          t          d	¬
¦  «        \  }}}}|                      ||¦  «                             |¦  «        }|                     ||¦  «                             |¦  «        }	|                     ||¦  «                             |¦  «        }
|                     ||¦  «                             |¦  «        }t          j        t          j	        ||	|
g¦  «        dg d¢¬¦  «        }t          ||d¬¦  «         t          d| fd|fd|fgd¬¦  «        }t          d| fd|fd|fgg d¢¬¦  «        }|                     ||¦  «         |                     ||¦  «         |                     |¦  «        }|                     |¦  «        }t          ||d¬¦  «         dS )zACheck weighted average regression prediction on diabetes dataset.re   )ÚstrategyÚmedianÚquantileçš™™™™™É?)rw   ry   rs   )r+   g      Ð?)Ú	test_sizer   )Úaxisr+   r*   ©ÚdecimalN©r$   r$   r$   )r
   r   r   rU   Úy_rr3   rS   ÚnpÚaverageÚasarrayr!   )Úreg1Úreg2Úreg3rV   Ú	X_r_trainÚX_r_testÚ	y_r_trainÚy_r_testÚ	reg1_predÚ	reg2_predÚ	reg3_predÚ	ereg_predÚavgÚereg_weights_noneÚereg_weights_equalÚereg_none_predÚereg_equal_preds                    r9   Útest_weights_regressorr”   š   s/  € å 6Ð*Ñ*Ô*€DÝ 8Ð,Ñ,Ô,€DÝ :¸Ð<Ñ<Ô<€DÝØ
�$ˆ˜( DÐ)¨J¸Ð+=Ð>È
È
È
ðñ ô €Dõ 0@Ý�S˜Dð0ñ 0ô 0Ñ,€Iˆx˜ Hð —’˜ IÑ.Ô.×6Ò6°xÑ@Ô@€IØ—’˜ IÑ.Ô.×6Ò6°xÑ@Ô@€IØ—’˜ IÑ.Ô.×6Ò6°xÑ@Ô@€IØ—’˜ IÑ.Ô.×6Ò6°xÑ@Ô@€Iå
Œ*Ý
Œ
�I˜y¨)Ð4Ñ5Ô5¸AÀzÀzÀzðñ ô €Cõ ˜	 3°Ð2Ñ2Ô2Ð2å'Ø
�$ˆ˜( DÐ)¨J¸Ð+=Ð>Èðñ ô Ðõ )Ø
�$ˆ˜( DÐ)¨J¸Ð+=Ð>È	È	È	ðñ ô Ðð ×Ò˜) YÑ/Ô/Ð/Ø×Ò˜9 iÑ0Ô0Ð0Ø&×.Ò.¨xÑ8Ô8€NØ(×0Ò0°Ñ:Ô:€OÝ˜¨ÀÐCÑCÔCÐCÐCÐCrm   c           	      óŠ  — t          | ¬¦  «        }t          d| ¬¦  «        }t          ¦   «         }t          j        ddgddgdd	gd
dgddgddgg¦  «        }t          j        g d¢¦  «        }t          |                     ||¦  «                             |¦  «        g d¢¦  «         t          |                     ||¦  «                             |¦  «        g d¢¦  «         t          |                     ||¦  «                             |¦  «        g d¢¦  «         t          d|fd|fd|fgdg d¢¬¦  «        }t          |                     ||¦  «                             |¦  «        g d¢¦  «         t          d|fd|fd|fgdg d¢¬¦  «        }t          |                     ||¦  «                             |¦  «        g d¢¦  «         dS )z6Manually check predicted class labels for toy dataset.rZ   r\   r]   çš™™™™™ñ¿ç      ø¿ç333333ó¿çffffffö¿ç333333Àçš™™™™™Àçš™™™™™ñ?ç333333ó?gÍÌÌÌÌÌ @gffffffö?gÍÌÌÌÌÌ@gffffff@)r$   r$   r$   r*   r*   r*   r)   r_   r`   r>   r   rt   rQ   N)	r   r   r   r�   Úarrayr#   r3   rS   r   )rg   rh   ri   rj   r4   r5   rK   s          r9   Útest_predict_on_toy_problemrŸ   ¾   sè  € åÐ+=Ð>Ñ>Ô>€DÝ!¨rÐ@RÐSÑSÔS€DÝ‰<Œ<€Då
ŒØ
�ˆ˜˜d�| d¨D \°C¸°:ÀÀS¸zÈCÐQTÈ:ÐVñ	ô 	€Aõ 	ŒÐ#Ð#Ð#Ñ$Ô$€Aå�t—x’x  1‘~”~×-Ò-¨aÑ0Ô0Ð2DÐ2DÐ2DÑEÔEÐEÝ�t—x’x  1‘~”~×-Ò-¨aÑ0Ô0Ð2DÐ2DÐ2DÑEÔEÐEÝ�t—x’x  1‘~”~×-Ò-¨aÑ0Ô0Ð2DÐ2DÐ2DÑEÔEÐEåØ˜4�L 4¨ ,°¸°Ð>ØØ�	�	ðñ ô €Dõ
 �t—x’x  1‘~”~×-Ò-¨aÑ0Ô0Ð2DÐ2DÐ2DÑEÔEÐEåØ˜4�L 4¨ ,°¸°Ð>ØØ�	�	ðñ ô €Dõ
 �t—x’x  1‘~”~×-Ò-¨aÑ0Ô0Ð2DÐ2DÐ2DÑEÔEÐEÐEÐErm   c                  ó
  — t          d¬¦  «        } t          d¬¦  «        }t          ¦   «         }t          j        ddgddgddgd	d
gg¦  «        }t          j        g d¢¦  «        }t          j        ddgddgddgddgg¦  «        }t          j        ddgddgddgddgg¦  «        }t          j        ddgddgddgddgg¦  «        }d|d         d         z  |d         d         z   |d         d         z   d z  }d|d!         d!         z  |d!         d!         z   |d!         d!         z   d z  }	d|d         d!         z  |d         d!         z   |d         d!         z   d z  }
d|d"         d!         z  |d"         d!         z   |d"         d!         z   d z  }t          d#| fd$|fd%|fgd&g d'¢¬(¦  «        }|                     ||¦  «                             |¦  «        }t          ||d         d         d!¬)¦  «         t          |	|d!         d!         d!¬)¦  «         t          |
|d         d!         d!¬)¦  «         t          ||d"         d!         d!¬)¦  «         d*}d+}t          j
        t          |¬,¦  «        5 }t          d#| fd$|fd%|fgd-¬.¦  «        }|                     ||¦  «                             |¦  «         d/d/d/¦  «         n# 1 swxY w Y   t          |j        j        t          ¦  «        sJ ‚|t          |j        j        ¦  «        v sJ ‚d/S )0z1Calculate predicted probabilities on toy dataset.ro   rZ   r–   r—   r˜   r™   rš   r›   rœ   r�   ©r$   r$   r*   r*   g…7sa"ã?gö�=ñ»Ù?g�½¤Rhpâ?gâ„¶Z/Û?glç^Ô¬;à?g(1BW¦ˆß?gµU(V6ÁÙ?g&ÕëÔdã?gš™™™™™é?rz   ç333333Ó?çffffffæ?gá5ùwÇóï?g9=”qX?gè_óï?g$ö/ÐAY?ç        ç      ð?r*   r   é   r$   r%   r)   r_   r`   rQ   )r*   r$   r$   rt   r}   rA   rB   r-   r>   r?   N)r   r   r   r�   rž   r   r3   rC   r!   r0   r1   rD   rE   rF   rG   rH   )rh   ri   rj   r4   r5   Úclf1_resÚclf2_resÚclf3_resÚt00Út11Út21Út31rK   Úeclf_resrL   rM   rN   s                    r9   Ú!test_predict_proba_on_toy_problemr¯   Ý   s„  € å¨3Ð/Ñ/Ô/€DÝ!¨sÐ3Ñ3Ô3€DÝ‰<Œ<€DÝ
Œ�4˜�,  t ¨t°T¨l¸SÀ#¸JÐGÑHÔH€AÝ
Œ���ÑÔ€AåŒxà˜Ð$Ø˜Ð$Ø˜Ð$Ø˜Ð$ð		
ñô €Hõ Œx˜#˜s˜ c¨3 Z°#°s°¸cÀ3¸ZÐHÑIÔI€HåŒxØ
�YÐ	 *¨jÐ!9¸CÀ¸:ÈÈSÀzÐRñô €Hð ˆx˜Œ{˜1Œ~Ñ ¨¤¨A¤Ñ.°¸!´¸Q´Ñ?À1Ñ
D€CØˆx˜Œ{˜1Œ~Ñ ¨¤¨A¤Ñ.°¸!´¸Q´Ñ?À1Ñ
D€CØˆx˜Œ{˜1Œ~Ñ ¨¤¨A¤Ñ.°¸!´¸Q´Ñ?À1Ñ
D€CØˆx˜Œ{˜1Œ~Ñ ¨¤¨A¤Ñ.°¸!´¸Q´Ñ?À1Ñ
D€CåØ˜4�L 4¨ ,°¸°Ð>ØØ�	�	ðñ ô €Dð
 �xŠx˜˜1‰~Œ~×+Ò+¨AÑ.Ô.€Hå˜˜X aœ[¨œ^°QÐ7Ñ7Ô7Ð7Ý˜˜X aœ[¨œ^°QÐ7Ñ7Ô7Ð7Ý˜˜X aœ[¨œ^°QÐ7Ñ7Ô7Ð7Ý˜˜X aœ[¨œ^°QÐ7Ñ7Ô7Ð7àC€IØE€IÝ	Œ•~¨YÐ	7Ñ	7Ô	7ð (¸9ÝØ˜t˜ t¨T l°U¸D°MÐBÈ6ð
ñ 
ô 
ˆð 	�Š��A‰Œ×$Ò$ QÑ'Ô'Ð'ð	(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (õ �i”oÔ/µÑ@Ô@Ð@Ð@Ð@Ø�˜IœOÔ5Ñ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6s   É*AJ:Ê:J>ËJ>c                  óä   — t          dddd¬¦  «        \  } }t          t          d¬¦  «        ¦  «        }t          d|fgd	¬
¦  «        }	 |                     | |¦  «         dS # t
          $ r Y dS w xY w)z7Check if error is raised for multilabel classification.r*   r$   Fro   )Ú	n_classesÚn_labelsÚallow_unlabeledr[   Úlinear)ÚkernelÚovrr>   r?   N)r	   r   r   r   r3   ÚNotImplementedError)r4   r5   ÚclfrK   s       r9   Útest_multilabelr¹     s‘   € å)Ø˜a°ÀSðñ ô �D€A€qõ �c¨Ð2Ñ2Ô2Ñ
3Ô
3€Cå¨°¨ ~¸fÐEÑEÔE€DðØ�Š��A‰ŒˆˆˆøÝð ð ð Øˆˆðøøøs   Á	A! Á!
A/Á.A/c                  ó  — t          d¬¦  «        } t          dd¬¦  «        }t          ¦   «         }t          d| fd|fd|fgd¬	¦  «        }d
dgddgg d¢g d¢gdœ}t	          ||d¬¦  «        }|                     t          t          ¦  «         dS )zCheck GridSearch support.r$   rZ   r%   )r[   r^   r)   r_   r`   rQ   r?   r¥   g      Y@r>   )ç      à?r»   r»   )r¥   r»   r»   )Úlr__Cr@   r+   r*   )Ú	estimatorÚ
param_gridÚcvN)r   r   r   r   r   r3   rJ   r5   )rh   ri   rj   rK   r6   Úgrids         r9   Útest_gridsearchrÁ      s¶   € å¨1Ð-Ñ-Ô-€DÝ!¨q¸qÐAÑAÔA€DÝ‰<Œ<€DÝØ˜4�L 4¨ ,°¸°Ð>Àvðñ ô €Dð
 �u�Ø˜6Ð"Ø#�O�O _ _ _Ð5ðð €Fõ  $°6¸aÐ@Ñ@Ô@€DØ‡H‚H�X•qÑÔÐÐÐrm   c                 ód  — t          | ¬¦  «        }t          d| ¬¦  «        }t          ¦   «         }t          j        ddgddgdd	gd
dgg¦  «        }t          j        g d¢¦  «        }t          d|fd|fd|fgdd¬¦  «                             ||¦  «        }t          d|fd|fd|fgdd¬¦  «                             ||¦  «        }t          |                     |¦  «        |                     |¦  «        ¦  «         t          | 
                    |¦  «        | 
                    |¦  «        ¦  «         dS )z:Check parallel backend of VotingClassifier on toy dataset.rZ   r\   r]   r–   r—   r˜   r™   rš   r›   rœ   r�   r¡   r)   r_   r`   rQ   r$   )r'   r@   Ún_jobsr*   N)r   r   r   r�   rž   r   r3   r#   rS   r"   rC   )rg   rh   ri   rj   r4   r5   Úeclf1Úeclf2s           r9   Útest_parallel_fitrÆ   3  sF  € åÐ+=Ð>Ñ>Ô>€DÝ!¨rÐ@RÐSÑSÔS€DÝ‰<Œ<€DÝ
Œ�4˜�,  t ¨t°T¨l¸SÀ#¸JÐGÑHÔH€AÝ
Œ���ÑÔ€AåØ˜4�L 4¨ ,°¸°Ð>ÀvÐVWðñ ô ç	‚cˆ!ˆQ�i„ið 
õ Ø˜4�L 4¨ ,°¸°Ð>ÀvÐVWðñ ô ç	‚cˆ!ˆQ�i„ið 
õ �u—}’} QÑ'Ô'¨¯ª°qÑ)9Ô)9Ñ:Ô:Ð:Ý˜e×1Ò1°!Ñ4Ô4°e×6IÒ6IÈ!Ñ6LÔ6LÑMÔMÐMÐMÐMrm   c           	      óÞ  — t          | ¬¦  «        }t          d| ¬¦  «        }t          t          | ¬¦  «        d¬¦  «        }t	          d|fd|fd|fgd	¬
¦  «                             t          t          t          j	        t          t          ¦  «        f¦  «        ¬¦  «        }t	          d|fd|fd|fgd	¬
¦  «                             t          t          ¦  «        }t          |                     t          ¦  «        |                     t          ¦  «        ¦  «         t          |                     t          ¦  «        |                     t          ¦  «        ¦  «         t          j                             | ¦  «                             t          t          ¦  «        f¬¦  «        }t	          d|fgd	¬
¦  «        }|                     t          t          |¬¦  «         |                     t          t          |¦  «         t          |                     t          ¦  «        |                     t          ¦  «        ¦  «         t          |                     t          ¦  «        |                     t          ¦  «        ¦  «         t%          ¦   «         }t	          d|fd|fd|fgd	¬
¦  «        }d}	t'          j        t*          |	¬¦  «        5  |                     t          t          |¬¦  «         ddd¦  «         n# 1 swxY w Y    G d„ dt,          t.          ¦  «        }
 |
¦   «         }t'          j        t*          d¬¦  «        5  |                     t          t          |¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z1Tests sample_weight parameter of VotingClassifierrZ   r\   r]   F)r8   r)   ÚgbdtÚsvcrQ   r?   ©Úsample_weight)ÚsizeÚknnzJUnderlying estimator KNeighborsClassifier does not support sample weights.r-   Nc                   ó   — e Zd Zd„ ZdS )ú.test_sample_weight.<locals>.ClassifierErrorFitc                 ó    — t          d¦  «        ‚)Nz!Error unrelated to sample_weight.)Ú	TypeError)ÚselfrJ   r5   rË   s       r9   r3   z2test_sample_weight.<locals>.ClassifierErrorFit.fitk  s   € ÝÐ?Ñ@Ô@Ð@rm   N)Ú__name__Ú
__module__Ú__qualname__r3   r/   rm   r9   ÚClassifierErrorFitrÏ   j  s(   € € € € € ð	Að 	Að 	Að 	Að 	Arm   rÖ   z Error unrelated to sample_weight)r   r   r   r   r   r3   rJ   r5   r�   ÚonesÚlenr#   rS   r"   rC   ÚrandomÚRandomStateÚuniformr   r0   r1   rÑ   r   r   )rg   rh   ri   rj   rÄ   rÅ   rË   Úeclf3Úclf4rW   rÖ   r¸   s               r9   Útest_sample_weightrÞ   F  s¢  € åÐ+=Ð>Ñ>Ô>€DÝ%°2ÐDVÐWÑWÔW€DÝ!¥#Ð3EÐ"FÑ"FÔ"FÐQVÐWÑWÔW€DÝØ˜4�L 6¨4 .°5¸$°-Ð@Èðñ ô ç	‚c�(•A¥R¤W­cµ!©f¬f¨YÑ%7Ô%7€cÑ8Ô8ð 
õ Ø˜4�L 6¨4 .°5¸$°-Ð@Èðñ ô ç	‚c�(•AÑÔð 
õ �u—}’}¥XÑ.Ô.°·²½hÑ0GÔ0GÑHÔHÐHÝØ×Ò�HÑ%Ô% u×':Ò':½8Ñ'DÔ'Dñô ð õ ”I×)Ò)Ð*<Ñ=Ô=×EÒEÍCÕPQÉFÌFÈ9ÐEÑUÔU€MÝ¨$°¨¨¸vÐFÑFÔF€EØ	‡I‚I�h�¨€IÑ7Ô7Ð7Ø‡H‚H�X•q˜-Ñ(Ô(Ð(Ý�u—}’}¥XÑ.Ô.°·²½XÑ0FÔ0FÑGÔGÐGÝØ×Ò�HÑ%Ô% t×'9Ò'9½(Ñ'CÔ'Cñô ð õ  Ñ!Ô!€DÝØ˜4�L 5¨$ -°%¸°Ð?Èðñ ô €Eð W€CÝ	Œ•y¨Ð	,Ñ	,Ô	,ð <ð <Ø�	Š	•(�A¨]ˆ	Ñ;Ô;Ð;ð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <ð
Að Að Að Að A�_­mñ Aô Að Að Ð
Ñ
Ô
€CÝ	Œ•yÐ(JÐ	KÑ	KÔ	Kð :ð :Ø�Š•�!¨=ˆÑ9Ô9Ð9ð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :ð :ð :s$   Ê:#K)Ë)K-Ë0K-Ì2#M"Í"M&Í)M&c            	      ó  —  G d„ dt           t          ¦  «        }  | ¦   «         }t          d|fgd¬¦  «        }|                     t          t
          t          j        t          t
          ¦  «        f¦  «        ¬¦  «         dS )z:Check that VotingClassifier passes sample_weight as kwargsc                   ó   — e Zd ZdZd„ ZdS )ú1test_sample_weight_kwargs.<locals>.MockClassifierzAMock Classifier to check that sample_weight is received as kwargsc                 ó   — d|v sJ ‚d S )NrË   r/   )rÒ   r4   r5   ÚargsrË   s        r9   r3   z5test_sample_weight_kwargs.<locals>.MockClassifier.fity  s   € Ø" mÐ3Ð3Ð3Ð3Ð3Ð3rm   N)rÓ   rÔ   rÕ   Ú__doc__r3   r/   rm   r9   ÚMockClassifierrá   v  s)   € € € € € ØOÐOð	4ð 	4ð 	4ð 	4ð 	4rm   rå   ÚmockrQ   r?   rÊ   N)	r   r   r   r3   r4   r5   r�   r×   rØ   )rå   r¸   rK   s      r9   Útest_sample_weight_kwargsrç   s  s‡   € ð4ð 4ð 4ð 4ð 4�­-ñ 4ô 4ð 4ð ˆ.Ñ
Ô
€CÝ¨°¨ ¸vÐFÑFÔF€Dð 	‡H‚H�Q•¥¤­#­a©&¬&¨Ñ!3Ô!3€HÑ4Ô4Ð4Ð4Ð4rm   c                 óf  — t          | ¬¦  «        }t          d| d ¬¦  «        }t          ¦   «         }t          d|fd|fgdddg¬	¦  «                             t
          t          ¦  «        }t          d|fd
|fgdddg¬	¦  «        }|                     |¬¦  «                             t
          t          ¦  «         t          | 	                    t
          ¦  «        | 	                    t
          ¦  «        ¦  «         t          |                     t
          ¦  «        |                     t
          ¦  «        ¦  «         |j        d         d                              ¦   «         |                     ¦   «         k    sJ ‚|j        d         d                              ¦   «         |                     ¦   «         k    sJ ‚d S )NrZ   r\   )r^   r[   Ú	max_depthr)   r_   rQ   r$   r*   )r@   r+   Únb)rê   r   )r   r   r   r   r3   rJ   r5   Ú
set_paramsr#   rS   r"   rC   r'   Ú
get_params)rg   rh   ri   rj   rÄ   rÅ   s         r9   Ú!test_voting_classifier_set_paramsrí   ƒ  sš  € åÐ+=Ð>Ñ>Ô>€DÝ!ØÐ&8ÀDðñ ô €Dõ ‰<Œ<€DåØ
�ˆ˜˜d�|Ð$¨V¸aÀ¸Vðñ ô ç	‚c�(•AÑÔð 
õ Ø
�ˆ˜˜d�|Ð$¨V¸aÀ¸Vðñ ô €Eð 
×Ò˜ÐÑÔ×!Ò!¥(­AÑ.Ô.Ð.å�u—}’}¥XÑ.Ô.°·²½hÑ0GÔ0GÑHÔHÐHÝØ×Ò�HÑ%Ô% u×':Ò':½8Ñ'DÔ'Dñô ð ð Ô˜AÔ˜qÔ!×,Ò,Ñ.Ô.°$·/²/Ñ2CÔ2CÒCÐCÐCÐCØÔ˜AÔ˜qÔ!×,Ò,Ñ.Ô.°$·/²/Ñ2CÔ2CÒCÐCÐCÐCÐCÐCrm   c            	      ó	  — t          d¬¦  «        } t          dd¬¦  «        }t          ¦   «         }t          d| fd|fd|fgdg d	¢¬
¦  «                             t
          t          ¦  «        }t          d| fd|fd|fgdg d¢¬
¦  «        }|                     d¬¦  «                             t
          t          ¦  «         t          | 	                    t
          ¦  «        | 	                    t
          ¦  «        ¦  «         t          |j        ¦  «        d         dk    sJ ‚t          |j        ¦  «        dk    sJ ‚t          d„ |j        D ¦   «         ¦  «        sJ ‚|                     ¦   «         d         dk    sJ ‚|                     d¬¦  «                             t
          t          ¦  «         |                     d¬¦  «                             t
          t          ¦  «         t          | 	                    t
          ¦  «        | 	                    t
          ¦  «        ¦  «         t!          |                     t
          ¦  «        |                     t
          ¦  «        ¦  «         d}t%          j        t(          |¬¦  «        5  |                     ddd¬¦  «                             t
          t          ¦  «         d d d ¦  «         n# 1 swxY w Y   t+          j        dgdgg¦  «        }t+          j        ddg¦  «        }t          d|fd|fgdddgd¬¦  «                             ||¦  «        }t          d|fd|fgdddgd¬¦  «        }|                     d¬¦  «                             ||¦  «         t!          |                     |¦  «        t+          j        ddgddggddgddggg¦  «        ¦  «         t!          |                     |¦  «        t+          j        ddgddggg¦  «        ¦  «         |                     d¬¦  «         |                     d¬¦  «         t          |                     |¦  «        t+          j        ddgddgg¦  «        ¦  «         t          |                     |¦  «        t+          j        dgdgg¦  «        ¦  «         d S )Nro   rZ   r\   r]   r)   r_   rê   r>   )r$   r   r»   rt   )r$   r$   r»   Údrop)r_   r*   c              3   óN   K  — | ] }t          |t          t          f¦  «        V — Œ!d S )N)rE   r   r   )Ú.0Úests     r9   ú	<genexpr>z*test_set_estimator_drop.<locals>.<genexpr>²  sC   è è € ð ð Ø>A�
�3Õ+­ZÐ8Ñ9Ô9ðð ð ð ð ð rm   rQ   )r@   z4All estimators are dropped. At least one is requiredr-   )r)   r_   rê   r$   r   r»   F)r'   r@   r+   Úflatten_transformr£   r¢   r¥   r¤   )r   r   r   r   r3   r4   r5   rë   r#   rS   Údictr'   rØ   Úestimators_Úallrì   r"   rC   r0   r1   r2   r�   rž   rT   )rh   ri   rj   rÄ   rÅ   rW   ÚX1Úy1s           r9   Útest_set_estimator_droprú   ›  sË  € õ ¨3Ð/Ñ/Ô/€DÝ!¨rÀÐDÑDÔD€DÝ‰<Œ<€DÝØ˜4�L 4¨ ,°°t°Ð=ØØ��ðñ ô ÷ 
‚c�!�Q�i„ið	 
õ Ø˜4�L 4¨ ,°°t°Ð=ØØ��ðñ ô €Eð
 
×Ò˜ÐÑÔ×#Ò#¥A¥qÑ)Ô)Ð)å�u—}’}¥QÑ'Ô'¨¯ªµqÑ)9Ô)9Ñ:Ô:Ð:å�Ô Ñ!Ô! $Ô'¨6Ò1Ð1Ð1Ð1ÝˆuÔ Ñ!Ô! QÒ&Ð&Ð&Ð&Ýð ð ØEJÔEVðñ ô ñ ô ð ð ð ð ×ÒÑÔ˜dÔ# vÒ-Ð-Ð-Ð-à	×Ò˜FÐÑ#Ô#×'Ò'­­1Ñ-Ô-Ð-Ø	×Ò˜FÐÑ#Ô#×'Ò'­­1Ñ-Ô-Ð-å�u—}’}¥QÑ'Ô'¨¯ªµqÑ)9Ô)9Ñ:Ô:Ð:Ý˜e×1Ò1µ!Ñ4Ô4°e×6IÒ6IÍ!Ñ6LÔ6LÑMÔMÐMØ
@€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð Dð DØ×Ò˜F v°&ÐÑ9Ô9×=Ò=½aÅÑCÔCÐCðDð Dð Dñ Dô Dð Dð Dð Dð Dð Dð Døøøð Dð Dð Dð Dõ 
Œ�A�3˜˜�*Ñ	Ô	€BÝ	Œ�1�a�&Ñ	Ô	€BÝØ˜4�L 4¨ ,Ð/ØØ�C�Øð	ñ ô ÷
 
‚cˆ"ˆb�k„kð 
õ Ø˜4�L 4¨ ,Ð/ØØ�C�Øð	ñ ô €Eð 
×Ò˜ÐÑÔ×#Ò# B¨Ñ+Ô+Ð+ÝØ�Š˜ÑÔÝ
Œ�C˜�:  S˜zÐ*¨c°3¨Z¸#¸s¸Ð,DÐEÑFÔFñô ð õ ˜eŸošo¨bÑ1Ô1µ2´8¸sÀC¸jÈ3ÐPSÈ*Ð=UÐ<VÑ3WÔ3WÑXÔXÐXØ	×Ò˜FÐÑ#Ô#Ð#Ø	×Ò˜FÐÑ#Ô#Ð#Ý�u—’ rÑ*Ô*­B¬H°q¸!°f¸qÀ!¸fÐ5EÑ,FÔ,FÑGÔGÐGÝ�u—’ rÑ*Ô*­B¬H°q°c¸A¸3°ZÑ,@Ô,@ÑAÔAÐAÐAÐAs   É;7J>Ê>KËKc                 óÐ  — t          | ¬¦  «        }t          d| ¬¦  «        }t          d|fd|fgddgd¬	¦  «        }t          d|fd|fgt          j        d
¦  «        d¬	¦  «        }|                     t          t          ¦  «         |                     t          t          ¦  «         t          | 	                    t          ¦  «        | 	                    t          ¦  «        ¦  «         d S )NrZ   r\   r]   r)   r_   r$   r*   rQ   )r'   r+   r@   )r$   r*   )
r   r   r   r�   rž   r3   rJ   r5   r"   rC   )rg   rh   ri   rÄ   rÅ   s        r9   Útest_estimator_weights_formatrü   Ü  sî   € åÐ+=Ð>Ñ>Ô>€DÝ!¨rÐ@RÐSÑSÔS€DÝØ˜4�L 4¨ ,Ð/¸!¸Q¸Èðñ ô €Eõ Ø˜4�L 4¨ ,Ð/½¼À&Ñ9IÔ9IÐRXðñ ô €Eð 
‡I‚I�h�ÑÔÐØ	‡I‚I�h�ÑÔÐÝØ×Ò�HÑ%Ô% u×':Ò':½8Ñ'DÔ'Dñô ð ð ð rm   c                 óþ  — t          | ¬¦  «        }t          d| ¬¦  «        }t          ¦   «         }t          j        ddgddgdd	gd
dgg¦  «        }t          j        g d¢¦  «        }t          d|fd|fd|fgd¬¦  «                             ||¦  «        }t          d|fd|fd|fgdd¬¦  «                             ||¦  «        }t          d|fd|fd|fgdd¬¦  «                             ||¦  «        }t          |                     |¦  «        j	        d¦  «         t          |                     |¦  «        j	        d¦  «         t          |                     |¦  «        j	        d¦  «         t          |                     |¦  «        |                     |¦  «        ¦  «         t          |                     |¦  «                             dd¦  «                             d¦  «        |                     |¦  «        ¦  «         dS )z:Check transform method of VotingClassifier on toy dataset.rZ   r\   r]   r–   r—   r˜   r™   rš   r›   rœ   r�   r¡   r)   r_   r`   rQ   r?   T©r'   r@   rô   F)r¦   é   )r%   r¦   r*   r   r$   N)r   r   r   r�   rž   r   r3   r#   rT   Úshaper"   ÚswapaxesÚreshape)	rg   rh   ri   rj   r4   r5   rÄ   rÅ   rÜ   s	            r9   Útest_transformr  í  s  € åÐ+=Ð>Ñ>Ô>€DÝ!¨rÐ@RÐSÑSÔS€DÝ‰<Œ<€DÝ
Œ�4˜�,  t ¨t°T¨l¸SÀ#¸JÐGÑHÔH€AÝ
Œ���ÑÔ€AåØ˜4�L 4¨ ,°¸°Ð>Àvðñ ô ç	‚cˆ!ˆQ�i„ið 
õ Ø˜4�L 4¨ ,°¸°Ð>ØØðñ ô ÷ 
‚cˆ!ˆQ�i„ið	 
õ
 Ø˜4�L 4¨ ,°¸°Ð>ØØðñ ô ÷ 
‚cˆ!ˆQ�i„ið	 
õ �u—’ qÑ)Ô)Ô/°Ñ8Ô8Ð8Ý�u—’ qÑ)Ô)Ô/°Ñ8Ô8Ð8Ý�u—’ qÑ)Ô)Ô/°Ñ;Ô;Ð;Ý˜eŸošo¨aÑ0Ô0°%·/²/À!Ñ2DÔ2DÑEÔEÐEÝØ�Š˜ÑÔ×#Ò# A qÑ)Ô)×1Ò1°&Ñ9Ô9¸5¿?º?È1Ñ;MÔ;Mñô ð ð ð rm   zX, y, voterr_   é   )r^   c                 óœ  — t          |¦  «        }t          ¦   «                              | ¦  «        }|                     ||t	          j        |j        ¦  «        ¬¦  «         |                     d¬¦  «         |                     ||t	          j        |j        ¦  «        ¬¦  «         |                     |¦  «        }|j        |j        k    sJ ‚d S )NrÊ   rï   )r)   )	r   r   Úfit_transformr3   r�   r×   r   rë   rS   )r4   r5   ÚvoterrJ   Úy_preds        r9   Ú test_none_estimator_with_weightsr	    s³   € õ: �%‰LŒL€EåÑÔ×-Ò-¨aÑ0Ô0€HØ	‡I‚Iˆh˜­¬°´Ñ)9Ô)9€IÑ:Ô:Ð:Ø	×Ò˜ÐÑÔÐØ	‡I‚Iˆh˜­¬°´Ñ)9Ô)9€IÑ:Ô:Ð:Ø�]Š]˜8Ñ$Ô$€FØŒ<˜1œ7Ò"Ð"Ð"Ð"Ð"Ð"rm   rò   ÚtreerZ   ©r'   r   r   )Úidsc                 ó¬   — t          | ¦  «        } ddgddgddgg}g d¢}t          | d¦  «        rJ ‚|                      ||¦  «         | j        dk    sJ ‚d S )	Nr$   r*   r%   r¦   r  rÿ   ©r   r$   r*   Ún_features_in_)r   rI   r3   r  )rò   r4   r5   s      r9   Útest_n_features_inr  3  sr   € õ& �‰*Œ*€CØ
ˆQˆ�!�Q�˜!˜Q˜Ð €AØˆ	ˆ	€Aå�sÐ,Ñ-Ô-Ð-Ð-Ð-Ø‡G‚GˆAˆq�M„M€MØÔ Ò"Ð"Ð"Ð"Ð"Ð"rm   r½   ro   )r'   Úverbosec                 ó  — t          j        ddgddgddgddgg¦  «        }t          j        g d	¢¦  «        }d
}t          | ¦  «                             ||¦  «         t	          j        ||                     ¦   «         d         ¦  «        sJ ‚d S )Nr–   r—   r˜   r™   rš   r›   rœ   r�   r¡   za\[Voting\].*\(1 of 2\) Processing lr, total=.*\n\[Voting\].*\(2 of 2\) Processing rf, total=.*\n$r   )r�   rž   r   r3   Úrer.   Ú
readouterr)r½   Úcapsysr4   r5   Úpatterns        r9   Útest_voting_verboser  O  s˜   € õ( 	Œ�4˜�,  t ¨t°T¨l¸SÀ#¸JÐGÑHÔH€AÝ
Œ���ÑÔ€Að	=ð õ 
ˆ)ÑÔ×Ò˜˜AÑÔÐÝŒ8�G˜V×.Ò.Ñ0Ô0°Ô3Ñ4Ô4Ð4Ð4Ð4Ð4Ð4rm   c                  ó  — ddgddgddgg} g d¢}t          dt          ¦   «         fd	t          d
¬¦  «        fdg¬¦  «        }|                     | |¦  «         |                     ¦   «         }ddg}t          ||¦  «         dS )z1Check get_feature_names_out output for regressor.r$   r*   r%   r¦   r  rÿ   r  r)   r
  r   rZ   )Úignorerï   r  Úvotingregressor_lrÚvotingregressor_treeN)r   r   r    r3   Úget_feature_names_outr#   )r4   r5   r@   Ú	names_outÚexpected_namess        r9   Ú%test_get_features_names_out_regressorr  n  s¬   € ð ˆQˆ�!�Q�˜!˜Q˜Ð €AØˆ	ˆ	€AåàÕ#Ñ%Ô%Ð&ØÕ*¸Ð:Ñ:Ô:Ð;Øð
ðñ ô €Fð ‡J‚Jˆq�!ÑÔÐà×,Ò,Ñ.Ô.€IØ*Ð,BÐC€NÝ�y .Ñ1Ô1Ð1Ð1Ð1rm   zkwargs, expected_namesrQ   )r@   rô   )Úvotingclassifier_lr0Úvotingclassifier_lr1Úvotingclassifier_lr2Úvotingclassifier_tree0Úvotingclassifier_tree1Úvotingclassifier_tree2r@   r>   Úvotingclassifier_lrÚvotingclassifier_treec           	      óh  — ddgddgddgddgg}g d¢}t          dd	d
t          d¬¦  «        fdt          d¬¦  «        fgi| ¤Ž}|                     ||¦  «         |                     |¦  «        }|                     ¦   «         }|j        d         t          |¦  «        k    sJ ‚t          ||¦  «         dS )zBCheck get_feature_names_out for classifier for different settings.r$   r*   r%   r¦   r  rÿ   r�   )r   r$   r*   r   r'   r)   r   rZ   r
  Nr/   )	r   r   r   r3   rT   r  r   rØ   r#   )Úkwargsr  r4   r5   r@   ÚX_transr  s          r9   Ú&test_get_features_names_out_classifierr+  ‚  së   € ð& ˆQˆ�!�Q�˜!˜Q˜ ! S Ð*€AØˆˆ€Aåð ð àÕ%°1Ð5Ñ5Ô5Ð6ØÕ+¸Ð;Ñ;Ô;Ð<ð
ðð
 ðð €Fð ‡J‚Jˆq�!ÑÔÐØ×Ò˜qÑ!Ô!€GØ×,Ò,Ñ.Ô.€IàŒ=˜Ô�s >Ñ2Ô2Ò2Ð2Ð2Ð2Ý�y .Ñ1Ô1Ð1Ð1Ð1rm   c                  óL  — ddgddgddgg} g d¢}t          dt          d	¬
¦  «        fdt          d	¬
¦  «        fgdd¬¦  «        }|                     | |¦  «         d}t	          j        t          |¬¦  «        5  |                     ¦   «          ddd¦  «         dS # 1 swxY w Y   dS )zJCheck that error is raised when voting="soft" and flatten_transform=False.r$   r*   r%   r¦   r  rÿ   r  r)   r   rZ   r
  rQ   Frþ   zYget_feature_names_out is not supported when `voting='soft'` and `flatten_transform=False`r-   N)r   r   r   r3   r0   r1   r2   r  )r4   r5   r@   rW   s       r9   Ú,test_get_features_names_out_classifier_errorr-  §  s  € à
ˆQˆ�!�Q�˜!˜Q˜Ð €AØˆ	ˆ	€AåàÕ%°1Ð5Ñ5Ô5Ð6ØÕ+¸Ð;Ñ;Ô;Ð<ð
ð Øðñ ô €Fð ‡J‚Jˆq�!ÑÔÐð	$ð õ 
Œ•z¨Ð	-Ñ	-Ô	-ð 'ð 'Ø×$Ò$Ñ&Ô&Ð&ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'ð 'ð 's   Á7BÂBÂ BzEstimator, Childc                 ó  — t          j        ddgddgddgg¦  «        }g d¢}t          j        t          d¬¦  «        5   | d	 |¦   «         g¦  «                             ||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`.r   r$   r*   r¦   rÿ   ©r$   r*   r%   z1is only supported if enable_metadata_routing=Truer-   r¸   r   Úa©rË   ÚmetadataN)r�   rž   r0   r1   r2   r3   )Ú	EstimatorÚChildr4   r5   s       r9   Ú*test_routing_passed_metadata_not_supportedr5  Â  sý   € õ 	Œ�1�a�&˜1˜a˜& 1 a &Ð)Ñ*Ô*€AØˆ	ˆ	€Aå	ŒÝÐMð
ñ 
ô 
ð Uð Uð 	ˆ	�5˜%˜%™'œ'Ð"Ñ#Ô#×'Ò'¨¨1¸I¸I¸IÐPSÐ'ÑTÔTÐTðUð Uð Uñ Uô Uð Uð Uð Uð Uð Uð Uð Uøøøð Uð Uð Uð Uð Uð Us   ½/A9Á9A=Â A=)Úenable_metadata_routingc                 óZ   —  | d |¦   «         fg¦  «        }|                      ¦   «          d S )NÚsub_est)Úget_metadata_routing)r3  r4  rò   s      r9   Ú%test_get_metadata_routing_without_fitr:  Ó  s9   € ð ˆ)�i  ¡¤Ð)Ð*Ñ
+Ô
+€CØ×ÒÑÔÐÐÐrm   ÚproprË   r2  c           
      óÌ  — t          j        ddgddgddgg¦  «        }g d¢}g d¢d}} | d	  |t          ¦   «         ¬
¦  «        j        di |di¤Žfd  |t          ¦   «         ¬
¦  «        j        di |di¤Žfg¦  «        } |j        ||fi ||dk    r|n|i¤Ž |j        D ]D}|dk    r||i}	n||i}	|d         j        }
t          |
¦  «        sJ ‚|
D ]}t          d|dddœ|	¤Ž ŒŒEdS )z3Test that metadata is routed correctly for Voting*.r   r$   r*   r¦   rÿ   r/  r   r0  Úsub_est1)ÚregistryTÚsub_est2rË   r3   )ÚobjÚmethodÚparentNr/   )	r�   rž   r   Úset_fit_requestr3   r'   r>  rØ   r   )r3  r4  r;  r4   r5   rË   r2  rò   r½   r)  r>  r8  s               r9   Ú+test_metadata_routing_for_voting_estimatorsrD  Þ  s�  € õ 	Œ�1�a�&˜1˜a˜& 1 a &Ð)Ñ*Ô*€AØˆ	ˆ	€AØ'˜i˜i¨�8€Mà
ˆ)ð Ø;���y™{œ{Ð+Ñ+Ô+Ô;ÐKÐK¸tÀT¸lÐKÐKðð
 Ø;���y™{œ{Ð+Ñ+Ô+Ô;ÐKÐK¸tÀT¸lÐKÐKðð		
ñô €Cð €C„GˆAˆqÐSÐS�T¨D°OÒ,CÐ,C˜=˜=ÈÐRÐSÐSÐSà”^ð 	Wð 	Wˆ	Ø�?Ò"Ð"Ø˜MÐ*ˆFˆFà˜HÐ%ˆFà˜Q”<Ô(ˆÝ�8‰}Œ}ÐÐˆ}Øð 	Wð 	WˆGÝ#ÐV¨¸ÀeÐVÐVÈvÐVÐVÐVÐVð	Wð	Wð 	Wrm   c                 óT  — t          j        ddgddgddgg¦  «        }g d¢}g d¢d}} | d	 |¦   «         fg¦  «        }d
|j        › d�}t          j        t
          t          j        |¦  «        ¬¦  «        5  |                     ||||¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zCTest that the right error is raised when metadata is not requested.r   r$   r*   r¦   rÿ   r/  r   r0  r8  zb[sample_weight, metadata] are passed but are not explicitly set as requested or not requested for z.fitr-   r1  N)	r�   rž   rÓ   r0   r1   r2   r  Úescaper3   )r3  r4  r4   r5   rË   r2  rò   Úerror_messages           r9   Ú1test_metadata_routing_error_for_voting_estimatorsrH    s*  € õ 	Œ�1�a�&˜1˜a˜& 1 a &Ð)Ñ*Ô*€AØˆ	ˆ	€AØ'˜i˜i¨�8€Mà
ˆ)�i  ¡¤Ð)Ð*Ñ
+Ô
+€Cð	6Ø!&¤ð	6ð 	6ð 	6ð õ
 
Œ•z­¬°=Ñ)AÔ)AÐ	BÑ	BÔ	Bð Fð FØ�Š��1 M¸HˆÑEÔEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fð Fð Fs   Á6BÂB!Â$B!)`rä   r  Únumpyr�   r0   Úsklearnr   r   Úsklearn.baser   r   r   Úsklearn.calibrationr   Úsklearn.datasetsr	   Úsklearn.dummyr
   Úsklearn.ensembler   r   r   r   r   Úsklearn.exceptionsr   Úsklearn.linear_modelr   r   Úsklearn.model_selectionr   r   r   Úsklearn.multiclassr   Úsklearn.naive_bayesr   Úsklearn.neighborsr   Úsklearn.preprocessingr   Úsklearn.svmr   Ú%sklearn.tests.metadata_routing_commonr   r   r   r   Úsklearn.treer   r    Úsklearn.utils._testingr!   r"   r#   Ú	load_irisÚirisÚdataÚtargetr4   r5   r  rJ   Úload_diabetesrU   r€   ÚmarkÚparametrizer:   rO   rX   rl   rq   ru   r”   rŸ   r¯   r¹   rÁ   rÆ   rÞ   rç   rí   rú   rü   r  r	  r  r  r  r+  r-  r5  r:  rD  rH  r/   rm   r9   ú<module>rb     s×  ðØ :Ð :à 	€	€	€	à Ð Ð Ð Ø €€€à ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø (Ð (Ð (Ð (Ð (Ð (ðð ð ð ð ð ð ð ð ð ð ð ð ð ð .Ð -Ð -Ð -Ð -Ð -Ø EÐ EÐ EÐ EÐ EÐ EÐ EÐ EØ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SØ 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø *Ð *Ð *Ð *Ð *Ð *Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð GÐ FÐ FÐ FÐ FÐ FÐ FÐ Fðð ð ð ð ð ð ð ð ð ð €xÔÑÔ€Ø„y����A�a�C�Ô˜$œ+€€€1àˆ>ÑÔ×)Ò)¨!Ñ,Ô,€à!ˆ8Ô!¨TÐ2Ñ2Ô2�€€Sð „×ÒØð ˜2ÐØUð	
ð
 Ð.Ð.Ñ0Ô0Ð1Ð2ØUð	
ð
 ˜SÐ"4Ð"4Ñ"6Ô"6Ð7Ð8Ð9ØUð	
ð
 "Ð#5Ð#5Ñ#7Ô#7Ð8Ð9ÀqÈ!ÀfÐMÐMØ>ð	
ðñô ð*ð ñ+ô ð*ð.ð .ð .ð$ð ð ð,
 ð 
 ð 
 ð.ð .ð .ð ð  ð  ð!Dð !Dð !DðHFð Fð Fð>17ð 17ð 17ðhð ð ðð ð ð&Nð Nð Nð&*:ð *:ð *:ðZ5ð 5ð 5ð Dð Dð Dð0>Bð >Bð >BðBð ð ð"ð ð ð> „×ÒØð ØØÐàÐ-Ð-Ñ/Ô/Ð0ØÐ1Ð1¸qÐAÑAÔAÐBðñô ð		
ð ØØˆOàÐ+Ð+Ñ-Ô-Ð.ØÐ0Ð0¸aÐ@Ñ@Ô@ÐAðñô ð		
ðñô ð2#ð #ñ3ô ð2#ð „×ÒØ	àˆàÐ'Ð'Ñ)Ô)Ð*ØÐ.Ð.¸AÐ>Ñ>Ô>Ð?ðð	
ñ 	
ô 	
ð 	ÐàÐ)Ð)°qÐ9Ñ9Ô9Ð:ØÐ/Ð/¸QÐ?Ñ?Ô?Ð@ðð	
ñ 	
ô 	
ðð 
Ð.Ð/ð! ñ ô ð$#ð #ñ%ô ð$#ð „×ÒØàˆàÐ'Ð'Ñ)Ô)Ð*ØÐ,Ð,¸#Ð>Ñ>Ô>Ð?ðð ð	
ñ 	
ô 	
ð 	ÐàÐ)Ð)°sÐ;Ñ;Ô;Ð<ØÐ-Ð-¸3Ð?Ñ?Ô?Ð@ðð ð	
ñ 	
ô 	
ðñô ð&	5ð 	5ñ'ô ð&	5ð2ð 2ð 2ð( „×ÒØð °DÐ9Ð9ðð ð ð
	
ð �FÐ	Ð3Ð5LÐMÐNðñô ð"2ð 2ñ#ô ð"2ð('ð 'ð 'ð6 „×ÒØØÐ+Ð,¨Ð@RÐ.SÐTñô ð
Uð 
Uñ	ô ð
Uð „×ÒØØÐ+Ð,¨Ð@RÐ.SÐTñô ð €¨Ð-Ñ-Ô-ðð ñ .Ô-ñ	ô ð
ð „×ÒØØÐ+Ð,¨Ð@RÐ.SÐTñô ð „×Ò˜ /°:Ð!>Ñ?Ô?Ø€¨Ð-Ñ-Ô-ðWð Wñ .Ô-ñ @Ô?ñ	ô ðWðB „×ÒØØÐ+Ð,¨Ð@RÐ.SÐTñô ð €¨Ð-Ñ-Ô-ðFð Fñ .Ô-ñ	ô ð
Fð Fð Frm   