§
    §éUgXz  ã                   ó˜  — d Z ddlmZm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mZmZmZ ddlmZmZ ddlmZmZmZ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%m&Z& ddl'm(Z( ddl)m*Z*m+Z+ ddl,m-Z- ddl.m/Z/m0Z0 ddl1m2Z2m3Z3 ddl4m5Z5 ddl6m7Z7m8Z8 ddl9m:Z:m;Z;  e5d¦  «        Z< e¦   «         Z=e< >                    e=j?        j@        ¦  «        ZAe=jB        eA         e=_B        e=j?        eA         e=_?         e¦   «         ZCe< >                    eCj?        j@        ¦  «        ZAeCjB        eA         eC_B        eCj?        eA         eC_?        d„ ZDejE         F                    d ee;e:z   dddddœdddddœddddœddddœgg d¢¦  «        ¦  «        d „ ¦   «         ZGd!„ ZHejE         F                    d"e;e:z   ¦  «        d#„ ¦   «         ZI G d$„ d%e
¦  «        ZJd&„ ZKd'„ ZLd(„ ZMd)„ ZNd*„ ZOd+„ ZPd,„ ZQd-„ ZRd.„ ZSd/„ ZTd0„ ZUd1„ ZV G d2„ d3e
¦  «        ZWd4„ ZXdQd6„ZYd7„ ZZd8„ Z[d9„ Z\d:„ Z]d;„ Z^d<„ Z_d=„ Z`d>„ Zad?„ Zbd@„ ZcdA„ ZddB„ ZedC„ ZfdD„ ZgdE„ ZhejE         F                    dF e edG¬H¦  «        ¦  «        df e edG¬H¦  «        ¦  «        df e e¦   «         ¦  «        df e e0¦   «         ¦  «        dfg¦  «        dI„ ¦   «         ZiejE         F                    dJ e edG¬K¦  «        dG¬L¦  «         e edG¬K¦  «        dG¬L¦  «        g¦  «        dM„ ¦   «         ZjejE         F                    dJ e edGdN¬O¦  «        dG¬L¦  «         e edG¬K¦  «        dG¬L¦  «        g¦  «        dP„ ¦   «         ZkdS )RzE
Testing for the bagging ensemble module (sklearn.ensemble.bagging).
é    )ÚcycleÚproductN)ÚBaseEstimator)Úload_diabetesÚ	load_irisÚmake_hastie_10_2)ÚDummyClassifierÚDummyRegressor)ÚAdaBoostClassifierÚAdaBoostRegressorÚBaggingClassifierÚBaggingRegressorÚHistGradientBoostingClassifierÚHistGradientBoostingRegressorÚRandomForestClassifierÚRandomForestRegressor)ÚSelectKBest)ÚLogisticRegressionÚ
Perceptron)ÚGridSearchCVÚParameterGridÚtrain_test_split)ÚKNeighborsClassifierÚKNeighborsRegressor)Úmake_pipeline)ÚFunctionTransformerÚscale)ÚSparseRandomProjection)ÚSVCÚSVR)ÚDecisionTreeClassifierÚDecisionTreeRegressor)Úcheck_random_state)Úassert_array_almost_equalÚassert_array_equal)ÚCSC_CONTAINERSÚCSR_CONTAINERSc                  óö  — t          d¦  «        } t          t          j        t          j        | ¬¦  «        \  }}}}t          ddgddgddgddgd	œ¦  «        }d t          ¦   «         t          d
¬¦  «        t          d¬¦  «        t          ¦   «         t          ¦   «         g}t          |t          |¦  «        ¦  «        D ]<\  }}t          d|| ddœ|¤Ž                     ||¦  «                             |¦  «         Œ=d S )Nr   ©Úrandom_stateç      à?ç      ð?é   é   TF©Úmax_samplesÚmax_featuresÚ	bootstrapÚbootstrap_featuresé   ©Úmax_iteré   )Ú	max_depth)Ú	estimatorr*   Ún_estimators© )r#   r   ÚirisÚdataÚtargetr   r	   r   r!   r   r   Úzipr   r   ÚfitÚpredict)	ÚrngÚX_trainÚX_testÚy_trainÚy_testÚgridÚ
estimatorsÚparamsr9   s	            úb/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/sklearn/ensemble/tests/test_bagging.pyÚtest_classificationrK   9   s*  € å
˜QÑ
Ô
€CÝ'7ÝŒ	•4”;¨Sð(ñ (ô (Ñ$€GˆV�W˜fõ à ˜:Ø ˜FØ ˜Ø#'¨ -ð		
ð 	
ñô €Dð 	ÝÑÔÝ˜BÐÑÔÝ¨Ð+Ñ+Ô+ÝÑÔÝ‰Œð€Jõ ! ¥u¨ZÑ'8Ô'8Ñ9Ô9ð 0ð 0Ñˆ�	Ýð 	
ØØØð	
ð 	
ð ð		
ð 	
÷
 Š#ˆg�wÑ
Ô
§¢¨¡¤  ð0ð 0ó    z sparse_container, params, methodr+   r7   Tr/   r,   r.   F©r1   r2   r3   ©r0   r2   r3   )rA   Úpredict_probaÚpredict_log_probaÚdecision_functionc                 óž  ‡—  G d„ dt           ¦  «        }t          d¦  «        }t          t          t          j        ¦  «        t          j        |¬¦  «        \  }}}} | |¦  «        }	 | |¦  «        }
t          d |dd¬¦  «        dd	œ|¤Ž                     |	|¦  «        } t          ||¦  «        |
¦  «        }t          d |dd¬¦  «        dd	œ|¤Ž                     ||¦  «        } t          ||¦  «        |¦  «        }t          ||¦  «         t          |	¦  «        Šd
„ |j        D ¦   «         }t          ˆfd„|D ¦   «         ¦  «        sJ ‚d S )Nc                   ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )ú-test_sparse_classification.<locals>.CustomSVCú7SVC variant that records the nature of the training setc                 ót   •— t          ¦   «                              ||¦  «         t          |¦  «        | _        | S ©N©Úsuperr@   ÚtypeÚ
data_type_©ÚselfÚXÚyÚ	__class__s      €rJ   r@   z1test_sparse_classification.<locals>.CustomSVC.fitw   ó-   ø€ Ý‰GŒG�KŠK˜˜1ÑÔÐÝ" 1™gœgˆDŒOØˆKrL   ©Ú__name__Ú
__module__Ú__qualname__Ú__doc__r@   Ú__classcell__©r`   s   @rJ   Ú	CustomSVCrT   t   ó>   ø€ € € € € ØEÐEð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	rL   ri   r   r)   ÚlinearÚovr)ÚkernelÚdecision_function_shaper-   ©r9   r*   c                 ó   — g | ]	}|j         ‘Œ
S r;   ©r[   ©Ú.0Úis     rJ   ú
<listcomp>z.test_sparse_classification.<locals>.<listcomp>•   s   € ÐAÐAÐA˜aˆQŒ\ÐAÐAÐArL   c                 ó   •— g | ]}|‰k    ‘Œ	S r;   r;   ©rs   ÚtÚsparse_types     €rJ   ru   z.test_sparse_classification.<locals>.<listcomp>—   s   ø€ Ð0Ð0Ð0 Q��[Ò Ð0Ð0Ð0rL   r;   )r   r#   r   r   r<   r=   r>   r   r@   Úgetattrr$   rZ   Úestimators_Úall)Úsparse_containerrI   Úmethodri   rB   rC   rD   rE   rF   ÚX_train_sparseÚX_test_sparseÚsparse_classifierÚsparse_resultsÚdense_classifierÚdense_resultsÚtypesry   s                   @rJ   Útest_sparse_classificationr†   Z   sÃ  ø€ ð4ð ð ð ð •Cñ ô ð õ ˜QÑ
Ô
€CÝ'7Ý�dŒiÑÔ�$œ+°Cð(ñ (ô (Ñ$€GˆV�W˜fð &Ð% gÑ.Ô.€NØ$Ð$ VÑ,Ô,€Må)ð Ø�) 8ÀUÐKÑKÔKØðð ð ðð ÷ 
‚cˆ.˜'Ñ"Ô"ð	 ð
 8•WÐ.°Ñ7Ô7¸ÑFÔF€Nõ )ð Ø�) 8ÀUÐKÑKÔKØðð ð ðð ÷ 
‚cˆ'�7ÑÔð	 ð
 6•GÐ,¨fÑ5Ô5°fÑ=Ô=€MÝ˜n¨mÑ<Ô<Ð<å�~Ñ&Ô&€KØAÐAÐ#4Ô#@ÐAÑAÔA€EåÐ0Ð0Ð0Ð0¨%Ð0Ñ0Ô0Ñ1Ô1Ð1Ð1Ð1Ð1Ð1rL   c                  ó¼  — t          d¦  «        } t          t          j        d d…         t          j        d d…         | ¬¦  «        \  }}}}t          ddgddgddgddgdœ¦  «        }d t          ¦   «         t          ¦   «         t          ¦   «         t          ¦   «         fD ]=}|D ]8}t          d
|| d	œ|¤Ž                     ||¦  «                             |¦  «         Œ9Œ>d S )Nr   é2   r)   r+   r,   TFr/   ro   r;   )r#   r   Údiabetesr=   r>   r   r
   r"   r   r    r   r@   rA   )rB   rC   rD   rE   rF   rG   r9   rI   s           rJ   Útest_regressionrŠ   š   s  € å
˜QÑ
Ô
€CÝ'7ÝŒ�c�r�cÔ�HœO¨C¨R¨CÔ0¸sð(ñ (ô (Ñ$€GˆV�W˜fõ à ˜:Ø  #˜JØ ˜Ø#'¨ -ð		
ð 	
ñô €Dð 	ÝÑÔÝÑÔÝÑÔÝ‰Œðð 
ð 
ˆ	ð ð 	ð 	ˆFÝÐM y¸sÐMÐMÀfÐMÐM×QÒQØ˜ñô çŠg�f‰oŒoˆoˆoð	ð
ð 
rL   r}   c                 óÞ  ‡— t          d¦  «        }t          t          j        d d…         t          j        d d…         |¬¦  «        \  }}}} G d„ dt
          ¦  «        }ddddd	œd
dddd	œddddœddddœg} | |¦  «        } | |¦  «        }	|D ]Ý}
t          d |¦   «         ddœ|
¤Ž                     ||¦  «        }|                     |	¦  «        }t          d |¦   «         ddœ|
¤Ž                     ||¦  «                             |¦  «        }t          |¦  «        Šd„ |j
        D ¦   «         }t          ||¦  «         t          ˆfd„|D ¦   «         ¦  «        sJ ‚t          ||¦  «         ŒÞd S )Nr   rˆ   r)   c                   ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )ú)test_sparse_regression.<locals>.CustomSVRrU   c                 ót   •— t          ¦   «                              ||¦  «         t          |¦  «        | _        | S rW   rX   r\   s      €rJ   r@   z-test_sparse_regression.<locals>.CustomSVR.fitÁ   ra   rL   rb   rh   s   @rJ   Ú	CustomSVRr�   ¾   rj   rL   r�   r+   r7   Tr/   r,   r.   FrM   rN   r-   ro   c                 ó   — g | ]	}|j         ‘Œ
S r;   rq   rr   s     rJ   ru   z*test_sparse_regression.<locals>.<listcomp>è   s   € ÐEÐEÐE !�”ÐEÐEÐErL   c                 ó   •— g | ]}|‰k    ‘Œ	S r;   r;   rw   s     €rJ   ru   z*test_sparse_regression.<locals>.<listcomp>ë   s   ø€ Ð4Ð4Ð4¨�A˜Ò$Ð4Ð4Ð4rL   r;   )r#   r   r‰   r=   r>   r    r   r@   rA   rZ   r{   r$   r|   )r}   rB   rC   rD   rE   rF   r�   Úparameter_setsr   r€   rI   r�   r‚   r„   r…   ry   s                  @rJ   Útest_sparse_regressionr“   ¶   s  ø€ õ ˜QÑ
Ô
€CÝ'7ÝŒ�c�r�cÔ�HœO¨C¨R¨CÔ0¸sð(ñ (ô (Ñ$€GˆV�W˜fðð ð ð ð •Cñ ô ð ð ØØØ"&ð		
ð 	
ð ØØØ"&ð		
ð 	
ð ¨ÀdÐKÐKØ¨$ÀeÐLÐLð€Nð" &Ð% gÑ.Ô.€NØ$Ð$ VÑ,Ô,€MØ ð Að Aˆå,ð 
Ø�i‘k”k°ð
ð 
Ø5;ð
ð 
ç
Š#ˆn˜gÑ
&Ô
&ð 	ð +×2Ò2°=ÑAÔAˆõ ÐM y y¡{¤{ÀÐMÐMÀfÐMÐMßŠS�˜'Ñ"Ô"ßŠW�V‰_Œ_ð 	õ ˜>Ñ*Ô*ˆØEÐEÐ'8Ô'DÐEÑEÔEˆå! .°-Ñ@Ô@Ð@ÝÐ4Ð4Ð4Ð4¨eÐ4Ñ4Ô4Ñ5Ô5Ð5Ð5Ð5Ý! .°-Ñ@Ô@Ð@Ð@ð'Að ArL   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚDummySizeEstimatorc                 ó\   — |j         d         | _        t          j        |¦  «        | _        d S ©Nr   )ÚshapeÚtraining_size_ÚjoblibÚhashÚtraining_hash_©r]   r^   r_   s      rJ   r@   zDummySizeEstimator.fitð   s&   € Øœg aœjˆÔÝ$œk¨!™nœnˆÔÐÐrL   c                 ó@   — t          j        |j        d         ¦  «        S r—   )ÚnpÚonesr˜   ©r]   r^   s     rJ   rA   zDummySizeEstimator.predictô   s   € ÝŒw�q”w˜q”zÑ"Ô"Ð"rL   N©rc   rd   re   r@   rA   r;   rL   rJ   r•   r•   ï   s2   € € € € € ð-ð -ð -ð#ð #ð #ð #ð #rL   r•   c                  ó†  — t          d¦  «        } t          t          j        t          j        | ¬¦  «        \  }}}}t          ¦   «                              ||¦  «        }t          t          ¦   «         dd| ¬¦  «                             ||¦  «        }|                     ||¦  «        |                     ||¦  «        k    sJ ‚t          t          ¦   «         dd| ¬¦  «                             ||¦  «        }|                     ||¦  «        |                     ||¦  «        k    sJ ‚t          t          ¦   «         d¬¦  «                             ||¦  «        }g }|j
        D ]4}|j        |j        d         k    sJ ‚|                     |j        ¦  «         Œ5t          t!          |¦  «        ¦  «        t          |¦  «        k    sJ ‚d S )Nr   r)   r,   F)r9   r0   r2   r*   T)r9   r2   )r#   r   r‰   r=   r>   r"   r@   r   Úscorer•   r{   r™   r˜   Úappendrœ   ÚlenÚset)rB   rC   rD   rE   rF   r9   ÚensembleÚtraining_hashs           rJ   Útest_bootstrap_samplesrª   ø   s×  € å
˜QÑ
Ô
€CÝ'7ÝŒ•x”°Sð(ñ (ô (Ñ$€GˆV�W˜fõ &Ñ'Ô'×+Ò+¨G°WÑ=Ô=€Iõ  Ý'Ñ)Ô)ØØØð	ñ ô ÷
 
‚cˆ'�7ÑÔð ð �?Š?˜7 GÑ,Ô,°·²¸wÈÑ0PÔ0PÒPÐPÐPÐPõ  Ý'Ñ)Ô)ØØØð	ñ ô ÷
 
‚cˆ'�7ÑÔð ð �?Š?˜7 GÑ,Ô,¨x¯~ª~¸gÀwÑ/OÔ/OÒOÐOÐOÐOõ
  Õ*<Ñ*>Ô*>È$ÐOÑOÔO×SÒSØ�ñô €Hð €MØÔ)ð 7ð 7ˆ	ØÔ'¨7¬=¸Ô+;Ò;Ð;Ð;Ð;Ø×Ò˜YÔ5Ñ6Ô6Ð6Ð6Ý�s�=Ñ!Ô!Ñ"Ô"¥c¨-Ñ&8Ô&8Ò8Ð8Ð8Ð8Ð8Ð8rL   c                  óV  — t          d¦  «        } t          t          j        t          j        | ¬¦  «        \  }}}}t          t          ¦   «         dd| ¬¦  «                             ||¦  «        }|j        D ]<}t          j        j	        d         t          j        |¦  «        j	        d         k    sJ ‚Œ=t          t          ¦   «         dd| ¬¦  «                             ||¦  «        }|j        D ]<}t          j        j	        d         t          j        |¦  «        j	        d         k    sJ ‚Œ=d S )Nr   r)   r,   F)r9   r1   r3   r*   r-   T)r#   r   r‰   r=   r>   r   r"   r@   Úestimators_features_r˜   rŸ   Úunique)rB   rC   rD   rE   rF   r¨   Úfeaturess          rJ   Útest_bootstrap_featuresr¯   "  sE  € å
˜QÑ
Ô
€CÝ'7ÝŒ•x”°Sð(ñ (ô (Ñ$€GˆV�W˜fõ  Ý'Ñ)Ô)ØØ Øð	ñ ô ÷
 
‚cˆ'�7ÑÔð ð Ô1ð Fð FˆÝŒ}Ô" 1Ô%­¬°8Ñ)<Ô)<Ô)BÀ1Ô)EÒEÐEÐEÐEÐEåÝ'Ñ)Ô)ØØØð	ñ ô ÷
 
‚cˆ'�7ÑÔð ð Ô1ð Eð EˆÝŒ}Ô" 1Ô%­¬	°(Ñ(;Ô(;Ô(AÀ!Ô(DÒDÐDÐDÐDÐDðEð ErL   c            	      ó  — t          d¦  «        } t          t          j        t          j        | ¬¦  «        \  }}}}t          j        dd¬¦  «        5  t          t          ¦   «         | ¬¦  «         	                    ||¦  «        }t          t          j        |                     |¦  «        d¬¦  «        t          j        t          |¦  «        ¦  «        ¦  «         t          |                     |¦  «        t          j        |                     |¦  «        ¦  «        ¦  «         t          t#          ¦   «         | d¬	¦  «         	                    ||¦  «        }t          t          j        |                     |¦  «        d¬¦  «        t          j        t          |¦  «        ¦  «        ¦  «         t          |                     |¦  «        t          j        |                     |¦  «        ¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nr   r)   Úignore)ÚdivideÚinvalidro   r-   )Úaxisé   )r9   r*   r0   )r#   r   r<   r=   r>   rŸ   Úerrstater   r!   r@   r$   ÚsumrO   r    r¦   ÚexprP   r   ©rB   rC   rD   rE   rF   r¨   s         rJ   Útest_probabilityrº   >  s"  € å
˜QÑ
Ô
€CÝ'7ÝŒ	•4”;¨Sð(ñ (ô (Ñ$€GˆV�W˜fõ 
Œ˜H¨hÐ	7Ñ	7Ô	7ð 
ð 
å$Ý,Ñ.Ô.¸Sð
ñ 
ô 
ç
Š#ˆg�wÑ
Ô
ð 	õ 	"ÝŒF�8×)Ò)¨&Ñ1Ô1¸Ð:Ñ:Ô:½B¼GÅCÈÁKÄKÑ<PÔ<Pñ	
ô 	
ð 	
õ 	"Ø×"Ò" 6Ñ*Ô*­B¬F°8×3MÒ3MÈfÑ3UÔ3UÑ,VÔ,Vñ	
ô 	
ð 	
õ
 %Ý(Ñ*Ô*¸È!ð
ñ 
ô 
ç
Š#ˆg�wÑ
Ô
ð 	õ 	"ÝŒF�8×)Ò)¨&Ñ1Ô1¸Ð:Ñ:Ô:½B¼GÅCÈÁKÄKÑ<PÔ<Pñ	
ô 	
ð 	
õ 	"Ø×"Ò" 6Ñ*Ô*­B¬F°8×3MÒ3MÈfÑ3UÔ3UÑ,VÔ,Vñ	
ô 	
ð 	
ð/
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   ÁF G>Ç>HÈHc            	      ó,  — t          d¦  «        } t          t          j        t          j        | ¬¦  «        \  }}}}t          ¦   «         t          ¦   «         fD ]¼}t          |ddd| ¬¦  «                             ||¦  «        }| 	                    ||¦  «        }t          ||j        z
  ¦  «        dk     sJ ‚d}t          j        t          |¬¦  «        5  t          |d	dd| ¬¦  «        }|                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   Œ½d S )
Nr   r)   éd   T©r9   r:   r2   Ú	oob_scorer*   çš™™™™™¹?ú{Some inputs do not have OOB scores. This probably means too few estimators were used to compute any reliable oob estimates.©Úmatchr-   )r#   r   r<   r=   r>   r!   r   r   r@   r¤   ÚabsÚ
oob_score_ÚpytestÚwarnsÚUserWarning)	rB   rC   rD   rE   rF   r9   ÚclfÚ
test_scoreÚwarn_msgs	            rJ   Útest_oob_score_classificationrË   a  s€  € õ ˜QÑ
Ô
€CÝ'7ÝŒ	•4”;¨Sð(ñ (ô (Ñ$€GˆV�W˜fõ -Ñ.Ô.µ±´Ð6ð &ð &ˆ	ÝØØØØØð
ñ 
ô 
÷ Š#ˆg�wÑ
Ô
ð 	ð —Y’Y˜v vÑ.Ô.ˆ
å�: ¤Ñ.Ñ/Ô/°#Ò5Ð5Ð5Ð5ðJð 	õ Œ\�+¨XÐ6Ñ6Ô6ð 	&ð 	&Ý#Ø#ØØØØ ðñ ô ˆCð �GŠG�G˜WÑ%Ô%Ð%ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&øð%&ð &s   Ã+DÄD	ÄD	c                  ó   — t          d¦  «        } t          t          j        t          j        | ¬¦  «        \  }}}}t          t          ¦   «         ddd| ¬¦  «                             ||¦  «        }|                     ||¦  «        }t          ||j
        z
  ¦  «        dk     sJ ‚d}t          j        t          |¬¦  «        5  t          t          ¦   «         d	dd| ¬¦  «        }|                     ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nr   r)   rˆ   Tr½   r¿   rÀ   rÁ   r-   )r#   r   r‰   r=   r>   r   r"   r@   r¤   rÃ   rÄ   rÅ   rÆ   rÇ   )	rB   rC   rD   rE   rF   rÈ   rÉ   rÊ   Úregrs	            rJ   Útest_oob_score_regressionrÎ   †  sr  € õ ˜QÑ
Ô
€CÝ'7ÝŒ•x”°Sð(ñ (ô (Ñ$€GˆV�W˜fõ Ý'Ñ)Ô)ØØØØðñ ô ÷ 
‚cˆ'�7ÑÔð ð —’˜6 6Ñ*Ô*€Jåˆz˜CœNÑ*Ñ+Ô+¨cÒ1Ð1Ð1Ð1ð	Fð õ 
Œ•k¨Ð	2Ñ	2Ô	2ð #ð #ÝÝ+Ñ-Ô-ØØØØð
ñ 
ô 
ˆð 	�Š�˜'Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð #ð #s   Â?7DÄDÄ
Dc                  ó’  — t          d¦  «        } t          t          j        t          j        | ¬¦  «        \  }}}}t          t          ¦   «         ddd| ¬¦  «                             ||¦  «        }t          ¦   «                              ||¦  «        }t          | 	                    |¦  «        | 	                    |¦  «        ¦  «         d S )Nr   r)   r-   F)r9   r:   r2   r3   r*   )
r#   r   r‰   r=   r>   r   r   r@   r$   rA   )rB   rC   rD   rE   rF   Úclf1Úclf2s          rJ   Útest_single_estimatorrÒ   ª  sÁ   € å
˜QÑ
Ô
€CÝ'7ÝŒ•x”°Sð(ñ (ô (Ñ$€GˆV�W˜fõ Ý%Ñ'Ô'ØØØ Øðñ ô ÷ 
‚cˆ'�7ÑÔð 	õ Ñ Ô ×$Ò$ W¨gÑ6Ô6€Då˜dŸlšl¨6Ñ2Ô2°D·L²LÀÑ4HÔ4HÑIÔIÐIÐIÐIrL   c                  ó¸   — t           j        t           j        }} t          ¦   «         }t	          t          |¦  «                             | |¦  «        d¦  «        rJ ‚d S )NrQ   )r<   r=   r>   r!   Úhasattrr   r@   )r^   r_   Úbases      rJ   Ú
test_errorrÖ   ¾  sP   € åŒ9•d”k€q€AÝ!Ñ#Ô#€DÝÕ(¨Ñ.Ô.×2Ò2°1°aÑ8Ô8Ð:MÑNÔNÐNÐNÐNÐNÐNrL   c                  óÈ  — t          t          j        t          j        d¬¦  «        \  } }}}t	          t          ¦   «         dd¬¦  «                             | |¦  «        }|                     |¦  «        }|                     d¬¦  «         |                     |¦  «        }t          ||¦  «         t	          t          ¦   «         dd¬¦  «                             | |¦  «        }|                     |¦  «        }t          ||¦  «         t	          t          d¬¦  «        dd¬¦  «                             | |¦  «        }|                     |¦  «        }|                     d¬¦  «         |                     |¦  «        }	t          ||	¦  «         t	          t          d¬¦  «        dd¬¦  «                             | |¦  «        }|                     |¦  «        }
t          ||
¦  «         d S )	Nr   r)   é   ©Ún_jobsr*   r-   ©rÚ   rl   )rn   )r   r<   r=   r>   r   r!   r@   rO   Ú
set_paramsr$   r   rQ   )rC   rD   rE   rF   r¨   Úy1Úy2Úy3Ú
decisions1Ú
decisions2Ú
decisions3s              rJ   Útest_parallel_classificationrã   Å  sò  € å'7ÝŒ	•4”;¨Qð(ñ (ô (Ñ$€GˆV�W˜fõ !ÝÑ Ô ¨¸ðñ ô ç	‚cˆ'�7ÑÔð ð
 
×	Ò	 Ñ	'Ô	'€BØ×Ò˜qÐÑ!Ô!Ð!Ø	×	Ò	 Ñ	'Ô	'€BÝ˜b "Ñ%Ô%Ð%å ÝÑ Ô ¨¸ðñ ô ç	‚cˆ'�7ÑÔð ð 
×	Ò	 Ñ	'Ô	'€BÝ˜b "Ñ%Ô%Ð%õ !Ý EÐ*Ñ*Ô*°1À1ðñ ô ç	‚cˆ'�7ÑÔð ð ×+Ò+¨FÑ3Ô3€JØ×Ò˜qÐÑ!Ô!Ð!Ø×+Ò+¨FÑ3Ô3€JÝ˜j¨*Ñ5Ô5Ð5å Ý EÐ*Ñ*Ô*°1À1ðñ ô ç	‚cˆ'�7ÑÔð ð ×+Ò+¨FÑ3Ô3€JÝ˜j¨*Ñ5Ô5Ð5Ð5Ð5rL   c                  óX  — t          d¦  «        } t          t          j        t          j        | ¬¦  «        \  }}}}t          t          ¦   «         dd¬¦  «                             ||¦  «        }|                     d¬¦  «         | 	                    |¦  «        }|                     d¬¦  «         | 	                    |¦  «        }t          ||¦  «         t          t          ¦   «         dd¬¦  «                             ||¦  «        }| 	                    |¦  «        }t          ||¦  «         d S )Nr   r)   rØ   rÙ   r-   rÛ   r7   )r#   r   r‰   r=   r>   r   r"   r@   rÜ   rA   r$   )	rB   rC   rD   rE   rF   r¨   rÝ   rÞ   rß   s	            rJ   Útest_parallel_regressionrå   î  s,  € å
˜QÑ
Ô
€Cå'7ÝŒ•x”°Sð(ñ (ô (Ñ$€GˆV�W˜fõ  Õ 5Ñ 7Ô 7ÀÐPQÐRÑRÔR×VÒVØ�ñô €Hð ×Ò˜qÐÑ!Ô!Ð!Ø	×	Ò	˜&Ñ	!Ô	!€BØ×Ò˜qÐÑ!Ô!Ð!Ø	×	Ò	˜&Ñ	!Ô	!€BÝ˜b "Ñ%Ô%Ð%åÕ 5Ñ 7Ô 7ÀÐPQÐRÑRÔR×VÒVØ�ñô €Hð 
×	Ò	˜&Ñ	!Ô	!€BÝ˜b "Ñ%Ô%Ð%Ð%Ð%rL   c                  óÐ   — t           j        t           j        }} d||dk    <   dddœ}t          t	          t          ¦   «         ¦  «        |d¬¦  «                             | |¦  «         d S )Nr-   r7   )r-   r7   )r:   Úestimator__CÚroc_auc)Úscoring)r<   r=   r>   r   r   r   r@   )r^   r_   Ú
parameterss      rJ   Útest_gridsearchrë     sf   € õ Œ9•d”k€q€AØ€A€aˆ1‚f�Ið #)¸&ÐAÐA€JåÕ"¥3¡5¤5Ñ)Ô)¨:¸yÐIÑIÔI×MÒMÈaÐQRÑSÔSÐSÐSÐSrL   c                  óH  — t          d¦  «        } t          t          j        t          j        | ¬¦  «        \  }}}}t          d dd¬¦  «                             ||¦  «        }t          |j        t          ¦  «        sJ ‚t          t          ¦   «         dd¬¦  «                             ||¦  «        }t          |j        t          ¦  «        sJ ‚t          t          ¦   «         dd¬¦  «                             ||¦  «        }t          |j        t          ¦  «        sJ ‚t          t          j        t          j        | ¬¦  «        \  }}}}t          d dd¬¦  «                             ||¦  «        }t          |j        t          ¦  «        sJ ‚t          t          ¦   «         dd¬¦  «                             ||¦  «        }t          |j        t          ¦  «        sJ ‚t          t          ¦   «         dd¬¦  «                             ||¦  «        }t          |j        t          ¦  «        sJ ‚d S )Nr   r)   rØ   rÙ   )r#   r   r<   r=   r>   r   r@   Ú
isinstanceÚ
estimator_r!   r   r‰   r   r"   r    r¹   s         rJ   Útest_estimatorrï     s  € å
˜QÑ
Ô
€Cõ (8ÝŒ	•4”;¨Sð(ñ (ô (Ñ$€GˆV�W˜fõ ! ¨a¸aÐ@Ñ@Ô@×DÒDÀWÈgÑVÔV€Hå�hÔ)Õ+AÑBÔBÐBÐBÐBå ÝÑ Ô ¨¸ðñ ô ç	‚cˆ'�7ÑÔð õ �hÔ)Õ+AÑBÔBÐBÐBÐBå ¥¡¤°aÀaÐHÑHÔH×LÒLØ�ñô €Hõ �hÔ)­:Ñ6Ô6Ð6Ð6Ð6õ (8ÝŒ•x”°Sð(ñ (ô (Ñ$€GˆV�W˜fõ   ¨Q¸QÐ?Ñ?Ô?×CÒCÀGÈWÑUÔU€Hå�hÔ)Õ+@ÑAÔAÐAÐAÐAåÕ 5Ñ 7Ô 7ÀÐPQÐRÑRÔR×VÒVØ�ñô €Hõ �hÔ)Õ+@ÑAÔAÐAÐAÐAå¥¡¤¨a¸aÐ@Ñ@Ô@×DÒDÀWÈgÑVÔV€HÝ�hÔ)­3Ñ/Ô/Ð/Ð/Ð/Ð/Ð/rL   c                  ó2  — t          t          t          d¬¦  «        t          ¦   «         ¦  «        d¬¦  «        } |                      t
          j        t
          j        ¦  «         t          | d         j	        d         d         j
        t          ¦  «        sJ ‚d S )Nr-   )Úkr7   )r1   r   éÿÿÿÿ)r   r   r   r!   r@   r<   r=   r>   rí   Ústepsr*   Úint)r9   s    rJ   Útest_bagging_with_pipelinerõ   @  s‚   € Ý!Ý•k AÐ&Ñ&Ô&Õ(>Ñ(@Ô(@ÑAÔAÐPQðñ ô €Ið ‡M‚M•$”)�Tœ[Ñ)Ô)Ð)Ý�i ”lÔ(¨Ô,¨QÔ/Ô<½cÑBÔBÐBÐBÐBÐBÐBrL   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚDummyZeroEstimatorc                 ó8   — t          j        |¦  «        | _        | S rW   )rŸ   r­   Úclasses_r�   s      rJ   r@   zDummyZeroEstimator.fitI  s   € Ýœ	 !™œˆŒØˆrL   c                 ód   — | j         t          j        |j        d         t          ¬¦  «                 S )Nr   )Údtype)rù   rŸ   Úzerosr˜   rô   r¡   s     rJ   rA   zDummyZeroEstimator.predictM  s$   € ØŒ}�RœX a¤g¨a¤j½Ð<Ñ<Ô<Ô=Ð=rL   Nr¢   r;   rL   rJ   r÷   r÷   H  s2   € € € € € ðð ð ð>ð >ð >ð >ð >rL   r÷   c            
      óø  — t          t          ¦   «         ¦  «        } t          d¦  «        }|                      t          j        t          j        ¦  «                             t          j        ¦  «         t          j	        t          ¦  «        5  |                      t          j        t          j        |                     dt          j        j        d         ¬¦  «        ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   é
   )Úsize)Úsample_weight)r   r÷   r#   r@   r<   r=   r>   rA   rÅ   ÚraisesÚ
ValueErrorÚrandintr˜   )r9   rB   s     rJ   Ú1test_bagging_sample_weight_unsupported_but_passedr  Q  s   € Ý!Õ"4Ñ"6Ô"6Ñ7Ô7€IÝ
˜QÑ
Ô
€Cà‡M‚M•$”)�Tœ[Ñ)Ô)×1Ò1µ$´)Ñ<Ô<Ð<Ý	Œ•zÑ	"Ô	"ð 
ð 
Ø�ŠÝŒIÝŒKØŸ+š+ bµ´	´ÀÔ0B˜+ÑDÔDð 	ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   ÂAC/Ã/C3Ã6C3é*   c                 ó¤  — t          dd¬¦  «        \  }}d }dD ]X}|€t          || d¬¦  «        }n|                     |¬¦  «         |                     ||¦  «         t	          |¦  «        |k    sJ ‚ŒYt          d| d	¬¦  «        }|                     ||¦  «         t          d
„ |D ¦   «         ¦  «        t          d„ |D ¦   «         ¦  «        k    sJ ‚d S )Nr4   r-   ©Ú	n_samplesr*   )rµ   rþ   T)r:   r*   Ú
warm_start©r:   rþ   Fc                 ó   — g | ]	}|j         ‘Œ
S r;   r)   ©rs   Útrees     rJ   ru   z#test_warm_start.<locals>.<listcomp>s  s   € Ð5Ð5Ð5 d�Ô!Ð5Ð5Ð5rL   c                 ó   — g | ]	}|j         ‘Œ
S r;   r)   r  s     rJ   ru   z#test_warm_start.<locals>.<listcomp>t  s   € Ð1Ð1Ð1˜tˆÔ	Ð1Ð1Ð1rL   )r   r   rÜ   r@   r¦   r§   )r*   r^   r_   Úclf_wsr:   Ú	clf_no_wss         rJ   Útest_warm_startr  ^  s  € õ  b°qÐ9Ñ9Ô9�D€A€qà€FØð +ð +ˆØˆ>Ý&Ø)¸ÐQUðñ ô ˆFˆFð ×Ò¨<ÐÑ8Ô8Ð8Ø�
Š
�1�aÑÔÐÝ�6‰{Œ{˜lÒ*Ð*Ð*Ð*Ð*å!Ø l¸uðñ ô €Ið ‡M‚M�!�QÑÔÐåÐ5Ð5¨fÐ5Ñ5Ô5Ñ6Ô6½#Ø1Ð1 yÐ1Ñ1Ô1ñ;ô ;ò ð ð ð ð ð rL   c                  ó8  — t          dd¬¦  «        \  } }t          dd¬¦  «        }|                     | |¦  «         |                     d¬¦  «         t	          j        t          ¦  «        5  |                     | |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nr4   r-   r  rµ   T)r:   r	  r.   r
  )r   r   r@   rÜ   rÅ   r  r  ©r^   r_   rÈ   s      rJ   Ú$test_warm_start_smaller_n_estimatorsr  x  sÔ   € å b°qÐ9Ñ9Ô9�D€A€qÝ
¨°tÐ
<Ñ
<Ô
<€CØ‡G‚GˆAˆq�M„M€MØ‡N‚N €NÑ"Ô"Ð"Ý	Œ•zÑ	"Ô	"ð ð Ø�Š��1‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á+BÂBÂBc                  ó¼  — t          dd¬¦  «        \  } }t          | |d¬¦  «        \  }}}}t          ddd¬	¦  «        }|                     ||¦  «         |                     |¦  «        }|d
z  }d}t          j        t          |¬¦  «        5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          ||                     |¦  «        ¦  «         d S )Nr4   r-   r  é+   r)   rµ   TéS   ©r:   r	  r*   r,   z;Warm-start fitting without increasing n_estimators does notrÁ   )	r   r   r   r@   rA   rÅ   rÆ   rÇ   r%   )	r^   r_   rC   rD   rE   rF   rÈ   Úy_predrÊ   s	            rJ   Ú"test_warm_start_equal_n_estimatorsr  ‚  s  € å b°qÐ9Ñ9Ô9�D€A€qÝ'7¸¸1È2Ð'NÑ'NÔ'NÑ$€GˆV�W˜få
¨°tÈ"Ð
MÑ
MÔ
M€CØ‡G‚GˆG�WÑÔÐà�[Š[˜Ñ Ô €Fàˆs�N€GàL€HÝ	Œ•k¨Ð	2Ñ	2Ô	2ð "ð "Ø�Š�˜Ñ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "å�v˜sŸ{š{¨6Ñ2Ô2Ñ3Ô3Ð3Ð3Ð3s   ÂB.Â.B2Â5B2c                  óÈ  — t          dd¬¦  «        \  } }t          | |d¬¦  «        \  }}}}t          ddd¬	¦  «        }|                     ||¦  «         |                     d
¬¦  «         |                     ||¦  «         |                     |¦  «        }t          d
dd¬	¦  «        }|                     ||¦  «         |                     |¦  «        }	t          ||	¦  «         d S )Nr4   r-   r  r  r)   rµ   TiE  r  rþ   r
  F)r   r   r   r@   rÜ   rA   r$   )
r^   r_   rC   rD   rE   rF   r  rÝ   rÈ   rÞ   s
             rJ   Útest_warm_start_equivalencer  ”  sê   € õ  b°qÐ9Ñ9Ô9�D€A€qÝ'7¸¸1È2Ð'NÑ'NÔ'NÑ$€GˆV�W˜få¨A¸$ÈTÐRÑRÔR€FØ
‡J‚Jˆw˜Ñ Ô Ð Ø
×Ò 2ÐÑ&Ô&Ð&Ø
‡J‚Jˆw˜Ñ Ô Ð Ø	�Š˜Ñ	Ô	€Bå
¨¸ÈDÐ
QÑ
QÔ
Q€CØ‡G‚GˆG�WÑÔÐØ	�Š�VÑ	Ô	€Bå˜b "Ñ%Ô%Ð%Ð%Ð%rL   c                  óâ   — t          dd¬¦  «        \  } }t          ddd¬¦  «        }t          j        t          ¦  «        5  |                     | |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr4   r-   r  rµ   T)r:   r	  r¾   )r   r   rÅ   r  r  r@   r  s      rJ   Ú$test_warm_start_with_oob_score_failsr  §  s±   € å b°qÐ9Ñ9Ô9�D€A€qÝ
¨°tÀtÐ
LÑ
LÔ
L€CÝ	Œ•zÑ	"Ô	"ð ð Ø�Š��1‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á A$Á$A(Á+A(c                  ó\  — t          dd¬¦  «        \  } }t          dd¬¦  «        }|                     | |¦  «         |                     dd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µ   T)r:   r¾   Frþ   )r	  r¾   r:   rÄ   )r   r   r@   rÜ   rÅ   r  ÚAttributeErrorrz   r  s      rJ   Ú$test_oob_score_removed_on_warm_startr!  ¯  sè   € Ý c¸Ð:Ñ:Ô:�D€A€qå
¨°dÐ
;Ñ
;Ô
;€CØ‡G‚GˆAˆq�M„M€Mà‡N‚N˜d¨eÀ"€NÑEÔEÐEØ‡G‚GˆAˆq�M„M€Må	Œ•~Ñ	&Ô	&ð #ð #Ý��\Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð #ð #s   ÂB!Â!B%Â(B%c                  óâ   — t          dd¬¦  «        \  } }t          t          ¦   «         dddd¬¦  «        }|                     | |¦  «        j        |                     | |¦  «        j        k    sJ ‚d S )NéÈ   r-   r  r+   T)r0   r1   r¾   r*   )r   r   r   r@   rÄ   ©r^   r_   Úbaggings      rJ   Útest_oob_score_consistencyr&  ¼  s~   € õ  c¸Ð:Ñ:Ô:�D€A€qÝÝÑÔØØØØðñ ô €Gð �;Š;�q˜!ÑÔÔ'¨7¯;ª;°q¸!Ñ+<Ô+<Ô+GÒGÐGÐGÐGÐGÐGrL   c                  ó^  — t          dd¬¦  «        \  } }t          t          ¦   «         dddd¬¦  «        }|                     | |¦  «         |j        }|j        }|j        }t          |¦  «        t          |¦  «        k    sJ ‚t          |d         ¦  «        t          | ¦  «        dz  k    sJ ‚|d         j        j	        d	k    sJ ‚d}||         }||         }||         }	| |         d d …|f         }
||         }|	j
        }|	                     |
|¦  «         |	j
        }t          ||¦  «         d S )
Nr#  r-   r  r+   F)r0   r1   r*   r2   r   r7   rt   )r   r   r   r@   Úestimators_samples_r¬   r{   r¦   rû   ÚkindÚcoef_r$   )r^   r_   r%  Úestimators_samplesÚestimators_featuresrH   Úestimator_indexÚestimator_samplesÚestimator_featuresr9   rC   rE   Ú
orig_coefsÚ	new_coefss                 rJ   Útest_estimators_samplesr2  Ê  s`  € õ  c¸Ð:Ñ:Ô:�D€A€qÝÝÑÔØØØØðñ ô €Gð ‡K‚K��1ÑÔÐð !Ô4ÐØ!Ô6ÐØÔ$€Jõ Ð!Ñ"Ô"¥c¨*¡o¤oÒ5Ð5Ð5Ð5ÝÐ! !Ô$Ñ%Ô%­¨Q©¬°1©Ò4Ð4Ð4Ð4Ø˜aÔ Ô&Ô+¨sÒ2Ð2Ð2Ð2ð €OØ*¨?Ô;ÐØ,¨_Ô=ÐØ˜?Ô+€IàÐ"Ô# Q Q QÐ(:Ð%:Ô;€GØÐ!Ô"€Gà”€JØ‡M‚M�'˜7Ñ#Ô#Ð#Ø”€Iå˜j¨)Ñ4Ô4Ð4Ð4Ð4rL   c                  óF  — t          ¦   «         } | j        | j        }}t          t	          d¬¦  «        t          ¦   «         ¦  «        }t          |dd¬¦  «        }|                     ||¦  «         |j        d         j	        d         d         j
                             ¦   «         }|j        d         }|j        d         }|j        d         }||         d d …|f         }	||         }
|                     |	|
¦  «         t          |j	        d         d         j
        |¦  «         d S )Nr7   )Ún_componentsr+   r   )r9   r0   r*   rò   r-   )r   r=   r>   r   r   r   r   r@   r{   ró   r*  Úcopyr(  r¬   r%   )r<   r^   r_   Úbase_pipelinerÈ   Úpipeline_estimator_coefr9   Úestimator_sampleÚestimator_featurerC   rE   s              rJ   Ú%test_estimators_samples_deterministicr:  ò  s  € õ ‰;Œ;€DØŒ9�d”k€q€Aå!Ý¨AÐ.Ñ.Ô.Õ0BÑ0DÔ0Dñô €Mõ  mÀÐSTÐ
UÑ
UÔ
U€CØ‡G‚GˆAˆq�M„M€MØ!œo¨aÔ0Ô6°rÔ:¸1Ô=ÔC×HÒHÑJÔJÐà” Ô"€IØÔ.¨qÔ1ÐØÔ0°Ô3ÐàÐ!Ô" A A AÐ'8Ð$8Ô9€GØÐ Ô!€Gà‡M‚M�'˜7Ñ#Ô#Ð#Ý�y” rÔ*¨1Ô-Ô3Ð5LÑMÔMÐMÐMÐMrL   c                  ó¼   — d} t          d| z  d¬¦  «        \  }}t          t          ¦   «         | dd¬¦  «        }|                     ||¦  «         |j        | k    sJ ‚d S )Nr¼   r7   r-   r  r+   )r0   r1   r*   )r   r   r   r@   Ú_max_samples)r0   r^   r_   r%  s       rJ   Útest_max_samples_consistencyr=    sy   € ð €KÝ a¨+¡oÀAÐFÑFÔF�D€A€qÝÝÑÔØØØð	ñ ô €Gð ‡K‚K��1ÑÔÐØÔ ;Ò.Ð.Ð.Ð.Ð.Ð.rL   c                  ó^  — d} dgdgdggdz  }g d¢dz  }g d¢dz  }g d¢dz  }t          d| ¬	¦  «                             ||¦  «        j        }t          d| ¬	¦  «                             ||¦  «        j        }t          d| ¬	¦  «                             ||¦  «        j        }||g||gk    sJ ‚d S )
Nrµ   rò   r   r-   )ÚAÚBÚC)rò   r   r-   )r   r-   r7   T)r¾   r*   )r   r@   rÄ   )r*   r^   ÚY1ÚY2ÚY3Úx1Úx2Úx3s           rJ   Ú!test_set_oob_score_label_encodingrH    sÜ   € ð €LØ
ˆ�ˆs�Q�CÐ˜1Ñ€AØ	ˆˆ˜1Ñ	€BØ	ˆˆ�a‰€BØ	ˆˆ�Q‰€Bå D°|ÐDÑDÔDß	ŠˆQ�‰ŒÜ	ð õ 	 D°|ÐDÑDÔDß	ŠˆQ�‰ŒÜ	ð õ 	 D°|ÐDÑDÔDß	ŠˆQ�‰ŒÜ	ð ð
 �ˆ8˜˜B�xÒÐÐÐÐÐrL   c                 ód   — |                       dd¬¦  «        } d| t          j        | ¦  «         <   | S )NÚfloatT)r5  r   )ÚastyperŸ   Úisfinite)r^   s    rJ   ÚreplacerM  6  s0   € Ø	�Š�˜tˆÑ$Ô$€AØ€A…r„{�1�~„~€oÑØ€HrL   c            	      óÊ  — t          j        g d¢g d¢dt           j        dgdt           j        dgdt           j         dgg¦  «        } t          j        g d¢¦  «        t          j        g d¢g d¢g d¢g d¢g d¢g¦  «        g}|D �]`}t	          ¦   «         }t          t          t          ¦  «        |¦  «        }|                     | |¦  «         	                    | ¦  «         t          |¦  «        }|                     | |¦  «         	                    | ¦  «        }|j        |j        k    sJ ‚t	          ¦   «         }t          |¦  «        }t          j        t          ¦  «        5  |                     | |¦  «         d d d ¦  «         n# 1 swxY w Y   t          |¦  «        }t          j        t          ¦  «        5  |                     | |¦  «         d d d ¦  «         n# 1 swxY w Y   �Œbd S )N©r-   rØ   rµ   ©r7   Né   r7   rQ  )r7   rØ   rØ   rØ   rØ   )r7   r-   é	   )rØ   rQ  é   )rŸ   ÚarrayÚnanÚinfr"   r   r   rM  r@   rA   r   r˜   rÅ   r  r  )r^   Úy_valuesr_   Ú	regressorÚpipelineÚbagging_regressorÚy_hats          rJ   Ú*test_bagging_regressor_with_missing_inputsr\  <  s]  € å
ŒàˆIˆIØˆLˆLØ•”˜ˆNØ•”˜ˆNØ•”�˜ˆOð	
ñ	ô 	€Aõ 	Œ���Ñ!Ô!Ý
Œà�	�	Ø�	�	Ø�	�	Ø�	�	Ø�	�	ðñ	
ô 	
ð€Hð ð (ñ (ˆÝ)Ñ+Ô+ˆ	Ý Õ!4µWÑ!=Ô!=¸yÑIÔIˆØ�Š�Q˜ÑÔ×"Ò" 1Ñ%Ô%Ð%Ý,¨XÑ6Ô6ÐØ!×%Ò% a¨Ñ+Ô+×3Ò3°AÑ6Ô6ˆØŒw˜%œ+Ò%Ð%Ð%Ð%õ *Ñ+Ô+ˆ	Ý  Ñ+Ô+ˆÝŒ]�:Ñ&Ô&ð 	ð 	Ø�LŠL˜˜AÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	å,¨XÑ6Ô6ÐÝŒ]�:Ñ&Ô&ð 	(ð 	(Ø×!Ò! ! QÑ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ùð(ð (s$   ÅF Æ F	ÆF	Æ3GÇG	ÇG	c            	      óÐ  — t          j        g d¢g d¢dt           j        dgdt           j        dgdt           j         dgg¦  «        } t          j        g d¢¦  «        }t	          ¦   «         }t          t          t          ¦  «        |¦  «        }|                     | |¦  «         	                    | ¦  «         t          |¦  «        }|                     | |¦  «         | 	                    | ¦  «        }|j        |j        k    sJ ‚|                     | ¦  «         |                     | ¦  «         t	          ¦   «         }t          |¦  «        }t          j        t           ¦  «        5  |                     | |¦  «         d d d ¦  «         n# 1 swxY w Y   t          |¦  «        }t          j        t           ¦  «        5  |                     | |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrO  rP  r7   rQ  )rØ   rQ  rQ  rQ  rQ  )rŸ   rT  rU  rV  r!   r   r   rM  r@   rA   r   r˜   rP   rO   rÅ   r  r  )r^   r_   Ú
classifierrY  Úbagging_classifierr[  s         rJ   Ú+test_bagging_classifier_with_missing_inputsr`  e  sB  € å
ŒàˆIˆIØˆLˆLØ•”˜ˆNØ•”˜ˆNØ•”�˜ˆOð	
ñ	ô 	€Aõ 	Œ���Ñ!Ô!€AÝ'Ñ)Ô)€JÝÕ0µÑ9Ô9¸:ÑFÔF€HØ‡L‚L��AÑÔ×Ò˜qÑ!Ô!Ð!Ý*¨8Ñ4Ô4ÐØ×Ò˜1˜aÑ Ô Ð Ø×&Ò& qÑ)Ô)€EØŒ7�e”kÒ!Ð!Ð!Ð!Ø×(Ò(¨Ñ+Ô+Ð+Ø×$Ò$ QÑ'Ô'Ð'õ (Ñ)Ô)€JÝ˜ZÑ(Ô(€HÝ	Œ•zÑ	"Ô	"ð ð Ø�Š�Q˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å*¨8Ñ4Ô4ÐÝ	Œ•zÑ	"Ô	"ð %ð %Ø×Ò˜q !Ñ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð %ð %s$   Å!FÆFÆFÆ7GÇGÇ"Gc                  óÎ   — t          j        ddgddgg¦  «        } t          j        ddg¦  «        }t          t          ¦   «         dd¬¦  «        }|                     | |¦  «         d S )Nr-   r7   rØ   r.   r   g333333Ó?)r1   r*   )rŸ   rT  r   r   r@   r$  s      rJ   Útest_bagging_small_max_featuresrb  …  si   € õ 	Œ�1�a�&˜1˜a˜&Ð!Ñ"Ô"€AÝ
Œ�!�Q�ÑÔ€AåÕ 2Ñ 4Ô 4À3ÐUVÐWÑWÔW€GØ‡K‚K��1ÑÔÐÐÐrL   c                  ót  — t           j                             d¦  «        } |                      dd¦  «        }t          j        d¦  «        } G d„ dt
          ¦  «        }t           |¦   «         dd¬¦  «        }|                     ||¦  «         t          |j	        d         j
        |j        d         ¦  «         d S )Nr   é   r.   c                   ó   — e Zd ZdZd„ ZdS )ú8test_bagging_get_estimators_indices.<locals>.MyEstimatorz7An estimator which stores y indices information at fit.c                 ó   — || _         d S rW   )Ú_sample_indicesr�   s      rJ   r@   z<test_bagging_get_estimators_indices.<locals>.MyEstimator.fit›  s   € Ø#$ˆDÔ Ð Ð rL   N)rc   rd   re   rf   r@   r;   rL   rJ   ÚMyEstimatorrf  ˜  s)   € € € € € ØEÐEð	%ð 	%ð 	%ð 	%ð 	%rL   ri  r-   )r9   r:   r*   )rŸ   ÚrandomÚRandomStateÚrandnÚaranger"   r   r@   r%   r{   rh  r(  )rB   r^   r_   ri  rÈ   s        rJ   Ú#test_bagging_get_estimators_indicesrn  �  s»   € õ
 Œ)×
Ò
 Ñ
"Ô
"€CØ�	Š	�"�aÑÔ€AÝ
Œ	�"‰Œ€Að%ð %ð %ð %ð %Õ+ñ %ô %ð %õ  [ [¡]¤]ÀÐQRÐ
SÑ
SÔ
S€CØ‡G‚GˆAˆq�M„M€Må�s” qÔ)Ô9¸3Ô;RÐSTÔ;UÑVÔVÐVÐVÐVrL   zbagging, expected_allow_nanr-   r5   c                 óF   — |                       ¦   «         d         |k    sJ ‚dS )z*Check that bagging inherits allow_nan tag.Ú	allow_nanN)Ú	_get_tags)r%  Úexpected_allow_nans     rJ   Útest_bagging_allow_nan_tagrs  ¤  s-   € ð ×ÒÑÔ˜{Ô+Ð/AÒAÐAÐAÐAÐAÐArL   Úmodelr
  )r9   r:   c                 ó¶   — t          j        d¬¦  «        5  |                      t          j        t          j        ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zAMake sure that metadata routing works with non-default estimator.T)Úenable_metadata_routingN)ÚsklearnÚconfig_contextr@   r<   r=   r>   ©rt  s    rJ   Ú"test_bagging_with_metadata_routingrz  ²  s”   € õ 
Ô	¸Ð	=Ñ	=Ô	=ð *ð *Ø�	Š	•$”)�Tœ[Ñ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð *ð *s   –+AÁAÁAÚSAMME)r:   Ú	algorithmc                 óZ   — |                       t          j        t          j        ¦  «         dS )z^Make sure that we still can use an estimator that does not implement the
    metadata routing.N)r@   r<   r=   r>   ry  s    rJ   Ú-test_bagging_without_support_metadata_routingr~  Ã  s"   € ð 
‡I‚I�dŒi�œÑ%Ô%Ð%Ð%Ð%rL   )r  )lrf   Ú	itertoolsr   r   rš   ÚnumpyrŸ   rÅ   rw  Úsklearn.baser   Úsklearn.datasetsr   r   r   Úsklearn.dummyr	   r
   Úsklearn.ensembler   r   r   r   r   r   r   r   Úsklearn.feature_selectionr   Úsklearn.linear_modelr   r   Úsklearn.model_selectionr   r   r   Úsklearn.neighborsr   r   Úsklearn.pipeliner   Úsklearn.preprocessingr   r   Úsklearn.random_projectionr   Úsklearn.svmr   r    Úsklearn.treer!   r"   Úsklearn.utilsr#   Úsklearn.utils._testingr$   r%   Úsklearn.utils.fixesr&   r'   rB   r<   Úpermutationr>   rÿ   Úpermr=   r‰   rK   ÚmarkÚparametrizer†   rŠ   r“   r•   rª   r¯   rº   rË   rÎ   rÒ   rÖ   rã   rå   rë   rï   rõ   r÷   r  r  r  r  r  r  r!  r&  r2  r:  r=  rH  rM  r\  r`  rb  rn  rs  rz  r~  r;   rL   rJ   ú<module>r•     s—  ððð ð %Ð $Ð $Ð $Ð $Ð $Ð $Ð $à €€€Ø Ð Ð Ð Ø €€€à €€€Ø &Ð &Ð &Ð &Ð &Ð &Ø GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GØ 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 2Ð 1Ð 1Ð 1Ð 1Ð 1Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QØ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GØ *Ð *Ð *Ð *Ð *Ð *Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø <Ð <Ð <Ð <Ð <Ð <Ø  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø PÐ PÐ PÐ PÐ PÐ PÐ PÐ PØ >Ð >Ð >Ð >Ð >Ð >Ð >Ð >àÐ˜ÑÔ€ð €y�{„{€Ø
‡‚�t”{Ô'Ñ(Ô(€ØŒI�dŒO€„	ØŒk˜$Ô€„ð ˆ=‰?Œ?€Ø
‡‚�x”Ô+Ñ,Ô,€Ø”˜dÔ#€„Ø”/ $Ô'€„ð0ð 0ð 0ðB „×ÒØ&Ø€GØ˜Ñ'ð  #Ø !Ø!Ø&*ð	ð ð  #Ø !Ø!Ø&*ð	ð ð ¨UÈ$ÐOÐOØ¨dÈ%ÐPÐPð	
ð  	OÐNÐNñ%ô ñô ð.&2ð &2ñ/ô ð.&2ðRð ð ð8 „×ÒÐ+¨^¸nÑ-LÑMÔMð5Að 5Añ NÔMð5Aðp#ð #ð #ð #ð #˜ñ #ô #ð #ð'9ð '9ð '9ðTEð Eð Eð8 
ð  
ð  
ðF"&ð "&ð "&ðJ!#ð !#ð !#ðHJð Jð Jð(Oð Oð Oð&6ð &6ð &6ðR&ð &ð &ð4	Tð 	Tð 	Tð)0ð )0ð )0ðXCð Cð Cð>ð >ð >ð >ð >˜ñ >ô >ð >ð

ð 

ð 

ðð ð ð ð4ð ð ð4ð 4ð 4ð$&ð &ð &ð&ð ð ð
#ð 
#ð 
#ðHð Hð Hð%5ð %5ð %5ðPNð Nð Nð6/ð /ð /ð ð  ð  ð4ð ð ð&(ð &(ð &(ðR%ð %ð %ð@ð ð ðWð Wð Wð* „×ÒØ!à	Ð	Ð9Ð9À1ÐEÑEÔEÑ	FÔ	FÈÐMØ	Ð	Ð7Ð7ÀÐCÑCÔCÑ	DÔ	DÀdÐKØ	Ð	Ð-Ð-Ñ/Ô/Ñ	0Ô	0°%Ð8Ø	Ð	˜#˜#™%œ%Ñ	 Ô	  %Ð(ð	ñô ðBð Bñô ðBð
 „×ÒØàÐØ,Ð,¸!Ð<Ñ<Ô<È1ð	
ñ 	
ô 	
ð 	ÐØ+Ð+¸Ð;Ñ;Ô;È!ð	
ñ 	
ô 	
ð	ñ
ô 
ð*ð *ñ
ô 
ð*ð „×ÒØàÐØ(Ð(°aÀ7ÐKÑKÔKØð	
ñ 	
ô 	
ð 	ÐÐ#4Ð#4À!Ð#DÑ#DÔ#DÐSTÐUÑUÔUðñ	ô 	ð&ð &ñ	ô 	ð&ð &ð &rL   