§
    §éUg‘ô  ã                   óH  — U d Z ddlZddlZddlZddlmZ ddlmZ ddlmZm	Z	 ddl
mZmZ ddlmZ ddlZddlZddlZddlmZ ddlZdd	lmZmZ dd
lmZ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&m'Z' ddl(m)Z) ddl*m+Z+m,Z,m-Z-m.Z. ddl/m0Z0m1Z1m2Z2 ddl3m4Z4 ddl5m6Z6 ddl7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z> ddl?m@Z@mAZAmBZB ddlCmDZD ddlEmFZF ddlGmHZH ddgddgddgddgddgddggZIg d¢ZJddgddgddggZKg d¢ZL ej        d d!dddd"d¬#¦  «        \  ZMZN ejO        ¦   «         ZP eHd¦  «        ZQeQ R                    ePjS        jT        ¦  «        ZUePjV        eU         eP_V        ePjS        eU         eP_S         ejW        d d!d¬$¦  «        \  ZXZY ej        d%d¬&¦  «        \  ZZZ[eZ \                    ej]        ¦  «        ZZej^         _                    ¦   «         d         j`        Zae e"d'œZbe!e#d(œZcd)e$iZd ee¦   «         Zfeegef         ehd*<   ef i                    eb¦  «         ef i                    ec¦  «         ef i                    ed¦  «         eb j                    ¦   «         Zkeegef         ehd+<   ek i                    ec¦  «         ejl         m                    d,eb¦  «        d-„ ¦   «         Znejl         m                    d,eb¦  «        ejl         m                    d.d/¦  «        d0„ ¦   «         ¦   «         Zoejl         m                    d,ec¦  «        ejl         m                    d.d1¦  «        d2„ ¦   «         ¦   «         Zpd3„ Zqejl         m                    d.d4¦  «        d5„ ¦   «         Zrejl         m                    d,ec¦  «        d6„ ¦   «         Zsejl         m                    d,eb¦  «        d7„ ¦   «         Ztejl         m                    d8eju        ej]        f¦  «        ejl         m                    d9 ejv         e	ebd:d;g¦  «         e	ecg d<¢¦  «        ¦  «        ¦  «        d=„ ¦   «         ¦   «         Zwd>„ Zxejl         m                    d,ef¦  «        d?„ ¦   «         Zyejl         m                    d@eb z                    ¦   «         ¦  «        ejl         m                    dAg dB¢¦  «        ejl         m                    dCg  ej        dDdd¬E¦  «        ¢dF‘R g  ej        dGddHd¬I¦  «        ¢dJ‘R ePjV        ePjS        dz  dz   dJfg  ej{        dDd¬&¦  «        ¢dK‘R g¦  «        ejl         m                    dLdM ee,dN¬O¦  «        g¦  «        dP„ ¦   «         ¦   «         ¦   «         ¦   «         Z|ejl         m                    dQec z                    ¦   «         ¦  «        ejl         m                    dAg dB¢¦  «        ejl         m                    dRg  ejW        d d!dd¬S¦  «        ¢dT‘R g  ejW        d d!dd¬S¦  «        ¢dU‘R g¦  «        ejl         m                    dLdMe+g¦  «        dV„ ¦   «         ¦   «         ¦   «         ¦   «         Z}ejl         m                    dWek z                    ¦   «         ¦  «        dX„ ¦   «         Z~ejl         m                    dWek z                    ¦   «         ¦  «        dY„ ¦   «         Zejl         m                    d@eb z                    ¦   «         ¦  «        dZ„ ¦   «         Z€ejl         m                    dQec z                    ¦   «         ¦  «        d[„ ¦   «         Z�ejl         m                    dLdMd"g¦  «        d\„ ¦   «         Z‚ejl         m                    d,eb¦  «        d]„ ¦   «         Zƒejl         m                    d,ek¦  «        d^„ ¦   «         Z„ejl         m                    d,ek¦  «        d_„ ¦   «         Z…ejl         m                    d,ek¦  «        d`„ ¦   «         Z†ejl         m                    d,eb¦  «        da„ ¦   «         Z‡ejl         m                    d,eb¦  «        db„ ¦   «         Zˆdc„ Z‰dd„ ZŠe=de„ ¦   «         Z‹ejl         m                    dfeA¦  «        dg„ ¦   «         ZŒdh„ Z�di„ ZŽejl         m                    d,ef¦  «        dj„ ¦   «         Z�ejl         m                    d,ef¦  «        dk„ ¦   «         Z�ejl         m                    d,ef¦  «        dl„ ¦   «         Z‘ejl         m                    d,ef¦  «        dm„ ¦   «         Z’ejl         m                    d,ef¦  «        ejl         m                    dne@eAz   eBz   ¦  «        do„ ¦   «         ¦   «         Z“ejl         m                    d,ek¦  «        ejl         m                    d8eju        ej]        f¦  «        dp„ ¦   «         ¦   «         Z”ejl         m                    d,ef¦  «        dq„ ¦   «         Z•ejl         m                    d,eb¦  «        dr„ ¦   «         Z–ejl         m                    d,eb¦  «        ds„ ¦   «         Z—ejl         m                    d,eb¦  «        dt„ ¦   «         Z˜ejl         m                    d,ef¦  «        du„ ¦   «         Z™ejl         m                    d,ef¦  «        dv„ ¦   «         Zšejl         m                    d,ef¦  «        dw„ ¦   «         Z›ejl         m                    d,ef¦  «        dx„ ¦   «         Zœejl         m                    d,ek¦  «        dy„ ¦   «         Z�ejl         m                    d,ek¦  «        dz„ ¦   «         Zždœd|„ZŸejl         m                    d,ek¦  «        d}„ ¦   «         Z d~„ Z¡d„ Z¢ G d€„ d�ea¦  «        Z£ ej¤        d‚e£¦  «         e>dƒ„ ¦   «         Z¥d„„ Z¦d…„ Z§ejl         m                    d,ek¦  «        d†„ ¦   «         Z¨ejl         m                    d,ek¦  «        d‡„ ¦   «         Z©ejl         m                    d,ec¦  «        dˆ„ ¦   «         Zªejl         m                    d,eb¦  «        d‰„ ¦   «         Z«ejl         m                    dŠeB¦  «        d‹„ ¦   «         Z¬ejl         m                    dŒe"e#g¦  «        d�„ ¦   «         Z­ejl         m                    dŽec¦  «        d�„ ¦   «         Z®d�„ Z¯ejl         m                    dŠeB¦  «        d‘„ ¦   «         Z°ejl         m                    d’d“dg¦  «        d”„ ¦   «         Z±ejl         m                    d•ddg¦  «        ejl         m                    d–dMd"g¦  «        ejl         m                    dŒek z                    ¦   «         ¦  «        d—„ ¦   «         ¦   «         ¦   «         Z²ejl         m                    d˜ejW        e#fej        e"fg¦  «        d™„ ¦   «         Z³ejl         m                    dŽe"e#g¦  «        dš„ ¦   «         Z´d›„ ZµdS )�z:
Testing for the forest module (sklearn.ensemble.forest).
é    N)Údefaultdict)Úpartial)ÚcombinationsÚproduct)ÚAnyÚDict)Úpatch)Úcomb)ÚcloneÚdatasets)Úmake_classificationÚmake_hastie_10_2)ÚTruncatedSVD)ÚDummyRegressor)ÚExtraTreesClassifierÚExtraTreesRegressorÚRandomForestClassifierÚRandomForestRegressorÚRandomTreesEmbedding)Ú_generate_unsampled_indicesÚ_get_n_samples_bootstrap)ÚNotFittedError)Úexplained_variance_scoreÚf1_scoreÚmean_poisson_devianceÚmean_squared_error)ÚGridSearchCVÚcross_val_scoreÚtrain_test_split)Ú	LinearSVC)ÚSPARSE_SPLITTERS)Ú_convert_containerÚassert_allcloseÚassert_almost_equalÚassert_array_almost_equalÚassert_array_equalÚignore_warningsÚskip_if_no_parallel)ÚCOO_CONTAINERSÚCSC_CONTAINERSÚCSR_CONTAINERS)Útype_of_target)ÚParallel)Úcheck_random_stateéþÿÿÿéÿÿÿÿé   é   )r0   r0   r0   r1   r1   r1   é   )r0   r1   r1   éô  é
   F)Ú	n_samplesÚ
n_featuresÚn_informativeÚn_redundantÚ
n_repeatedÚshuffleÚrandom_state©r6   r7   r<   é   ©r6   r<   )r   r   )r   r   r   ÚFOREST_ESTIMATORSÚFOREST_CLASSIFIERS_REGRESSORSÚnamec                 ó^  — t           |          } |dd¬¦  «        }|                     t          t          ¦  «         t	          |                     t          ¦  «        t          ¦  «         dt          |¦  «        k    sJ ‚ |ddd¬¦  «        }|                     t          t          ¦  «         t	          |                     t          ¦  «        t          ¦  «         dt          |¦  «        k    sJ ‚| 	                    t          ¦  «        }|j
        t          t          ¦  «        |j        fk    sJ ‚dS )z&Check classification on a toy dataset.r5   r1   ©Ún_estimatorsr<   )rE   Úmax_featuresr<   N)ÚFOREST_CLASSIFIERSÚfitÚXÚyr&   ÚpredictÚTÚtrue_resultÚlenÚapplyÚshaperE   )rB   ÚForestClassifierÚclfÚleaf_indicess       úa/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/sklearn/ensemble/tests/test_forest.pyÚtest_classification_toyrU   |   sð   € õ *¨$Ô/Ðà
Ð
¨¸Ð
;Ñ
;Ô
;€CØ‡G‚G�A�q�M„M€MÝ�s—{’{¥1‘~”~¥{Ñ3Ô3Ð3Ø•�S‘”Š>ˆ>ˆ>ˆ>à
Ð
¨¸ÈÐ
KÑ
KÔ
K€CØ‡G‚G�A�q�M„M€MÝ�s—{’{¥1‘~”~¥{Ñ3Ô3Ð3Ø•�S‘”Š>ˆ>ˆ>ˆ>ð —9’9�Q‘<”<€LØÔ¥#¥a¡&¤&¨#Ô*:Ð!;Ò;Ð;Ð;Ð;Ð;Ð;ó    Ú	criterion)ÚginiÚlog_lossc                 óþ  — t           |          } |d|d¬¦  «        }|                     t          j        t          j        ¦  «         |                     t          j        t          j        ¦  «        }|dk    sJ d||fz  ¦   «         ‚ |d|dd¬¦  «        }|                     t          j        t          j        ¦  «         |                     t          j        t          j        ¦  «        }|dk    sJ d||fz  ¦   «         ‚d S )	Nr5   r1   ©rE   rW   r<   çÍÌÌÌÌÌì?z'Failed with criterion %s and score = %fr2   ©rE   rW   rF   r<   ç      à?)rG   rH   ÚirisÚdataÚtargetÚscore)rB   rW   rQ   rR   rb   s        rT   Útest_iris_criterionrc   �   sè   € õ *¨$Ô/Ðà
Ð
¨°iÈaÐ
PÑ
PÔ
P€CØ‡G‚G�DŒI•t”{Ñ#Ô#Ð#Ø�IŠI•d”i¥¤Ñ-Ô-€EØ�3Š;ˆ;ˆ;ÐAÀYÐPUÐDVÑV‰;Œ;ˆ;à
Ð
Ø 9¸1È1ðñ ô €Cð ‡G‚G�DŒI•t”{Ñ#Ô#Ð#Ø�IŠI•d”i¥¤Ñ-Ô-€EØ�3Š;ˆ;ˆ;ÐAÀYÐPUÐDVÑV‰;Œ;ˆ;ˆ;ˆ;rV   )Úsquared_errorÚabsolute_errorÚfriedman_msec                 ó®  — t           |          } |d|d¬¦  «        }|                     t          t          ¦  «         |                     t          t          ¦  «        }|dk    sJ d||fz  ¦   «         ‚ |d|dd¬¦  «        }|                     t          t          ¦  «         |                     t          t          ¦  «        }|dk    sJ d	||fz  ¦   «         ‚d S )
Né   r1   r[   gÃõ(\�Âí?z:Failed with max_features=None, criterion %s and score = %fé   r]   gq=
×£pí?z7Failed with max_features=6, criterion %s and score = %f)ÚFOREST_REGRESSORSrH   ÚX_regÚy_regrb   )rB   rW   ÚForestRegressorÚregrb   s        rT   Útest_regression_criterionro   £   sæ   € õ (¨Ô-€Oà
ˆ/ q°IÈAÐ
NÑ
NÔ
N€CØ‡G‚G�E•5ÑÔÐØ�IŠI•e�UÑ#Ô#€Eà�ŠˆˆØCØØðGñ ñ 	Œˆð ˆ/Ø )¸!È!ðñ ô €Cð ‡G‚G�E•5ÑÔÐØ�IŠI•e�UÑ#Ô#€EØ�4Š<ˆ<ˆ<ÐRØØðVñ ‰<Œ<ˆ<ˆ<ˆ<rV   c            	      ó¢  — t           j                             d¦  «        } d\  }}}t          j        ||z   || ¬¦  «        }|                      dd|¬¦  «        t          j        |d¬¦  «        z  }|                      t          j        ||z  ¦  «        ¬	¦  «        }t          |||| ¬
¦  «        \  }}}	}
t          ddd| ¬¦  «        }t          ddd| ¬¦  «        }|                     ||	¦  «         |                     ||	¦  «         t          d¬¦  «                             ||	¦  «        }||	df||
dffD ]œ\  }}}t          ||                     |¦  «        ¦  «        }t          |t          j        |                     |¦  «        dd¦  «        ¦  «        }t          ||                     |¦  «        ¦  «        }|dk    r||k     sJ ‚|d|z  k     sJ ‚Œ�dS )zžTest that random forest with poisson criterion performs better than
    mse for a poisson target.

    There is a similar test for DecisionTreeRegressor.
    é*   ©r4   r4   r5   r=   r/   r2   ©ÚlowÚhighÚsizer   ©Úaxis©Úlam©Ú	test_sizer<   Úpoissonr5   Úsqrt)rW   Úmin_samples_leafrF   r<   rd   Úmean)ÚstrategyÚtrainÚtestg�íµ ÷Æ°>Nçš™™™™™é?)ÚnpÚrandomÚRandomStater   Úmake_low_rank_matrixÚuniformÚmaxr}   Úexpr   r   rH   r   r   rK   Úclip)ÚrngÚn_trainÚn_testr7   rI   ÚcoefrJ   ÚX_trainÚX_testÚy_trainÚy_testÚ
forest_poiÚ
forest_mseÚdummyÚ	data_nameÚ
metric_poiÚ
metric_mseÚmetric_dummys                     rT   Útest_poisson_vs_mserœ   À   s  € õ Œ)×
Ò
 Ñ
#Ô
#€CØ".Ñ€GˆV�ZÝÔ%Ø˜FÑ"¨zÈð	ñ 	ô 	€Að
 �;Š;˜2 A¨Jˆ;Ñ7Ô7½"¼&ÀÈÐ:KÑ:KÔ:KÑK€DØ�Š�œ˜q 4™xÑ(Ô(ˆÑ)Ô)€AÝ'7Ø	ˆ1˜¨Sð(ñ (ô (Ñ$€GˆV�W˜fõ 'Ø¨b¸vÐTWðñ ô €Jõ 'Ø!ØØØð	ñ ô €Jð ‡N‚N�7˜GÑ$Ô$Ð$Ø‡N‚N�7˜GÑ$Ô$Ð$Ý FÐ+Ñ+Ô+×/Ò/°¸ÑAÔA€Eà$ g¨wÐ7¸&À&È&Ð9QÐRð /ð /‰ˆˆ1ˆiÝ*¨1¨j×.@Ò.@ÀÑ.CÔ.CÑDÔDˆ
õ +Ø�rŒw�z×)Ò)¨!Ñ,Ô,¨d°DÑ9Ô9ñ
ô 
ˆ
õ -¨Q°·²¸aÑ0@Ô0@ÑAÔAˆð ˜ÒÐØ 
Ò*Ð*Ð*Ð*Ø˜C ,Ñ.Ò.Ð.Ð.Ð.Ð.ð#/ð /rV   )r}   rd   c                 ó,  — t           j                             d¦  «        }d\  }}}t          j        ||z   ||¬¦  «        }|                     dd|¬¦  «        t          j        |d¬¦  «        z  }|                     t          j        ||z  ¦  «        ¬	¦  «        }t          | d
d|¬¦  «        }| 
                    ||¦  «         t          j        |                     |¦  «        ¦  «        t          j        t          j        |¦  «        ¦  «        k    sJ ‚dS )z9 "Test that sum(y_pred)==sum(y_true) on the training set.rq   rr   r=   r/   r2   rs   r   rw   ry   r5   F)rW   rE   Ú	bootstrapr<   N)r…   r†   r‡   r   rˆ   r‰   rŠ   r}   r‹   r   rH   ÚsumrK   ÚpytestÚapprox)	rW   r�   rŽ   r�   r7   rI   r�   rJ   rn   s	            rT   Ú#test_balance_property_random_forestr¢   õ   s  € õ Œ)×
Ò
 Ñ
#Ô
#€CØ".Ñ€GˆV�ZÝÔ%Ø˜FÑ"¨zÈð	ñ 	ô 	€Að �;Š;˜2 A¨Jˆ;Ñ7Ô7½"¼&ÀÈÐ:KÑ:KÔ:KÑK€DØ�Š�œ˜q 4™xÑ(Ô(ˆÑ)Ô)€Aå
Ø¨"¸ÈCðñ ô €Cð ‡G‚GˆAˆq�M„M€MåŒ6�#—+’+˜a‘.”.Ñ!Ô!¥V¤]µ2´6¸!±9´9Ñ%=Ô%=Ò=Ð=Ð=Ð=Ð=Ð=rV   c                 óþ   — t          |          d¬¦  «        }t          |d¦  «        rJ ‚t          |d¦  «        rJ ‚|                     g d¢g d¢gddg¦  «         t          |d¦  «        rJ ‚t          |d¦  «        rJ ‚d S )	Nr   ©r<   Úclasses_Ú
n_classes_©r1   r2   r3   ©é   rh   ri   r1   r2   )rj   ÚhasattrrH   )rB   Úrs     rT   Útest_regressor_attributesr¬   	  sœ   € õ 	˜$Ô¨QÐ/Ñ/Ô/€AÝ�q˜*Ñ%Ô%Ð%Ð%Ð%Ý�q˜,Ñ'Ô'Ð'Ð'Ð'à‡E‚Eˆ9ˆ9ˆ9�i�i�iÐ
  1 a &Ñ)Ô)Ð)Ý�q˜*Ñ%Ô%Ð%Ð%Ð%Ý�q˜,Ñ'Ô'Ð'Ð'Ð'Ð'Ð'rV   c           	      óv  — t           |          }t          j        d¬¦  «        5   |dddd¬¦  «        }|                     t          j        t          j        ¦  «         t          t          j        | 	                    t          j        ¦  «        d¬¦  «        t          j
        t          j        j        d         ¦  «        ¦  «         t          | 	                    t          j        ¦  «        t          j        |                     t          j        ¦  «        ¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚignore©Údivider5   r1   )rE   r<   rF   Ú	max_depthrw   r   )rG   r…   ÚerrstaterH   r_   r`   ra   r%   rŸ   Úpredict_probaÚonesrP   r‹   Úpredict_log_proba)rB   rQ   rR   s      rT   Útest_probabilityr¶     sM  € õ *¨$Ô/ÐÝ	Œ˜HÐ	%Ñ	%Ô	%ð 

ð 

ØÐØ¨!¸!Àqð
ñ 
ô 
ˆð 	�Š•”	�4œ;Ñ'Ô'Ð'Ý!ÝŒF�3×$Ò$¥T¤YÑ/Ô/°aÐ8Ñ8Ô8½"¼'Å$Ä)Ä/ÐRSÔBTÑ:UÔ:Uñ	
ô 	
ð 	
õ 	"Ø×Ò�dœiÑ(Ô(­"¬&°×1FÒ1FÅtÄyÑ1QÔ1QÑ*RÔ*Rñ	
ô 	
ð 	
ð

ð 

ð 

ñ 

ô 

ð 

ð 

ð 

ð 

ð 

ð 

ð 

øøøð 

ð 

ð 

ð 

ð 

ð 

s   £C>D.Ä.D2Ä5D2Údtypezname, criterionrX   rY   )rd   rf   re   c                 óÖ  — d}|t           v r|dk    rd}t                               | d¬¦  «        }t                               | d¬¦  «        }t          |         } |d|d¬¦  «        }|                     ||¦  «         |j        }t          j        |d	k    ¦  «        }	|j	        d         dk    sJ ‚|	d
k    sJ ‚t          j
        |d d
…         d	k    ¦  «        sJ ‚|j        }|                     d¬¦  «         |j        }
t          ||
¦  «         t          d¦  «                             ddt          |¦  «        ¦  «        } |dd|¬¦  «        }|                     |||¬¦  «         |j        }t          j
        |dk    ¦  «        sJ ‚dD ]a} |dd|¬¦  «        }|                     ||||z  ¬¦  «         |j        }t          j        ||z
  ¦  «                             ¦   «         |k     sJ ‚Œbd S )Nç{®Gáz„?re   çš™™™™™©?F©Úcopyr5   r   r[   çš™™™™™¹?r3   r2   ©Ún_jobsr1   )rE   r<   rW   ©Úsample_weightç        )r^   éd   )rj   ÚX_largeÚastypeÚy_larger@   rH   Úfeature_importances_r…   rŸ   rP   ÚallÚ
set_paramsr%   r.   ÚrandintrN   Úabsr€   )r·   rB   rW   Ú	tolerancerI   rJ   ÚForestEstimatorÚestÚimportancesÚn_importantÚimportances_parallelrÁ   ÚscaleÚimportances_biss                 rT   Útest_importancesrÔ   &  s$  € ð €IØÕ Ð Ð  YÐ2BÒ%BÐ%BØˆ	õ 	�Š�u 5ˆÑ)Ô)€AÝ�Š�u 5ˆÑ)Ô)€Aå'¨Ô-€Oà
ˆ/ r°YÈQÐ
OÑ
OÔ
O€CØ‡G‚GˆAˆq�M„M€MØÔ*€Kõ ”&˜ sÒ*Ñ+Ô+€KØÔ˜QÔ 2Ò%Ð%Ð%Ð%Ø˜!ÒÐÐÐÝŒ6�+˜b˜q˜b”/ CÒ'Ñ(Ô(Ð(Ð(Ð(ð Ô*€KØ‡N‚N˜!€NÑÔÐØÔ3ÐÝ˜kÐ+?Ñ@Ô@Ð@õ ' qÑ)Ô)×1Ò1°!°R½¸Q¹¼Ñ@Ô@€MØ
ˆ/ r¸ÀYÐ
OÑ
OÔ
O€CØ‡G‚GˆAˆq €GÑ.Ô.Ð.ØÔ*€KÝŒ6�+ Ò$Ñ%Ô%Ð%Ð%Ð%àð Hð HˆØˆo¨2¸AÈÐSÑSÔSˆØ�Š��1 E¨MÑ$9ˆÑ:Ô:Ð:ØÔ2ˆÝŒv�k OÑ3Ñ4Ô4×9Ò9Ñ;Ô;¸iÒGÐGÐGÐGÐGð	Hð HrV   c                  ó¶  ‡	‡
— d„ Š	d„ Š
ˆ	ˆ
fd„} t          j        g d¢g d¢g d¢g d¢g d¢g d	¢g d
¢g d¢g d¢g d¢g
¦  «        }t          j        |d d …d d…f         t          ¬¦  «        |d d …df         }}|j        d         }t          j        |¦  «        }t          |¦  «        D ]} | |||¦  «        ||<   Œt          dddd¬¦  «                             ||¦  «        }t          d„ |j	        D ¦   «         ¦  «        |j
        z  }t           ‰
|¦  «        t          |¦  «        ¦  «         t          j        ||z
  ¦  «                             ¦   «         dk     sJ ‚d S )Nc                 óv   — | dk     s| |k    rdn+t          t          |¦  «        t          | ¦  «        d¬¦  «        S )Nr   T)Úexact)r
   Úint)ÚkÚns     rT   Úbinomialz-test_importances_asymptotic.<locals>.binomial]  s7   € Ø˜’E�E˜Q šU˜Uˆqˆq­­S°©V¬VµS¸±V´VÀ4Ð(HÑ(HÔ(HÐHrV   c                 ó¦   — t          | ¦  «        }d}t          j        | ¦  «        D ]*}d|z  |z  }|dk    r||t          j        |¦  «        z  z  }Œ+|S )NrÂ   ç      ð?r   )rN   r…   ÚbincountÚlog2)Úsamplesr6   ÚentropyÚcountÚps        rT   rá   z,test_importances_asymptotic.<locals>.entropy`  s^   € Ý˜‘L”Lˆ	Øˆå”[ Ñ)Ô)ð 	*ð 	*ˆEØ�e‘˜iÑ'ˆAØ�1ŠuˆuØ˜1�rœw q™zœz™>Ñ)�øàˆrV   c           
      óP  •‡‡‡‡— ‰j         \  }}t          t          |¦  «        ¦  «        }|                     | ¦  «         ˆfd„t          |¦  «        D ¦   «         Šd}t          |¦  «        D �]7}d ‰||¦  «        ||z
  z  z  }t	          ||¦  «        D �]Št          ˆˆfd„t          |¦  «        D ¦   «         Ž D ]æ}	t          j        |t          ¬¦  «        }
t          |¦  «        D ]!}|
‰d d …‰|         f         |	|         k    z  }
Œ"‰|
d d …f         ||
         }}t          |¦  «        Š‰dk    rog }‰|          D ]-}|d d …| f         |k    }| 
                    ||         ¦  «         Œ.||d‰z  |z  z   ‰|¦  «        t          ˆˆfd„|D ¦   «         ¦  «        z
  z  z  }Œç�Œ�Œ9|S )Nc                 óL   •— g | ] }t          j        ‰d d …|f         ¦  «        ‘Œ!S )N)r…   Úunique)Ú.0ÚirI   s     €rT   ú
<listcomp>zGtest_importances_asymptotic.<locals>.mdi_importance.<locals>.<listcomp>p  s/   ø€ Ð@Ð@Ð@¨•"”)˜A˜a˜a˜a ˜dœGÑ$Ô$Ð@Ð@Ð@rV   rÂ   rÝ   c                 ó,   •— g | ]}‰‰|                  ‘ŒS © rë   )rç   ÚjÚBÚvaluess     €€rT   ré   zGtest_importances_asymptotic.<locals>.mdi_importance.<locals>.<listcomp>{  s!   ø€ Ð"BÐ"BÐ"B°A 6¨!¨A¬$¤<Ð"BÐ"BÐ"BrV   ©r·   r   c                 óL   •— g | ] } ‰|¦  «        t          |¦  «        z  ‰z  ‘Œ!S rë   )rN   )rç   Úcrá   Ún_samples_bs     €€rT   ré   zGtest_importances_asymptotic.<locals>.mdi_importance.<locals>.<listcomp>‘  sA   ø€ ð %&ð %&ð %&à,-ð )0¨°©
¬
µS¸±V´VÑ(;¸kÑ(Ið%&ð %&ð %&rV   )rP   ÚlistÚrangeÚpopr   r   r…   r´   ÚboolrN   ÚappendrŸ   )ÚX_mrI   rJ   r6   r7   ÚfeaturesÚimprÙ   r�   ÚbÚmask_brì   ÚX_Úy_ÚchildrenÚxiÚmask_xirí   rò   rî   rÛ   rá   s    `               @@@€€rT   Úmdi_importancez3test_importances_asymptotic.<locals>.mdi_importancek  s&  øøøøø€ Ø !¤Ñˆ	�:å�˜jÑ)Ô)Ñ*Ô*ˆØ�Š�SÑÔÐØ@Ð@Ð@Ð@­e°JÑ.?Ô.?Ð@Ñ@Ô@ˆàˆå�zÑ"Ô"ð #	ñ #	ˆAà˜(˜( 1 jÑ1Ô1°ZÀ!±^ÑDÑEˆDõ " (¨AÑ.Ô.ð ñ �å Ð"BÐ"BÐ"BÐ"BÐ"B½¸q¹¼Ð"BÑ"BÔ"BÐCð ð �AÝœW YµdÐ;Ñ;Ô;�Få" 1™XœXð 5ð 5˜Ø ! A A A q¨¤t G¤*°°!´Ò"4Ñ4˜˜à˜v q q q˜yœ\¨1¨V¬9˜�BÝ"% b¡'¤'�Kà" Q’�Ø#%˜à"(¨¤+ð 9ð 9˜BØ&(¨¨¨¨C¨¤j°BÒ&6˜GØ$ŸOšO¨B¨w¬KÑ8Ô8Ð8Ð8àØ Ø" [Ñ0°9Ñ<ñ>ð !( ¨¡¤Ý"%ð%&ð %&ð %&ð %&ð %&à19ð%&ñ %&ô %&ñ#"ô #"ñ!"ñ
ñ˜øñ!ñð@ ˆ
rV   )r   r   r1   r   r   r1   r   r1   )r1   r   r1   r1   r1   r   r1   r2   )r1   r   r1   r1   r   r1   r1   r3   )r   r1   r1   r1   r   r1   r   r©   )r1   r1   r   r1   r   r1   r1   rh   )r1   r1   r   r1   r1   r1   r1   ri   )r1   r   r1   r   r   r1   r   é   )r1   r1   r1   r1   r1   r1   r1   é   )r1   r1   r1   r1   r   r1   r1   é	   )r1   r1   r1   r   r1   r1   r1   r   r  rï   r1   r4   rY   r   )rE   rF   rW   r<   c              3   óL   K  — | ]}|j                              d ¬¦  «        V — Œ dS )F)Ú	normalizeN)Útree_Úcompute_feature_importances©rç   Útrees     rT   ú	<genexpr>z.test_importances_asymptotic.<locals>.<genexpr>¹  sI   è è € ð 
ð 
àð ŒJ×2Ò2¸UÐ2ÑCÔCð
ð 
ð 
ð 
ð 
ð 
rV   r¹   )r…   Úarrayrö   rP   Úzerosrô   r   rH   rŸ   Úestimators_rE   r$   rË   r€   )r  r`   rI   rJ   r7   Útrue_importancesrè   rR   rÏ   rÛ   rá   s            @@rT   Útest_importances_asymptoticr  X  sÿ  øø€ ð
Ið Ið Ið	ð 	ð 	ð.ð .ð .ð .ð .ð .õ` Œ8à$Ð$Ð$Ø$Ð$Ð$Ø$Ð$Ð$Ø$Ð$Ð$Ø$Ð$Ð$Ø$Ð$Ð$Ø$Ð$Ð$Ø$Ð$Ð$Ø$Ð$Ð$Ø$Ð$Ð$ð	
ñô €Dõ Œ8�D˜˜˜˜B˜Q˜B˜”K¥tÐ,Ñ,Ô,¨d°1°1°1°a°4¬j€q€AØ”˜”€Jõ ”x 
Ñ+Ô+Ðå�:ÑÔð 6ð 6ˆØ,˜n¨Q°°1Ñ5Ô5Ð˜ÑÐõ Ø q°JÈQðñ ô ç	‚cˆ!ˆQ�i„ið õ
 	ð 
ð 
àœð
ñ 
ô 
ñ 	
ô 	
ð Ô
ñ		ð õ ˜˜ ™
œ
¥C¨Ñ$4Ô$4Ñ5Ô5Ð5ÝŒ6Ð" [Ñ0Ñ1Ô1×6Ò6Ñ8Ô8¸4Ò?Ð?Ð?Ð?Ð?Ð?rV   c                 óÜ   — d                      | ¦  «        }t          j        t          |¬¦  «        5  t	          t          |          ¦   «         d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzfThis {} instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.©ÚmatchrÇ   )Úformatr    Úraisesr   Úgetattrr@   )rB   Úerr_msgs     rT   Ú!test_unfitted_feature_importancesr  Å  sÃ   € ð	=ß=CºVÀD¹\¼\ð õ 
Œ•~¨WÐ	5Ñ	5Ô	5ð Cð CÝÕ! $Ô'Ñ)Ô)Ð+AÑBÔBÐBðCð Cð Cñ Cô Cð Cð Cð Cð Cð Cð Cð Cøøøð Cð Cð Cð Cð Cð Cs   ±#A!Á!A%Á(A%rQ   ÚX_type)r  Ú
sparse_csrÚ
sparse_csczX, y, lower_bound_accuracyé,  )r6   Ú	n_classesr<   r\   éè  ri   )r6   r  r8   r<   gÍÌÌÌÌÌä?g
×£p=
Ç?Ú	oob_scoreTÚmicro)Úaveragec                 ó\  — t          ||¬¦  «        }t          ||dd¬¦  «        \  }}}}	 | dd|d¬¦  «        }
t          |
d¦  «        rJ ‚t          |
d	¦  «        rJ ‚|
                     ||¦  «         t	          |¦  «        r  ||	|
                     |¦  «        ¦  «        }n#|
                     ||	¦  «        }|
j        |k    sJ ‚t          ||
j        z
  ¦  «        }|d
k    sJ d|›d�¦   «         ‚t          |
d¦  «        sJ ‚t          |
d¦  «        rJ ‚t          |
d	¦  «        sJ ‚|j	        dk    r*|j
        d         t          t          |¦  «        ¦  «        f}n?|j
        d         t          t          |dd…df         ¦  «        ¦  «        |j
        d         f}|
j        j
        |k    sJ ‚dS )z5Check that OOB score is close to score on a test set.©Úconstructor_namer^   r   r{   é(   T©rE   rž   r   r<   Ú
oob_score_Úoob_decision_function_g)\�Âõ(¼?z	abs_diff=z is greater than 0.11Úoob_prediction_r1   N)r"   r   rª   rH   ÚcallablerK   rb   r(  rË   ÚndimrP   rN   Úsetr)  )rQ   rI   rJ   r  Úlower_bound_accuracyr   r‘   r’   r“   r”   Ú
classifierÚ
test_scoreÚabs_diffÚexpected_shapes                 rT   Útest_forest_classifier_oobr3  Ï  sú  € õ> 	˜1¨vÐ6Ñ6Ô6€AÝ'7Ø	Ø	ØØð	(ñ (ô (Ñ$€GˆV�W˜fð "Ð!ØØØØð	ñ ô €Jõ �z <Ñ0Ô0Ð0Ð0Ð0Ý�zÐ#;Ñ<Ô<Ð<Ð<Ð<à‡N‚N�7˜GÑ$Ô$Ð$Ý�	ÑÔð =Ø�Y˜v z×'9Ò'9¸&Ñ'AÔ'AÑBÔBˆ
ˆ
à×%Ò% f¨fÑ5Ô5ˆ
ØÔ$Ð(<Ò<Ð<Ð<Ð<å�: 
Ô 5Ñ5Ñ6Ô6€HØ�tÒÐÐÐ@ Ð@Ð@Ð@ÑÔÐå�:˜|Ñ,Ô,Ð,Ð,Ð,Ý�zÐ#4Ñ5Ô5Ð5Ð5Ð5Ý�:Ð7Ñ8Ô8Ð8Ð8Ð8à„v�‚{€{Ø!œ-¨Ô*­Cµ°A±´©K¬KÐ8ˆˆà!œ-¨Ô*­Cµ°A°a°a°a¸°d´G±´Ñ,=Ô,=¸q¼wÀq¼zÐJˆØÔ,Ô2°nÒDÐDÐDÐDÐDÐDrV   rm   zX, y, lower_bound_r2)r6   r7   Ú	n_targetsr<   çffffffæ?gš™™™™™á?c                 ó´  — t          ||¬¦  «        }t          ||dd¬¦  «        \  }}}}	 | dd|d¬¦  «        }
t          |
d¦  «        rJ ‚t          |
d	¦  «        rJ ‚|
                     ||¦  «         t	          |¦  «        r  ||	|
                     |¦  «        ¦  «        }n#|
                     ||	¦  «        }|
j        |k    sJ ‚t          ||
j        z
  ¦  «        d
k    sJ ‚t          |
d¦  «        sJ ‚t          |
d	¦  «        sJ ‚t          |
d¦  «        rJ ‚|j	        dk    r|j
        d         f}n|j
        d         |j	        f}|
j        j
        |k    sJ ‚dS )z\Check that forest-based regressor provide an OOB score close to the
    score on a test set.r$  r^   r   r{   é2   Tr'  r(  r*  r½   r)  r1   N)r"   r   rª   rH   r+  rK   rb   r(  rË   r,  rP   r*  )rm   rI   rJ   r  Úlower_bound_r2r   r‘   r’   r“   r”   Ú	regressorr0  r2  s                rT   Útest_forest_regressor_oobr:    s¯  € õ. 	˜1¨vÐ6Ñ6Ô6€AÝ'7Ø	Ø	ØØð	(ñ (ô (Ñ$€GˆV�W˜fð  �ØØØØð	ñ ô €Iõ �y ,Ñ/Ô/Ð/Ð/Ð/Ý�yÐ"3Ñ4Ô4Ð4Ð4Ð4à‡M‚M�'˜7Ñ#Ô#Ð#Ý�	ÑÔð 6Ø�Y˜v y×'8Ò'8¸Ñ'@Ô'@ÑAÔAˆ
ˆ
à—_’_ V¨VÑ4Ô4ˆ
ØÔ# ~Ò5Ð5Ð5Ð5åˆz˜IÔ0Ñ0Ñ1Ô1°SÒ8Ð8Ð8Ð8å�9˜lÑ+Ô+Ð+Ð+Ð+Ý�9Ð/Ñ0Ô0Ð0Ð0Ð0Ý�yÐ":Ñ;Ô;Ð;Ð;Ð;à„v�‚{€{Ø!œ-¨Ô*Ð,ˆˆà!œ-¨Ô*¨A¬FÐ3ˆØÔ$Ô*¨nÒ<Ð<Ð<Ð<Ð<Ð<rV   rÍ   c                 óà   —  | dddd¬¦  «        }t          j        t          d¬¦  «        5  |                     t          j        t          j        ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zfCheck that a warning is raised when not enough estimator and the OOB
    estimates will be inaccurate.r1   Tr   ©rE   r   rž   r<   z"Some inputs do not have OOB scoresr  N)r    ÚwarnsÚUserWarningrH   r_   r`   ra   )rÍ   Ú	estimators     rT   Útest_forest_oob_warningr@  P  sº   € ð  �ØØØØð	ñ ô €Iõ 
Œ•kÐ)MÐ	NÑ	NÔ	Nð .ð .Ø�Š•d”i¥¤Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .ð .ð .s   «+A#Á#A'Á*A'c                 óè   — t           j        }t           j        }d} | dd¬¦  «        }t          j        t
          |¬¦  «        5  |                     ||¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zaCheck that we raise an error if OOB score is requested without
    activating bootstrapping.
    z6Out of bag estimation only available if bootstrap=TrueTF©r   rž   r  N)r_   r`   ra   r    r  Ú
ValueErrorrH   )rÍ   rI   rJ   r  r?  s        rT   Ú(test_forest_oob_score_requires_bootstraprD  ^  s¸   € õ
 	Œ	€AÝŒ€AØF€GØ�¨$¸%Ð@Ñ@Ô@€IÝ	Œ•z¨Ð	1Ñ	1Ô	1ð ð Ø�Š�a˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÁA'Á'A+Á.A+c                 óš  — t           j                             d¦  «        }t          j        }|                     ddt          j        j        d         df¬¦  «        }t          |¦  «        }|dk    sJ ‚ | dd¬¦  «        }d	}t          j	        t          |¬
¦  «        5  |                     ||¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zwCheck that we raise an error with when requesting OOB score with
    multiclass-multioutput classification target.
    rq   r   rh   r2   rs   zmulticlass-multioutputTrB  z:The type of target cannot be used to compute OOB estimatesr  N)r…   r†   r‡   r_   r`   rÊ   rP   r,   r    r  rC  rH   )rQ   r�   rI   rJ   Úy_typer?  r  s          rT   Ú6test_classifier_error_oob_score_multiclass_multioutputrG  k  s  € õ
 Œ)×
Ò
 Ñ
#Ô
#€CÝŒ	€AØ�Š˜ ­¬¬¸Ô);¸QÐ(?ˆÑ@Ô@€AÝ˜AÑÔ€FØÐ-Ò-Ð-Ð-Ð-Ø Ð ¨4¸4Ð@Ñ@Ô@€IØJ€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð ð Ø�Š�a˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÂC Ã CÃCc           	      ó,  — t           j                             d¦  «        }t          j        }|                     ddt          j        j        d         df¬¦  «        } | dddd¬¦  «        }|                     ||¦  «         t          t          |¦  «        |j
        ¦  «        }|j        d         d	z  }t          j        |dg¦  «        }t          |d
|…         ¦  «        D ]—\  }}	d}
t          j        d¦  «        }|j        D ]l}t          |j        t          |¦  «        |¦  «        }||v rC|
dz  }
||                     |	                     dd¦  «        ¦  «                             ¦   «         z  }Œm||
z  ||<   Œ˜t'          ||j        d
|…         ¦  «         d
S )z”Check that multioutput regression with integral values is not interpreted
    as a multiclass-multioutput target and OOB score can be computed.
    rq   r   r5   r2   rs   é   Tr<  r©   Nr1   r0   )r…   r†   r‡   r_   r`   rÊ   rP   rH   r   rN   Úmax_samplesr  Ú	enumerater  r   r<   rK   ÚreshapeÚsqueezer#   r*  )rm   r�   rI   rJ   r?  Ún_samples_bootstrapÚn_samples_testÚoob_predÚ
sample_idxÚsampleÚn_samples_oobÚoob_pred_sampler  Úoob_unsampled_indicess                 rT   Ú2test_forest_multioutput_integral_regression_targetrV  {  sŸ  € õ
 Œ)×
Ò
 Ñ
#Ô
#€CÝŒ	€AØ�Š˜ ­$¬)¬/¸!Ô*<¸aÐ)@ˆÑAÔA€AØ�Ø 4°4Àaðñ ô €Ið ‡M‚M�!�QÑÔÐå2µ3°q±6´6¸9Ô;PÑQÔQÐØ”W˜Q”Z 1‘_€NÝŒx˜¨Ð+Ñ,Ô,€HÝ'¨¨/¨>¨/Ô(:Ñ;Ô;ð 
?ð 
?Ñˆ
�FØˆÝœ( 1™+œ+ˆØÔ)ð 	Qð 	QˆDÝ$?ØÔ!¥3 q¡6¤6Ð+>ñ%ô %Ð!ð Ð2Ð2Ð2Ø Ñ"�Ø 4§<¢<°·²¸qÀ"Ñ0EÔ0EÑ#FÔ#F×#NÒ#NÑ#PÔ#PÑP�øØ.°Ñ>ˆ�ÑÐÝ�H˜iÔ7¸¸¸ÔHÑIÔIÐIÐIÐIrV   c                 óL  — t          j        t          d¬¦  «        5  t          | ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          ¦   «                              t          t          ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz"got an unexpected keyword argumentr  ©r   zOOB score not supported)r    r  Ú	TypeErrorr   ÚNotImplementedErrorÚ_set_oob_score_and_attributesrI   rJ   rX  s    rT   Ú+test_random_trees_embedding_raise_error_oobr\  ™  s)  € å	Œ•yÐ(LÐ	MÑ	MÔ	Mð 2ð 2Ý yÐ1Ñ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2å	ŒÕ*Ð2KÐ	LÑ	LÔ	Lð Cð CÝÑÔ×<Ò<½QÅÑBÔBÐBðCð Cð Cñ Cô Cð Cð Cð Cð Cð Cð Cð Cøøøð Cð Cð Cð Cð Cð Cs   œ9¹=Á =Á-BÂBÂ Bc                 ó¨   — t          |          ¦   «         }t          |dddœ¦  «        }|                     t          j        t          j        ¦  «         d S )N©r1   r2   )rE   r±   )rG   r   rH   r_   r`   ra   )rB   ÚforestrR   s      rT   Útest_gridsearchr`  ¡  sI   € õ   Ô%Ñ'Ô'€FÝ
�v°ÀVÐLÐLÑ
MÔ
M€CØ‡G‚G�DŒI•t”{Ñ#Ô#Ð#Ð#Ð#rV   c                 óÒ  — | t           v rt          j        }t          j        }n| t          v rt
          }t          }t          |          } |ddd¬¦  «        }|                     ||¦  «         t          |¦  «        dk    sJ ‚| 
                    d¬¦  «         |                     |¦  «        }| 
                    d¬¦  «         |                     |¦  «        }t          ||d¦  «         dS )	z-Check parallel computations in classificationr5   r3   r   ©rE   r¿   r<   r1   r¾   r2   N)rG   r_   r`   ra   rj   rk   rl   r@   rH   rN   rÉ   rK   r%   )rB   rI   rJ   rÍ   r_  Úy1Úy2s          rT   Útest_parallelre  ©  sé   € ð Õ!Ð!Ð!ÝŒIˆÝŒKˆˆØ	Õ"Ð	"Ð	"ÝˆÝˆå'¨Ô-€OØˆ_¨"°QÀQÐGÑGÔG€Fà
‡J‚Jˆq�!ÑÔÐÝˆv‰;Œ;˜"ÒÐÐÐà
×Ò˜QÐÑÔÐØ	�Š˜Ñ	Ô	€BØ
×Ò˜QÐÑÔÐØ	�Š˜Ñ	Ô	€BÝ˜b " aÑ(Ô(Ð(Ð(Ð(rV   c                 ó
  — | t           v r+t          j        d d d…         }t          j        d d d…         }n)| t          v r t
          d d d…         }t          d d d…         }t          |          } |d¬¦  «        }|                     ||¦  «         | 	                    ||¦  «        }t          j        |¦  «        }t          j        |¦  «        }t          |¦  «        |j        k    sJ ‚| 	                    ||¦  «        }||k    sJ ‚d S )Nr2   r   r¤   )rG   r_   r`   ra   rj   rk   rl   r@   rH   rb   ÚpickleÚdumpsÚloadsÚtypeÚ	__class__)	rB   rI   rJ   rÍ   Úobjrb   Úpickle_objectÚobj2Úscore2s	            rT   Útest_picklerp  À  sø   € ð Õ!Ð!Ð!ÝŒI�c�c˜�cŒNˆÝŒK˜˜˜!˜ÔˆˆØ	Õ"Ð	"Ð	"Ý�#�#�A�#ŒJˆÝ�#�#�A�#ŒJˆå'¨Ô-€OØ
ˆ/ qÐ
)Ñ
)Ô
)€CØ‡G‚GˆAˆq�M„M€MØ�IŠI�a˜‰OŒO€EÝ”L Ñ%Ô%€MåŒ<˜Ñ&Ô&€DÝ�‰:Œ:˜œÒ&Ð&Ð&Ð&Ø�ZŠZ˜˜1ÑÔ€FØ�FŠ?ˆ?ˆ?ˆ?ˆ?ˆ?rV   c                 ó*  — ddgddgddgddgddgddgddgddgddgddgddgddgg}ddgddgddgddgddgddgddgddgddgddgddgddgg}ddgddgddgddgg}ddgddgddgddgg}t          |          dd¬¦  «        }|                     ||¦  «                             |¦  «        }t          ||¦  «         | t          v rÑt          j        d	¬
¦  «        5  |                     |¦  «        }t          |¦  «        dk    sJ ‚|d         j	        dk    sJ ‚|d         j	        dk    sJ ‚| 
                    |¦  «        }t          |¦  «        dk    sJ ‚|d         j	        dk    sJ ‚|d         j	        dk    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S d S )Nr/   r0   r1   r2   r   r3   F©r<   rž   r®   r¯   ©r©   r2   ©r©   r©   )r@   rH   rK   r%   rG   r…   r²   r³   rN   rP   rµ   ©	rB   r‘   r“   r’   r”   rÎ   Úy_predÚprobaÚ	log_probas	            rT   Útest_multioutputry  Ö  s~  € ð
 
ˆRˆØ	ˆRˆØ	ˆRˆØ	
ˆAˆØ	
ˆAˆØ	
ˆAˆØ	ˆQˆØ	ˆQˆØ	ˆQˆØ	
ˆBˆØ	
ˆBˆØ	
ˆBˆð€Gð 
ˆQˆØ	ˆQˆØ	ˆQˆØ	
ˆAˆØ	
ˆAˆØ	
ˆAˆØ	ˆQˆØ	ˆQˆØ	ˆQˆØ	
ˆAˆØ	
ˆAˆØ	
ˆAˆð€Gð �2ˆh˜˜A˜  Q ¨!¨R¨Ð1€FØ�1ˆg˜˜1�v  A˜w¨¨A¨Ð/€Få
˜DÔ
!¨q¸EÐ
BÑ
BÔ
B€CØ�WŠW�W˜gÑ&Ô&×.Ò.¨vÑ6Ô6€FÝ˜f fÑ-Ô-Ð-àÕ!Ð!Ð!ÝŒ[ Ð)Ñ)Ô)ð 		0ð 		0Ø×%Ò% fÑ-Ô-ˆEÝ�u‘:”: ’?�?�?�?Ø˜”8”> VÒ+Ð+Ð+Ð+Ø˜”8”> VÒ+Ð+Ð+Ð+à×-Ò-¨fÑ5Ô5ˆIÝ�y‘>”> QÒ&Ð&Ð&Ð&Ø˜Q”<Ô%¨Ò/Ð/Ð/Ð/Ø˜Q”<Ô%¨Ò/Ð/Ð/Ð/Ð/ð		0ð 		0ð 		0ñ 		0ô 		0ð 		0ð 		0ð 		0ð 		0ð 		0ð 		0ð 		0øøøð 		0ð 		0ð 		0ð 		0ð 		0ð 		0ð "Ð!s   ÃB!FÆF
ÆF
c                 ó  — ddgddgddgddgddgddgddgddgddgddgddgddgg}ddgddgddgddgddgddgddgddgddgdd	gdd	gdd	gg}ddgddgddgddgg}ddgddgddgdd	gg}t          |          d
d¬¦  «        }|                     ||¦  «                             |¦  «        }t          ||¦  «         t	          j        d¬¦  «        5  |                     |¦  «        }t          |¦  «        dk    sJ ‚|d
         j        dk    sJ ‚|d         j        dk    sJ ‚| 	                    |¦  «        }t          |¦  «        dk    sJ ‚|d
         j        dk    sJ ‚|d         j        dk    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr/   r0   r1   r2   ÚredÚblueÚgreenÚpurpleÚyellowr   Frr  r®   r¯   rs  rt  )
r@   rH   rK   r&   r…   r²   r³   rN   rP   rµ   ru  s	            rT   Útest_multioutput_stringr€  
  s}  € ð
 
ˆRˆØ	ˆRˆØ	ˆRˆØ	
ˆAˆØ	
ˆAˆØ	
ˆAˆØ	ˆQˆØ	ˆQˆØ	ˆQˆØ	
ˆBˆØ	
ˆBˆØ	
ˆBˆð€Gð 
�ˆØ	�ˆØ	�ˆØ	�'ÐØ	�'ÐØ	�'ÐØ	�ÐØ	�ÐØ	�ÐØ	�(ÐØ	�(ÐØ	�(Ðð€Gð �2ˆh˜˜A˜  Q ¨!¨R¨Ð1€Fà	�ˆØ	�'ÐØ	�ÐØ	�(Ðð	€Fõ ˜DÔ
!¨q¸EÐ
BÑ
BÔ
B€CØ�WŠW�W˜gÑ&Ô&×.Ò.¨vÑ6Ô6€FÝ�v˜vÑ&Ô&Ð&å	Œ˜HÐ	%Ñ	%Ô	%ð 	,ð 	,Ø×!Ò! &Ñ)Ô)ˆÝ�5‰zŒz˜QŠˆˆˆØ�QŒxŒ~ Ò'Ð'Ð'Ð'Ø�QŒxŒ~ Ò'Ð'Ð'Ð'à×)Ò)¨&Ñ1Ô1ˆ	Ý�9‰~Œ~ Ò"Ð"Ð"Ð"Ø˜Œ|Ô! VÒ+Ð+Ð+Ð+Ø˜Œ|Ô! VÒ+Ð+Ð+Ð+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð 	,ð 	,s   ÃB!E=Å=FÆFc                 óÞ  — t           |          } |d¬¦  «                             t          t          ¦  «        }|j        dk    sJ ‚t          |j        ddg¦  «         t          j        t          t          j	        t          ¦  «        dz  f¦  «        j
        } |d¬¦  «                             t          |¦  «        }t          |j        ddg¦  «         t          |j        ddgddgg¦  «         d S )Nr   r¤   r2   r0   r1   r/   )rG   rH   rI   rJ   r¦   r&   r¥   r…   Úvstackr  rL   )rB   rQ   rR   Ú_ys       rT   Útest_classes_shaper„  B  sà   € õ *¨$Ô/Ðð Ð
¨Ð
*Ñ
*Ô
*×
.Ò
.­qµ!Ñ
4Ô
4€CàŒ>˜QÒÐÐÐÝ�s”| b¨! WÑ-Ô-Ð-õ 
Œ•A•r”x¥‘{”{ Q‘Ð'Ñ	(Ô	(Ô	*€BØ
Ð
¨Ð
*Ñ
*Ô
*×
.Ò
.­q°"Ñ
5Ô
5€Cå�s”~¨¨1 vÑ.Ô.Ð.Ý�s”| r¨1 g°°A¨wÐ%7Ñ8Ô8Ð8Ð8Ð8rV   c                  óº   — t          dd¬¦  «        } t          j        d¬¦  «        \  }}|                      |¦  «        }t	          |t
          j        ¦  «        sJ ‚d S )Nr5   F)rE   Úsparse_outputr^   ©Úfactor)r   r   Úmake_circlesÚfit_transformÚ
isinstancer…   Úndarray)ÚhasherrI   rJ   ÚX_transformeds       rT   Útest_random_trees_dense_typer�  U  s`   € õ
 "¨rÀÐGÑGÔG€FÝÔ ¨Ð,Ñ,Ô,�D€A€qØ×(Ò(¨Ñ+Ô+€Mõ �m¥R¤ZÑ0Ô0Ð0Ð0Ð0Ð0Ð0rV   c                  ó  — t          ddd¬¦  «        } t          ddd¬¦  «        }t          j        d¬¦  «        \  }}|                      |¦  «        }|                     |¦  «        }t	          |                     ¦   «         |¦  «         d S )Nr5   Fr   )rE   r†  r<   Tr^   r‡  )r   r   r‰  rŠ  r&   Útoarray)Úhasher_denseÚhasher_sparserI   rJ   ÚX_transformed_denseÚX_transformed_sparses         rT   Útest_random_trees_dense_equalr–  b  s£   € õ
 (Ø u¸1ðñ ô €Lõ )Ø t¸!ðñ ô €Mõ Ô ¨Ð,Ñ,Ô,�D€A€qØ&×4Ò4°QÑ7Ô7ÐØ(×6Ò6°qÑ9Ô9Ðõ Ð+×3Ò3Ñ5Ô5Ð7JÑKÔKÐKÐKÐKrV   c                  ó°  — t          dd¬¦  «        } t          j        d¬¦  «        \  }}|                      |¦  «        }t          dd¬¦  «        } t	          |                      |¦  «                             |¦  «                             ¦   «         |                     ¦   «         ¦  «         |j        d         |j        d         k    sJ ‚t	          | 	                    d¬¦  «        | j
        ¦  «         t          d¬	¦  «        }|                     |¦  «        }t          ¦   «         }|                     ||¦  «         |                     ||¦  «        d
k    sJ ‚d S )NrI  r1   rD   r^   r‡  r   rw   r2   )Ún_componentsrÝ   )r   r   r‰  rŠ  r&   rH   Ú	transformr‘  rP   rŸ   rE   r   r    rb   )r�  rI   rJ   rŽ  ÚsvdÚ	X_reducedÚ
linear_clfs          rT   Útest_random_hasherr�  v  s@  € õ "¨rÀÐBÑBÔB€FÝÔ ¨Ð,Ñ,Ô,�D€A€qØ×(Ò(¨Ñ+Ô+€Mõ "¨rÀÐBÑBÔB€FÝ�v—z’z !‘}”}×.Ò.¨qÑ1Ô1×9Ò9Ñ;Ô;¸]×=RÒ=RÑ=TÔ=TÑUÔUÐUð Ô˜qÔ! Q¤W¨Q¤ZÒ/Ð/Ð/Ð/Ý�}×(Ò(¨aÐ(Ñ0Ô0°&Ô2EÑFÔFÐFÝ
 AÐ
&Ñ
&Ô
&€CØ×!Ò! -Ñ0Ô0€IÝ‘”€JØ‡N‚N�9˜aÑ Ô Ð Ø×Ò˜I qÑ)Ô)¨SÒ0Ð0Ð0Ð0Ð0Ð0rV   Úcsc_containerc                 ó&  — t          j        d¬¦  «        \  }}t          dd¬¦  «        }|                     |¦  «        }|                      | |¦  «        ¦  «        }t	          |                     ¦   «         |                     ¦   «         ¦  «         d S )Nr   r¤   rI  r1   rD   )r   Úmake_multilabel_classificationr   rŠ  r&   r‘  )rž  rI   rJ   r�  rŽ  r•  s         rT   Útest_random_hasher_sparse_datar¡  Ž  s‹   € åÔ2ÀÐBÑBÔB�D€A€qÝ!¨rÀÐBÑBÔB€FØ×(Ò(¨Ñ+Ô+€MØ!×/Ò/°°¸aÑ0@Ô0@ÑAÔAÐÝÐ+×3Ò3Ñ5Ô5°}×7LÒ7LÑ7NÔ7NÑOÔOÐOÐOÐOrV   c                  óP  ‡‡‡	— t          d¦  «        } d\  }}|                      ||¦  «        Š|                      dd|¦  «        Š	ˆˆ	fd„dD ¦   «         }|                      ||¦  «        Šˆfd„|D ¦   «         }t          ||dd …         ¦  «        D ]\  }}t	          ||¦  «         Œd S )	Né!0  )éP   rI  r   r2   c                 ó\   •— g | ](}t          d |d¬¦  «                             ‰‰¦  «        ‘Œ)S )r>   i90  rb  )r   rH   )rç   r¿   r‘   r“   s     €€rT   ré   z'test_parallel_train.<locals>.<listcomp>�  sO   ø€ ð ð ð ð õ 	¨B°vÈEÐRÑRÔR×VÒVØ�Wñ	
ô 	
ðð ð rV   )r1   r2   r3   r  é   é    c                 ó:   •— g | ]}|                      ‰¦  «        ‘ŒS rë   )r³   )rç   rR   r’   s     €rT   ré   z'test_parallel_train.<locals>.<listcomp>¥  s'   ø€ Ð8Ð8Ð8¨Cˆc×Ò Ñ'Ô'Ð8Ð8Ð8rV   r1   )r.   ÚrandnrÊ   Úzipr%   )
r�   r6   r7   ÚclfsÚprobasÚproba1Úproba2r’   r‘   r“   s
          @@@rT   Útest_parallel_trainr¯  —  sã   øøø€ Ý
˜UÑ
#Ô
#€CØ"Ñ€IˆzØ�iŠi˜	 :Ñ.Ô.€GØ�kŠk˜!˜Q 	Ñ*Ô*€Gðð ð ð ð ð +ð	ñ ô €Dð �YŠY�y *Ñ-Ô-€FØ8Ð8Ð8Ð8°4Ð8Ñ8Ô8€FÝ˜f f¨Q¨R¨R¤jÑ1Ô1ð 2ð 2‰ˆ�Ý! &¨&Ñ1Ô1Ð1Ð1ð2ð 2rV   c                  ó   ‡— t          d¦  «        } |                      ddd¬¦  «        }|                      d¦  «        }dŠt          ‰d¬	¦  «                             ||¦  «        }t          t          ¦  «        }|j        D ]S}d
                     d„ t          |j
        j        |j
        j        ¦  «        D ¦   «         ¦  «        }||xx         dz  cc<   ŒTt          ˆfd„|                     ¦   «         D ¦   «         ¦  «        }t          |¦  «        dk    sJ ‚d|d         d         k    sJ ‚d|d         d         k    sJ ‚d|d         d         k    sJ ‚d|d         d         k    sJ ‚|d         d         dk    sJ ‚|d         d         dk    sJ ‚t!          j        d¦  «        }t           j                             ddd¦  «        |d d …df<   t           j                             ddd¦  «        |d d …df<   |                      d¦  «        }t          dd¬¦  «                             ||¦  «        }t          t          ¦  «        }|j        D ]S}d
                     d„ t          |j
        j        |j
        j        ¦  «        D ¦   «         ¦  «        }||xx         dz  cc<   ŒTd„ |                     ¦   «         D ¦   «         }t          |¦  «        dk    sJ ‚d S )Nr£  r   r©   )r  r1   ©rv   r  r4   rq   rD   Ú c              3   óT   K  — | ]#\  }}|d k    rd|t          |¦  «        fz  ndV — Œ$dS ©r   z%d,%d/ú-N©rØ   ©rç   ÚfÚts      rT   r  z$test_distribution.<locals>.<genexpr>¶  óV   è è € ð 
ð 
á��1ð ()¨A¢v vˆX˜�C ™FœF˜Ñ#Ð#°3ð
ð 
ð 
ð 
ð 
ð 
rV   r1   c                 ó*   •— g | ]\  }}d |z  ‰z  |f‘ŒS )rÝ   rë   )rç   r  râ   Ún_treess      €rT   ré   z%test_distribution.<locals>.<listcomp>½  s+   ø€ ÐWÐWÐW¹¸¸e�s˜U‘{ WÑ,¨dÐ3ÐWÐWÐWrV   rh   gš™™™™™É?r2   r3   ç333333Ó?z0,1/0,0/--0,2/--)r  r2   )rF   r<   c              3   óT   K  — | ]#\  }}|d k    rd|t          |¦  «        fz  ndV — Œ$dS r´  r¶  r·  s      rT   r  z$test_distribution.<locals>.<genexpr>Õ  rº  rV   c                 ó   — g | ]	\  }}||f‘Œ
S rë   rë   )rç   r  râ   s      rT   ré   z%test_distribution.<locals>.<listcomp>Ü  s    € Ð@Ð@Ð@¡  u��tˆ}Ð@Ð@Ð@rV   r  )r.   rÊ   Úrandr   rH   r   rØ   r  Újoinrª  r  ÚfeatureÚ	thresholdÚsortedÚitemsrN   r…   Úemptyr†   )r�   rI   rJ   rn   Úuniquesr  r¼  s         @rT   Útest_distributionrÈ  ª  só  ø€ Ý
˜UÑ
#Ô
#€Cð 	�Š�A�q˜yˆÑ)Ô)€AØ�Š�‰Œ€AØ€Gå
¨7ÀÐ
DÑ
DÔ
D×
HÒ
HÈÈAÑ
NÔ
N€Cå�#ÑÔ€GØ”ð ð ˆØ�wŠwð 
ð 
å˜DœJÔ.°´
Ô0DÑEÔEð
ñ 
ô 
ñ 
ô 
ˆð
 	�ˆˆŒ˜Ñˆˆ‰ˆåÐWÐWÐWÐWÀwÇ}Â}ÁÄÐWÑWÔWÑXÔX€Gõ ˆw‰<Œ<˜1ÒÐÐÐØ�'˜!”*˜Q”-ÒÐÐÐØ�'˜!”*˜Q”-ÒÐÐÐØ�'˜!”*˜Q”-ÒÐÐÐØ�'˜!”*˜Q”-ÒÐÐÐØ�1Œ:�aŒ=˜3ÒÐÐÐØ�1Œ:�aŒ=Ð.Ò.Ð.Ð.Ð.õ 	Œ�ÑÔ€AÝŒi×Ò  1 dÑ+Ô+€A€a€a€aˆ€d�GÝŒi×Ò  1 dÑ+Ô+€A€a€a€aˆ€d�GØ�Š�‰Œ€Aå
¨1¸1Ð
=Ñ
=Ô
=×
AÒ
AÀ!ÀQÑ
GÔ
G€Cå�#ÑÔ€GØ”ð ð ˆØ�wŠwð 
ð 
å˜DœJÔ.°´
Ô0DÑEÔEð
ñ 
ô 
ñ 
ô 
ˆð
 	�ˆˆŒ˜Ñˆˆ‰ˆà@Ð@°·²±´Ð@Ñ@Ô@€GÝˆw‰<Œ<˜1ÒÐÐÐÐÐrV   c                 óZ  — t           t          }}t          |          } |dddd¬¦  «                             ||¦  «        }|j        d                              ¦   «         dk    sJ ‚ |ddd¬¦  «                             ||¦  «        }|j        d                              ¦   «         dk    sJ ‚d S )Nr1   r©   r   )r±   Úmax_leaf_nodesrE   r<   )r±   rE   r<   )Úhastie_XÚhastie_yr@   rH   r  Ú	get_depth©rB   rI   rJ   rÍ   rÎ   s        rT   Útest_max_leaf_nodes_max_depthrÏ  à  s¼   € å•X€q€Aõ (¨Ô-€OØ
ˆ/Ø A°AÀAðñ ô ç	‚cˆ!ˆQ�i„ið ð Œ?˜1Ô×'Ò'Ñ)Ô)¨QÒ.Ð.Ð.Ð.à
ˆ/ A°AÀAÐ
FÑ
FÔ
F×
JÒ
JÈ1ÈaÑ
PÔ
P€CØŒ?˜1Ô×'Ò'Ñ)Ô)¨QÒ.Ð.Ð.Ð.Ð.Ð.rV   c                 óÌ  — t           t          }}t          |          } |ddd¬¦  «        }|                     ||¦  «         |j        d         j        j        dk    }|j        d         j        j        |         }t          j	        |¦  «        t          |¦  «        dz  dz
  k    sJ d                     | ¦  «        ¦   «         ‚ |ddd¬¦  «        }|                     ||¦  «         |j        d         j        j        dk    }|j        d         j        j        |         }t          j	        |¦  «        t          |¦  «        dz  dz
  k    sJ d                     | ¦  «        ¦   «         ‚d S )Nr5   r1   r   )Úmin_samples_splitrE   r<   r0   r^   úFailed with {0})rË  rÌ  r@   rH   r  r  Úchildren_leftÚn_node_samplesr…   ÚminrN   r  )rB   rI   rJ   rÍ   rÎ   Únode_idxÚnode_sampless          rT   Útest_min_samples_splitrØ  ï  sG  € å•X€q€AÝ'¨Ô-€Oà
ˆ/¨B¸QÈQÐ
OÑ
OÔ
O€CØ‡G‚GˆAˆq�M„M€MØŒ˜qÔ!Ô'Ô5¸Ò;€HØ”? 1Ô%Ô+Ô:¸8ÔD€LåŒ6�,ÑÔ¥# a¡&¤&¨3¡,°Ñ"2Ò2Ð2Ð2Ð4E×4LÒ4LÈTÑ4RÔ4RÑ2Ô2Ð2à
ˆ/¨C¸aÈaÐ
PÑ
PÔ
P€CØ‡G‚GˆAˆq�M„M€MØŒ˜qÔ!Ô'Ô5¸Ò;€HØ”? 1Ô%Ô+Ô:¸8ÔD€LåŒ6�,ÑÔ¥# a¡&¤&¨3¡,°Ñ"2Ò2Ð2Ð2Ð4E×4LÒ4LÈTÑ4RÔ4RÑ2Ô2Ð2Ð2Ð2rV   c                 óÚ  — t           t          }}t          |          } |ddd¬¦  «        }|                     ||¦  «         |j        d         j                             |¦  «        }t          j        |¦  «        }||dk             }t          j	        |¦  «        dk    sJ d 
                    | ¦  «        ¦   «         ‚ |ddd¬¦  «        }|                     ||¦  «         |j        d         j                             |¦  «        }t          j        |¦  «        }||dk             }t          j	        |¦  «        t          |¦  «        dz  dz
  k    sJ d 
                    | ¦  «        ¦   «         ‚d S )Nrh   r1   r   )r   rE   r<   r©   rÒ  g      Ð?)rË  rÌ  r@   rH   r  r  rO   r…   rÞ   rÕ  r  rN   )rB   rI   rJ   rÍ   rÎ   ÚoutÚnode_countsÚ
leaf_counts           rT   Útest_min_samples_leafrÝ    sT  € å•X€q€Aõ (¨Ô-€Oà
ˆ/¨1¸1È1Ð
MÑ
MÔ
M€CØ‡G‚GˆAˆq�M„M€MØ
Œ/˜!Ô
Ô
"×
(Ò
(¨Ñ
+Ô
+€CÝ”+˜cÑ"Ô"€Kà˜[¨AÒ-Ô.€JÝŒ6�*ÑÔ Ò!Ð!Ð!Ð#4×#;Ò#;¸DÑ#AÔ#AÑ!Ô!Ð!à
ˆ/¨4¸aÈaÐ
PÑ
PÔ
P€CØ‡G‚GˆAˆq�M„M€MØ
Œ/˜!Ô
Ô
"×
(Ò
(¨Ñ
+Ô
+€CÝ”+˜cÑ"Ô"€Kà˜[¨AÒ-Ô.€JÝŒ6�*ÑÔ¥ A¡¤¨¡°Ñ 1Ò1Ð1Ð1Ð3D×3KÒ3KÈDÑ3QÔ3QÑ1Ô1Ð1Ð1Ð1rV   c                 óŠ  — t           t          }}t          |          }t          j                             d¦  «        }|                     |j        d         ¦  «        }t          j        |¦  «        }t          j	        ddd¦  «        D ]½} ||dd¬¦  «        }d| v rd|_
        |                     |||¬¦  «         |j        d         j                             |¦  «        }	t          j        |	|¬	¦  «        }
|
|
dk             }t          j        |¦  «        ||j        z  k    s#J d
                     | |j        ¦  «        ¦   «         ‚Œ¾d S )Nr   r^   ri   r1   )Úmin_weight_fraction_leafrE   r<   ÚRandomForestFrÀ   )Úweightsz,Failed with {0} min_weight_fraction_leaf={1})rË  rÌ  r@   r…   r†   r‡   rÀ  rP   rŸ   Úlinspacerž   rH   r  r  rO   rÞ   rÕ  rß  r  )rB   rI   rJ   rÍ   r�   rá  Útotal_weightÚfracrÎ   rÚ  Únode_weightsÚleaf_weightss               rT   Útest_min_weight_fraction_leafrç    sL  € å•X€q€Aõ (¨Ô-€OÝ
Œ)×
Ò
 Ñ
"Ô
"€CØ�hŠh�q”w˜q”zÑ"Ô"€GÝ”6˜'‘?”?€Lõ ”˜A˜s AÑ&Ô&ð 
ð 
ˆØˆoØ%)¸Èð
ñ 
ô 
ˆð ˜TÐ!Ð!Ø!ˆCŒMà�Š��1 GˆÑ,Ô,Ð,ØŒo˜aÔ Ô&×,Ò,¨QÑ/Ô/ˆÝ”{ 3°Ð8Ñ8Ô8ˆà# L°AÒ$5Ô6ˆåŒF�<Ñ Ô  L°3Ô3OÑ$OÒOÐOÐOØ9×@Ò@Ø�#Ô.ñ
ô 
ñ PÔOÐOÐOð
ð 
rV   Úsparse_containerc                 ó€  — t          j        dd¬¦  «        \  }}t          |          } |dd¬¦  «                             ||¦  «        } |dd¬¦  «                              ||¦  «        |¦  «        }t	          |                     |¦  «        |                     |¦  «        ¦  «         | t          v s	| t          v rPt	          |                     |¦  «        |                     |¦  «        ¦  «         t	          |j	        |j	        ¦  «         | t          v rlt	          | 
                    |¦  «        | 
                    |¦  «        ¦  «         t	          |                     |¦  «        |                     |¦  «        ¦  «         | t          v r¶t	          |                     |¦  «                             ¦   «         |                     |¦  «                             ¦   «         ¦  «         t	          |                     |¦  «                             ¦   «         |                     |¦  «                             ¦   «         ¦  «         d S d S )Nr   r7  )r<   r6   r2   )r<   r±   )r   r   r@   rH   r%   rO   rG   rj   rK   rÇ   r³   rµ   ÚFOREST_TRANSFORMERSr™  r‘  rŠ  )rB   rè  rI   rJ   rÍ   ÚdenseÚsparses          rT   Útest_sparse_inputrí  ;  s  € õ
 Ô2ÀÈRÐPÑPÔP�D€A€qå'¨Ô-€OàˆO¨°aÐ8Ñ8Ô8×<Ò<¸QÀÑBÔB€EØˆ_¨!°qÐ9Ñ9Ô9×=Ò=Ð>NÐ>NÈqÑ>QÔ>QÐSTÑUÔU€Få˜fŸlšl¨1™oœo¨u¯{ª{¸1©~¬~Ñ>Ô>Ð>àÕ!Ð!Ð! TÕ->Ð%>Ð%>Ý! &§.¢.°Ñ"3Ô"3°U·]²]À1Ñ5EÔ5EÑFÔFÐFÝ!ØÔ'¨Ô)Cñ	
ô 	
ð 	
ð Õ!Ð!Ð!Ý! &×"6Ò"6°qÑ"9Ô"9¸5×;NÒ;NÈqÑ;QÔ;QÑRÔRÐRÝ!Ø×$Ò$ QÑ'Ô'¨×)@Ò)@ÀÑ)CÔ)Cñ	
ô 	
ð 	
ð Õ"Ð"Ð"Ý!Ø×Ò˜QÑÔ×'Ò'Ñ)Ô)¨5¯?ª?¸1Ñ+=Ô+=×+EÒ+EÑ+GÔ+Gñ	
ô 	
ð 	
õ 	"Ø× Ò  Ñ#Ô#×+Ò+Ñ-Ô-¨u×/BÒ/BÀ1Ñ/EÔ/E×/MÒ/MÑ/OÔ/Oñ	
ô 	
ð 	
ð 	
ð 	
ð	 #Ð"rV   c                 ó\  — t          |          dd¬¦  «        }t          j        i ft          j        ddift          j        ddift          j        i ffD ]]\  }} |t          j        fd|i|¤Ž}t          j        }t          |                     ||¦  «         	                    |¦  «        |¦  «         Œ^|j
        j        t          v rtt          t          z   t          z   D ]\} |t          j        |¬¦  «        }t          j        }t          |                     ||¦  «         	                    |¦  «        |¦  «         Œ]t          j        t          j        d d d	…         |¬¦  «        }t          j        d d d	…         }t          |                     ||¦  «         	                    |¦  «        |¦  «         d S )
Nr   Frr  ÚorderÚCÚFr·   rï   r3   )r@   r…   ÚasarrayÚascontiguousarrayr_   r`   ra   r%   rH   rK   r?  Úsplitterr!   r)   r*   r+   )rB   r·   rÎ   Ú	containerÚkwargsrI   rJ   rè  s           rT   Útest_memory_layoutr÷  ^  s–  € õ ˜DÔ
!¨q¸EÐ
BÑ
BÔ
B€Cõ 
Œ�RÐÝ	Œ�g˜s�^Ð$Ý	Œ�g˜s�^Ð$Ý	Ô	˜rÐ"ð	ð ?ð ?Ñˆ	�6ð ˆI•d”iÐ7Ð7 uÐ7°Ð7Ð7ˆÝŒKˆÝ! #§'¢'¨!¨Q¡-¤-×"7Ò"7¸Ñ":Ô":¸AÑ>Ô>Ð>Ð>ð „}ÔÕ!1Ð1Ð1Ý .µÑ ?Å.Ñ Pð 	Cð 	CÐØ Ð ¥¤°%Ð8Ñ8Ô8ˆAÝ”ˆAÝ% c§g¢g¨a°¡m¤m×&;Ò&;¸AÑ&>Ô&>ÀÑBÔBÐBÐBõ 	Œ
•4”9˜S˜S˜q˜S”>¨Ð/Ñ/Ô/€AÝŒ�C�C�a�CÔ€AÝ˜cŸgšg a¨™mœm×3Ò3°AÑ6Ô6¸Ñ:Ô:Ð:Ð:Ð:rV   c                 óœ  — t           j        d d …df         }t           j        d d …df                              d¦  «        }t           j        }t	          ¦   «         5  t
          |          }t          j        t          ¦  «        5   |dd¬¦  «         	                    ||¦  «         d d d ¦  «         n# 1 swxY w Y    |d¬¦  «        }| 	                    ||¦  «         | t          v s	| t          v rFt          j        t          ¦  «        5  |                     |¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nr   ©r0   r1   r1   rD   r¤   )r_   r`   rL  ra   r'   r@   r    r  rC  rH   rG   rj   rK   )rB   rI   ÚX_2drJ   rÍ   rÎ   s         rT   Útest_1d_inputrû  |  s  € åŒ	�!�!�!�Q�$Œ€AÝŒ9�Q�Q�Q˜�TŒ?×"Ò" 7Ñ+Ô+€DÝŒ€Aå	Ñ	Ô	ð 
ð 
Ý+¨DÔ1ˆÝŒ]�:Ñ&Ô&ð 	Fð 	FØˆO¨¸Ð;Ñ;Ô;×?Ò?ÀÀ1ÑEÔEÐEð	Fð 	Fð 	Fñ 	Fô 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Føøøð 	Fð 	Fð 	Fð 	Fð ˆo¨1Ð-Ñ-Ô-ˆØ�Š��aÑÔÐàÕ%Ð%Ð%¨Õ1BÐ)BÐ)BÝ”�zÑ*Ô*ð ð Ø—’˜A‘”�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s[   Á'EÂ"B/Â#EÂ/B3	Â3EÂ6B3	Â7AEÄD)ÄEÄ)D-	Ä-EÄ0D-	Ä1EÅEÅEc                 ó’  — t           |          } |d¬¦  «        }|                     t          j        t          j        ¦  «          |dd¬¦  «        }|                     t          j        t          j        ¦  «         t          |j        |j        ¦  «         t          j        t          j        t          j        t          j        f¦  «        j	        } |ddddœddddœddddœgd¬¦  «        }|                     t          j        |¦  «         t          |j        |j        ¦  «          |dd¬¦  «        }|                     t          j        |¦  «         t          |j        |j        ¦  «         t          j
        t          j        j        ¦  «        }|t          j        dk    xx         d	z  cc<   dd
ddœ} |d¬¦  «        }|                     t          j        t          j        |¦  «          ||d¬¦  «        }|                     t          j        t          j        ¦  «         t          |j        |j        ¦  «          |d¬¦  «        }|                     t          j        t          j        |dz  ¦  «          ||d¬¦  «        }|                     t          j        t          j        |¦  «         t          |j        |j        ¦  «         d S )Nr   r¤   Úbalanced©Úclass_weightr<   ç       @rÝ   ©r   r1   r2   r1   rÃ   g      Y@r2   )rG   rH   r_   r`   ra   r$   rÇ   r…   r‚  rL   r´   rP   )	rB   rQ   Úclf1Úclf2Ú
iris_multiÚclf3Úclf4rÁ   rÿ  s	            rT   Útest_class_weightsr  �  sŽ  € õ *¨$Ô/Ðð Ð¨Ð+Ñ+Ô+€DØ‡H‚H�TŒY�œÑ$Ô$Ð$ØÐ¨À!ÐDÑDÔD€DØ‡H‚H�TŒY�œÑ$Ô$Ð$Ý˜Ô1°4Ô3LÑMÔMÐMõ ”�DœK­¬µd´kÐBÑCÔCÔE€JàÐà˜ Ð$Ð$Ø˜ Ð$Ð$Ø˜ Ð$Ð$ð
ð
 ðñ ô €Dð 	‡H‚H�TŒY˜
Ñ#Ô#Ð#Ý˜Ô1°4Ô3LÑMÔMÐMàÐ¨À!ÐDÑDÔD€DØ‡H‚H�TŒY˜
Ñ#Ô#Ð#Ý˜Ô1°4Ô3LÑMÔMÐMõ ”G�DœKÔ-Ñ.Ô.€MØ•$”+ Ò"Ð#Ð#Ô# sÑ*Ð#Ð#Ñ#Ø˜u¨Ð-Ð-€LØÐ¨Ð+Ñ+Ô+€DØ‡H‚H�TŒY�œ ]Ñ3Ô3Ð3ØÐ¨ÀAÐFÑFÔF€DØ‡H‚H�TŒY�œÑ$Ô$Ð$Ý˜Ô1°4Ô3LÑMÔMÐMð Ð¨Ð+Ñ+Ô+€DØ‡H‚H�TŒY�œ ]°AÑ%5Ñ6Ô6Ð6ØÐ¨ÀAÐFÑFÔF€DØ‡H‚H�TŒY�œ ]Ñ3Ô3Ð3Ý˜Ô1°4Ô3LÑMÔMÐMÐMÐMrV   c                 ó”  — t           |          }t          j        t          t          j        t          ¦  «        dz  f¦  «        j        } |dd¬¦  «        }|                     t          |¦  «          |dddœdddœgd¬¦  «        }|                     t          |¦  «          |d	d¬¦  «        }|                     t          |¦  «         d S )
Nr2   rý  r   rþ  r^   rÝ   rù  )r/   r2   Úbalanced_subsample)rG   r…   r‚  rJ   r  rL   rH   rI   )rB   rQ   rƒ  rR   s       rT   Ú5test_class_weight_balanced_and_bootstrap_multi_outputr
  ¿  sÇ   € õ *¨$Ô/ÐÝ	Œ•A•r”x¥‘{”{ Q‘Ð'Ñ	(Ô	(Ô	*€BØ
Ð
¨
ÀÐ
CÑ
CÔ
C€CØ‡G‚G�Aˆr�N„N€NØ
Ð
Ø 3Ð'Ð'¨c°cÐ):Ð):Ð;È!ðñ ô €Cð ‡G‚G�Aˆr�N„N€Nà
Ð
Ð(<È1Ð
MÑ
MÔ
M€CØ‡G‚G�Aˆr�N„N€N€N€NrV   c                 óL  — t           |          }t          j        t          t          j        t          ¦  «        dz  f¦  «        j        } |ddd¬¦  «        }|                     t          t          ¦  «         d}t          j	        t          |¬¦  «        5  |                     t          |¦  «         d d d ¦  «         n# 1 swxY w Y    |dd	d
œgd¬¦  «        }t          j        t          ¦  «        5  |                     t          |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr2   rý  Tr   )rÿ  Ú
warm_startr<   úJWarm-start fitting without increasing n_estimators does not fit new trees.r  r^   rÝ   rù  rþ  )rG   r…   r‚  rJ   r  rL   rH   rI   r    r=  r>  r  rC  )rB   rQ   rƒ  rR   Úwarn_msgs        rT   Útest_class_weight_errorsr  Ï  sŒ  € õ *¨$Ô/ÐÝ	Œ•A•r”x¥‘{”{ Q‘Ð'Ñ	(Ô	(Ô	*€Bð Ð
¨
¸tÐRSÐ
TÑ
TÔ
T€CØ‡G‚G�A�q�M„M€Mð 	Uð õ 
Œ•k¨Ð	2Ñ	2Ô	2ð ð Ø�Š•�2‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð Ð
¨c°cÐ):Ð):Ð(;È!Ð
LÑ
LÔ
L€CÝ	Œ•zÑ	"Ô	"ð ð Ø�Š•�2‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s$   ÂB;Â;B?ÃB?Ã0DÄDÄ Dc                 ó8  — t           t          }}t          |          }d }dD ]T}|€ ||dd¬¦  «        }n|                     |¬¦  «         |                     ||¦  «         t          |¦  «        |k    sJ ‚ŒU |ddd¬¦  «        }|                     ||¦  «         t          d„ |D ¦   «         ¦  «        t          d	„ |D ¦   «         ¦  «        k    sJ ‚t          |                     |¦  «        |                     |¦  «        d
 	                    | ¦  «        ¬¦  «         d S )N)rh   r5   rq   T)rE   r<   r  ©rE   r5   Fc                 ó   — g | ]	}|j         ‘Œ
S rë   r¤   r
  s     rT   ré   z#test_warm_start.<locals>.<listcomp>ù  s   € Ð5Ð5Ð5 d�Ô!Ð5Ð5Ð5rV   c                 ó   — g | ]	}|j         ‘Œ
S rë   r¤   r
  s     rT   ré   z#test_warm_start.<locals>.<listcomp>ú  s   € Ð1Ð1Ð1˜tˆÔ	Ð1Ð1Ð1rV   rÒ  )r  )
rË  rÌ  r@   rÉ   rH   rN   r-  r&   rO   r  )rB   rI   rJ   rÍ   Úest_wsrE   Ú	est_no_wss          rT   Útest_warm_startr  å  sZ  € õ •X€q€AÝ'¨Ô-€OØ€FØð +ð +ˆØˆ>Ø$�_Ø)¸Àtðñ ô ˆFˆFð ×Ò¨<ÐÑ8Ô8Ð8Ø�
Š
�1�aÑÔÐÝ�6‰{Œ{˜lÒ*Ð*Ð*Ð*Ð*à�¨R¸bÈUÐSÑSÔS€IØ‡M‚M�!�QÑÔÐåÐ5Ð5¨fÐ5Ñ5Ô5Ñ6Ô6½#Ø1Ð1 yÐ1Ñ1Ô1ñ;ô ;ò ð ð ð õ Ø�Š�Q‰Œ˜Ÿš¨Ñ+Ô+Ð5F×5MÒ5MÈdÑ5SÔ5Sðñ ô ð ð ð rV   c                 ó–  — t           t          }}t          |          } |dddd¬¦  «        }|                     ||¦  «          |dddd¬¦  «        }|                     ||¦  «         |                     dd¬¦  «         |                     ||¦  «         t          |                     |¦  «        |                     |¦  «        ¦  «         d S )Nrh   r1   F©rE   r±   r  r<   Tr2   )r  r<   )rË  rÌ  r@   rH   rÉ   r%   rO   )rB   rI   rJ   rÍ   rÎ   Úest_2s         rT   Útest_warm_start_clearr    sÇ   € õ •X€q€AÝ'¨Ô-€OØ
ˆ/ q°AÀ%ÐVWÐ
XÑ
XÔ
X€CØ‡G‚GˆAˆq�M„M€MàˆOØ !°À1ðñ ô €Eð 
‡I‚Iˆa��O„O€OØ	×Ò °AÐÑ6Ô6Ð6Ø	‡I‚Iˆa��O„O€Oå˜eŸkšk¨!™nœn¨c¯iªi¸©l¬lÑ;Ô;Ð;Ð;Ð;rV   c                 ó@  — t           t          }}t          |          } |ddd¬¦  «        }|                     ||¦  «         |                     d¬¦  «         t          j        t          ¦  «        5  |                     ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrh   r1   T)rE   r±   r  r©   r  )rË  rÌ  r@   rH   rÉ   r    r  rC  rÎ  s        rT   Ú$test_warm_start_smaller_n_estimatorsr    s×   € õ •X€q€AÝ'¨Ô-€OØ
ˆ/ q°AÀ$Ð
GÑ
GÔ
G€CØ‡G‚GˆAˆq�M„M€MØ‡N‚N €NÑ"Ô"Ð"Ý	Œ•zÑ	"Ô	"ð ð Ø�Š��1‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á/BÂBÂBc                 óþ  — t           t          }}t          |          } |dddd¬¦  «        }|                     ||¦  «          |dddd¬¦  «        }|                     ||¦  «         |                     d¬¦  «         d}t          j        t          |¬	¦  «        5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          | 	                    |¦  «        | 	                    |¦  «        ¦  «         d S )
Nrh   r3   Tr1   r  r2   r¤   r  r  )
rË  rÌ  r@   rH   rÉ   r    r=  r>  r&   rO   )rB   rI   rJ   rÍ   rÎ   r  r  s          rT   Ú"test_warm_start_equal_n_estimatorsr     s=  € õ •X€q€AÝ'¨Ô-€OØ
ˆ/ q°AÀ$ÐUVÐ
WÑ
WÔ
W€CØ‡G‚GˆAˆq�M„M€MàˆOØ !°À1ðñ ô €Eð 
‡I‚Iˆa��O„O€Oð 
×Ò !ÐÑ$Ô$Ð$àTð õ 
Œ•k¨Ð	2Ñ	2Ô	2ð ð Ø�	Š	�!�Q‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ �s—y’y ‘|”| U§[¢[°¡^¤^Ñ4Ô4Ð4Ð4Ð4s   ÂB<Â<C ÃC c                 óz  — t           t          }}t          |          } |dddddd¬¦  «        }|                     ||¦  «          |dddddd¬¦  «        }|                     ||¦  «         |                     ddd¬¦  «         |                     ||¦  «         t          |d	¦  «        sJ ‚|j        |j        k    sJ ‚ |dddddd¬¦  «        }|                     ||¦  «         t          |d	¦  «        rJ ‚|                     d¬
¦  «          t          |j        ¦  «        ||¦  «         |j        |j        k    sJ ‚d S )Né   r3   Fr1   T)rE   r±   r  r<   rž   r   rh   )r  r   rE   r(  rX  )rË  rÌ  r@   rH   rÉ   rª   r(  r'   )rB   rI   rJ   rÍ   rÎ   r  Úest_3s          rT   Útest_warm_start_oobr"  :  s‡  € õ •X€q€AÝ'¨Ô-€Oà
ˆ/ØØØØØØðñ ô €Cð ‡G‚GˆAˆq�M„M€MàˆOØØØØØØðñ ô €Eð 
‡I‚Iˆa��O„O€Oà	×Ò °À2ÐÑFÔFÐFØ	‡I‚Iˆa��O„O€Oå�5˜,Ñ'Ô'Ð'Ð'Ð'ØŒ>˜UÔ-Ò-Ð-Ð-Ð-ð ˆOØØØØØØðñ ô €Eð 
‡I‚Iˆa��O„O€OÝ�u˜lÑ+Ô+Ð+Ð+Ð+à	×Ò˜tÐÑ$Ô$Ð$Ø…O�E”IÑÔ˜q !Ñ$Ô$Ð$àŒ>˜UÔ-Ò-Ð-Ð-Ð-Ð-Ð-rV   c                 óª  — t           t          }}t          |          } |dddd¬¦  «        }t          j        |d|j        ¬¦  «        5 }|                     ||¦  «         t          j        t          d¬¦  «        5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   | 
                    ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nr5   T)rE   r  rž   r   r[  )Úwrapsz%Warm-start fitting without increasingr  )rË  rÌ  r@   r	   Úobjectr[  rH   r    r=  r>  Úassert_called_once)rB   rI   rJ   rÍ   rÎ   Ú!mock_set_oob_score_and_attributess         rT   Útest_oob_not_computed_twicer(  m  s]  € õ •X€q€AÝ'¨Ô-€Oà
ˆ/Ø D°DÀDðñ ô €Cõ 
ŒØÐ,°CÔ4Uð
ñ 
ô 
ð ?à	*Ø�Š��1‰ŒˆåŒ\�+Ð-TÐUÑUÔUð 	ð 	Ø�GŠG�A�q‰MŒMˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	*×<Ò<Ñ>Ô>Ð>ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?ð ?ð ?s6   Á2CÁ9BÂCÂB 	Â CÂ#B 	Â$CÃCÃCr   c                 ó  — t          dd¬¦  «        }t          j        | ¦  «        }d„ dd | …         D ¦   «         }|                     ||¦  «                             |¦  «        }t          |j        |¦  «         t          ||¦  «         d S )Nr   Frr  c                 ó   — g | ]}|‘ŒS rë   rë   )rç   Úchs     rT   ré   z&test_dtype_convert.<locals>.<listcomp>†  s   € Ð:Ð:Ð:�ˆÐ:Ð:Ð:rV   ÚABCDEFGHIJKLMNOPQRSTU)r   r…   ÚeyerH   rK   r&   r¥   )r  r/  rI   rJ   Úresults        rT   Útest_dtype_convertr/  ‚  sŠ   € Ý'°QÀ%ÐHÑHÔH€Jå
ŒˆyÑÔ€AØ:Ð:Ð-¨j¨y¨jÔ9Ð:Ñ:Ô:€Aà�^Š^˜A˜qÑ!Ô!×)Ò)¨!Ñ,Ô,€FÝ�zÔ*¨AÑ.Ô.Ð.Ý�v˜qÑ!Ô!Ð!Ð!Ð!rV   c                 óˆ  ‡‡	‡
— t           t          }}|j        d         }t          |          } |dddd¬¦  «        }|                     ||¦  «         |                     |¦  «        \  Š	Š
‰	j        d         ‰
d         k    sJ ‚‰	j        d         |k    sJ ‚t          t          j        ‰
¦  «        d„ |j	        D ¦   «         ¦  «         | 
                    |¦  «        }t          |j        d         ¦  «        D ]LŠˆˆ	ˆ
fd„t          |d d …‰f         ¦  «        D ¦   «         }t          |t          j        |¬	¦  «        ¦  «         ŒMd S )
Nr   rh   r1   Fr  r0   c                 ó&   — g | ]}|j         j        ‘ŒS rë   )r  Ú
node_count)rç   Úes     rT   ré   z&test_decision_path.<locals>.<listcomp>™  s   € ÐKÐKÐK°a˜qœwÔ1ÐKÐKÐKrV   c                 ó<   •— g | ]\  }}‰|‰‰         |z   f         ‘ŒS rë   rë   )rç   rè   rì   Úest_idÚ	indicatorÚn_nodes_ptrs      €€€rT   ré   z&test_decision_path.<locals>.<listcomp>Ÿ  sA   ø€ ð 
ð 
ð 
á��1ð �a˜ VÔ,¨qÑ0Ð0Ô1ð
ð 
ð 
rV   )rP   )rË  rÌ  rP   r@   rH   Údecision_pathr&   r…   Údiffr  rO   rô   rK  r%   r´   )rB   rI   rJ   r6   rÍ   rÎ   ÚleavesÚleave_indicatorr5  r6  r7  s           @@@rT   Útest_decision_pathr<  �  sp  øøø€ å•X€q€AØ”˜”
€IÝ'¨Ô-€OØ
ˆ/ q°AÀ%ÐVWÐ
XÑ
XÔ
X€CØ‡G‚GˆAˆq�M„M€MØ ×.Ò.¨qÑ1Ô1Ñ€Iˆ{àŒ?˜1Ô ¨R¤Ò0Ð0Ð0Ð0ØŒ?˜1Ô Ò*Ð*Ð*Ð*ÝÝ
Œ�ÑÔÐKÐK¸3¼?ÐKÑKÔKñô ð ð
 �YŠY�q‰\Œ\€FÝ˜œ QœÑ(Ô(ð Mð Mˆð
ð 
ð 
ð 
ð 
ð 
å! &¨¨¨¨F¨Ô"3Ñ4Ô4ð
ñ 
ô 
ˆõ 	" /µ2´7ÀÐ3KÑ3KÔ3KÑLÔLÐLÐLðMð MrV   c                  óè   — t          j        dd¬¦  «        \  } }t          t          t          t
          g}|D ];} |d¬¦  «        }|                     | |¦  «         |j        D ]}|j        dk    sJ ‚ŒŒ<d S )NrÃ   r1   r?   r½   )Úmin_impurity_decrease)	r   r   r   r   r   r   rH   r  r>  )rI   rJ   Úall_estimatorsÚ	EstimatorrÎ   r  s         rT   Útest_min_impurity_decreaserA  ¦  s›   € ÝÔ$¨sÀÐCÑCÔC�D€A€qåÝÝÝð	€Nð $ð 5ð 5ˆ	Øˆi¨cÐ2Ñ2Ô2ˆØ�Š��1‰ŒˆØ”Oð 	5ð 	5ˆDð Ô-°Ò4Ð4Ð4Ð4Ð4ð	5ð5ð 5rV   c                  óŒ  — t          d¬¦  «        } t          j        d¦  «        }g d¢}d}t          j        t
          |¬¦  «        5  |                      ||¦  «         d d d ¦  «         n# 1 swxY w Y   g d¢}d}t          j        t
          |¬¦  «        5  |                      ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nr}   ©rW   )r3   r3   )r0   r1   r3   zNSome value\(s\) of y are negative which is not allowed for Poisson regression.r  )r   r   r   zLSum of y is not strictly positive which is necessary for Poisson regression.)r   r…   r  r    r  rC  rH   )rÎ   rI   rJ   r  s       rT   Útest_poisson_y_positive_checkrD  ¸  sR  € Ý
¨)Ð
4Ñ
4Ô
4€CÝ
Œ�ÑÔ€Aàˆ
ˆ
€Að	/ð õ 
Œ•z¨Ð	1Ñ	1Ô	1ð ð Ø�Š��1‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð 	ˆ	ˆ	€Að	0ð õ 
Œ•z¨Ð	1Ñ	1Ô	1ð ð Ø�Š��1‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s$   ÁA)Á)A-Á0A-ÂB9Â9B=Ã B=c                   ó(   ‡ — e Zd Zˆ fd„Zˆ fd„Zˆ xZS )Ú	MyBackendc                 óH   •— d| _          t          ¦   «         j        |i |¤Ž d S )Nr   )râ   ÚsuperÚ__init__)ÚselfÚargsrö  rk  s      €rT   rI  zMyBackend.__init__Ï  s,   ø€ ØˆŒ
Ø�‰ŒÔ˜$Ð) &Ð)Ð)Ð)Ð)Ð)rV   c                 ód   •— | xj         dz  c_         t          ¦   «                              ¦   «         S )Nr1   )râ   rH  Ú
start_call)rJ  rk  s    €rT   rM  zMyBackend.start_callÓ  s(   ø€ Øˆ
Œ
�a‰ˆ
Œ
Ý‰wŒw×!Ò!Ñ#Ô#Ð#rV   )Ú__name__Ú
__module__Ú__qualname__rI  rM  Ú__classcell__)rk  s   @rT   rF  rF  Î  sQ   ø€ € € € € ð*ð *ð *ð *ð *ð$ð $ð $ð $ð $ð $ð $ð $ð $rV   rF  Útestingc                  óŒ  — t          dd¬¦  «        } t          j        d¦  «        5 \  }}|                      t          t
          ¦  «         d d d ¦  «         n# 1 swxY w Y   |j        dk    sJ ‚t          j        d¦  «        5 \  }}|                      t          ¦  «         d d d ¦  «         n# 1 swxY w Y   |j        dk    sJ ‚d S )Nr5   r2   )rE   r¿   rR  r   )r   ÚjoblibÚparallel_backendrH   rI   rJ   râ   r³   )rR   Úbar¿   Ú_s       rT   Útest_backend_respectedrX  Û  s/  € å
 ¨b¸Ð
;Ñ
;Ô
;€Cå	Ô	  Ñ	+Ô	+ð ©|°°FØ�Š••1‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð Œ8�aŠ<ˆ<ˆ<ˆ<õ 
Ô	  Ñ	+Ô	+ð ©w°°AØ×Ò�!ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð Œ8�qŠ=ˆ=ˆ=ˆ=ˆ=ˆ=s#   ¦$AÁAÁAÂB,Â,B0Â3B0c                  óÞ   — t          dddd¬¦  «        \  } }t          ddd¬¦  «                             | |¦  «        }t          j        d|j                             ¦   «         d	¬
¦  «        sJ ‚d S )Nr   r3   r1   )r6   r8   r<   r  rh   rq   éÈ   )r   r<   rE   gH¯¼šò×z>)Úabs_tol)r   r   rH   ÚmathÚiscloserÇ   rŸ   )rI   rJ   rR   s      rT   Ú#test_forest_feature_importances_sumr^  ë  s„   € ÝØ A°AÀðñ ô �D€A€qõ !Ø¨¸#ðñ ô ç	‚cˆ!ˆQ�i„ið õ Œ<˜˜3Ô3×7Ò7Ñ9Ô9À4ÐHÑHÔHÐHÐHÐHÐHÐHrV   c                  ó  — t          j        d¦  «        } t          j        d¦  «        }t          d¬¦  «                             | |¦  «        }t          |j        t          j        dt           j        ¬¦  «        ¦  «         d S )N)r5   r5   )r5   r5   r  rï   )r…   r  r´   r   rH   r&   rÇ   Úfloat64)rI   rJ   Úgbrs      rT   Ú*test_forest_degenerate_feature_importancesrb  õ  sh   € å
Œ�ÑÔ€AÝ
Œ�‰Œ€AÝ
¨RÐ
0Ñ
0Ô
0×
4Ò
4°Q¸Ñ
:Ô
:€CÝ�sÔ/µ´¸"ÅBÄJÐ1OÑ1OÔ1OÑPÔPÐPÐPÐPrV   c                 óà   — t          |          dd¬¦  «        }d}t          j        t          |¬¦  «        5  |                     t
          t          ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NFr^   ©rž   rJ  zl`max_sample` cannot be set if `bootstrap=False`. Either switch to `bootstrap=True` or set `max_sample=None`.r  )rA   r    r  rC  rH   rI   rJ   )rB   rÎ   r  s      rT   Útest_max_samples_bootstrapre  ý  s±   € õ (¨Ô
-¸È3Ð
OÑ
OÔ
O€Cð	ð õ
 
Œ•z¨Ð	1Ñ	1Ô	1ð ð Ø�Š••1‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   µ!A#Á#A'Á*A'c                 óú   — t          |          dt          d¦  «        ¬¦  «        }d}t          j        t          |¬¦  «        5  |                     t          t          ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NTg    eÍÍArd  z=`max_samples` must be <= n_samples=6 but got value 1000000000r  )rA   rØ   r    r  rC  rH   rI   rJ   )rB   rÎ   r  s      rT   Ú test_large_max_samples_exceptionrg  
  s°   € õ (¨Ô
-¸Í#ÈcÉ(Ì(Ð
SÑ
SÔ
S€CØK€EÝ	Œ•z¨Ð	/Ñ	/Ô	/ð ð Ø�Š••1‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á!A0Á0A4Á7A4c                 óÄ  — t          t          t          ddd¬¦  «        \  }}}}t          |          ddd¬¦  «        }|                     ||¦  «                             |¦  «        }t          |          dd d¬¦  «        }|                     ||¦  «                             |¦  «        }t          ||¦  «        }	t          ||¦  «        }
|	t          j        |
¦  «        k    sJ ‚d S )Nr5  r½  r   )Ú
train_sizer|   r<   TrÝ   ©rž   rJ  r<   )	r   rk   rl   rj   rH   rK   r   r    r¡   )rB   r‘   r’   r“   r”   Ú
ms_1_modelÚms_1_predictÚms_None_modelÚms_None_predictÚms_1_msÚ
ms_None_mss              rT   Ú$test_max_samples_boundary_regressorsrq    só   € å'7Ý�u °À!ð(ñ (ô (Ñ$€GˆV�W˜fõ # 4Ô(Ø C°aðñ ô €Jð —>’> '¨7Ñ3Ô3×;Ò;¸FÑCÔC€Lå% dÔ+Ø D°qðñ ô €Mð $×'Ò'¨°Ñ9Ô9×AÒAÀ&ÑIÔI€Oå  ¨vÑ6Ô6€GÝ# O°VÑ<Ô<€Jà•f”m JÑ/Ô/Ò/Ð/Ð/Ð/Ð/Ð/rV   c                 ó˜  — t          t          t          dt          ¬¦  «        \  }}}}t          |          ddd¬¦  «        }|                     ||¦  «                             |¦  «        }t          |          dd d¬¦  «        }|                     ||¦  «                             |¦  «        }t          j                             ||¦  «         d S )Nr   )r<   ÚstratifyTrÝ   rj  )	r   rÄ   rÆ   rG   rH   r³   r…   rR  r#   )	rB   r‘   r’   r“   rW  rk  Ú
ms_1_probarm  Úms_None_probas	            rT   Ú%test_max_samples_boundary_classifiersrv  )  sÐ   € å"2Ý• qµ7ð#ñ #ô #Ñ€GˆV�W˜aõ $ DÔ)Ø C°aðñ ô €Jð —’ ¨Ñ1Ô1×?Ò?ÀÑGÔG€Jå& tÔ,Ø D°qðñ ô €Mð "×%Ò% g¨wÑ7Ô7×EÒEÀfÑMÔM€Må„J×Ò˜z¨=Ñ9Ô9Ð9Ð9Ð9rV   Úcsr_containerc                 óà   — g d¢g} | g d¢g¦  «        }t          ¦   «         }d}t          j        t          |¬¦  «        5  |                     ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr§   r¨   z3sparse multilabel-indicator for y is not supported.r  )r   r    r  rC  rH   )rw  rI   rJ   rÎ   Úmsgs        rT   Útest_forest_y_sparserz  <  s¼   € à	ˆˆˆ€AØˆ�y�y�y�kÑ"Ô"€AÝ
 Ñ
"Ô
"€CØ
?€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ø�Š��1‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ¿A#Á#A'Á*A'ÚForestClassc                 ó²  — t           j                             d¦  «        }|                     dd¦  «        }|                     d¦  «        dk    } | d|d ¬¦  «        } | d|d¬¦  «        }|                     ||¦  «         |                     ||¦  «         |j        d         j        }|j        d         j        }d}|j        |j        k    s
J |¦   «         ‚d S )Nr1   i'  r2   r   )rE   r<   rJ  z=Tree without `max_samples` restriction should have more nodes)r…   r†   r‡   r©  rH   r  r  r2  )	r{  r�   rI   rJ   Úest1Úest2Útree1Útree2ry  s	            rT   Ú'test_little_tree_with_small_max_samplesr�  F  sð   € å
Œ)×
Ò
 Ñ
"Ô
"€Cà�	Š	�%˜ÑÔ€AØ�	Š	�%ÑÔ˜1Ò€Að ˆ;ØØØðñ ô €Dð ˆ;ØØØðñ ô €Dð 	‡H‚HˆQ��N„N€NØ‡H‚HˆQ��N„N€NàÔ˜QÔÔ%€EØÔ˜QÔÔ%€Eà
I€CØÔ˜eÔ.Ò.Ð.Ð.°Ñ.Ô.Ð.Ð.Ð.rV   ÚForestc                 óÚ   — ddl m} t                               dd¦  «        }|j        \  }} |||¦  «        }t          |          dd|¬¦  «        }|                     t          |¦  «         d S )Nr   )ÚMSEr0   r1   r2   )rE   r¿   rW   )Úsklearn.tree._criterionr„  rl   rL  rP   rj   rH   rk   )r‚  r„  rJ   r6   Ú	n_outputsÚmse_criterionrÎ   s          rT   Ú-test_mse_criterion_object_segfault_smoke_testrˆ  e  sy   € ð ,Ð+Ð+Ð+Ð+Ð+å�Š�b˜!ÑÔ€AØœ7Ñ€IˆyØ�C˜	 9Ñ-Ô-€MÝ
˜FÔ
#°¸1ÈÐ
VÑ
VÔ
V€Cà‡G‚G�E�1ÑÔÐÐÐrV   c                  ó@  — t           j                             d¦  «        } t          j        |                      dd¦  «        ¦  «        }t          dddd¬¦  «                             |¦  «        }|                     ¦   «         }d„ dD ¦   «         }t          ||¦  «         d	S )
z3Check feature names out for Random Trees Embedding.r   rÃ   r©   r2   F)rE   r±   r†  r<   c                 ó$   — g | ]\  }}d |› d|› �‘ŒS )Úrandomtreesembedding_rW  rë   )rç   r  Úleafs      rT   ré   zAtest_random_trees_embedding_feature_names_out.<locals>.<listcomp>}  s>   € ð ð ð ñ ˆD�$ð 	. Ð-Ð- tÐ-Ð-ðð ð rV   ))r   r2   )r   r3   )r   rh   )r   ri   r^  )r1   r3   )r1   rh   )r1   ri   N)	r…   r†   r‡   rË   r©  r   rH   Úget_feature_names_outr&   )r<   rI   r�  ÚnamesÚexpected_namess        rT   Ú-test_random_trees_embedding_feature_names_outr�  u  s¬   € å”9×(Ò(¨Ñ+Ô+€LÝ
Œˆ|×!Ò! # qÑ)Ô)Ñ*Ô*€AÝ!Ø !°5Àqðñ ô ç	‚cˆ!�f„fð ð ×(Ò(Ñ*Ô*€Eðð ð	
ð	ñ ô €Nõ �~ uÑ-Ô-Ð-Ð-Ð-rV   c                 óF  — |                      t          j        j        dt	          t
          d¬¦  «        ¦  «         t          j                             d¬¦  «        }t          dd|¬¦  «        \  }} | |d¬	¦  «        }t          d
|¬¦  «        }t          |||d
¬¦  «         dS )z–RandomForestClassifier must work on readonly sparse data.

    Non-regression test for: https://github.com/scikit-learn/scikit-learn/issues/25333
    r-   rÃ   )Ú
max_nbytesr   )ÚseedrZ  r=   Tr»   r2   )r¿   r<   )ÚcvN)ÚsetattrÚsklearnÚensembleÚ_forestr   r-   r…   r†   r‡   r   r   r   )rw  Úmonkeypatchr�   rI   rJ   rR   s         rT   Útest_read_only_bufferrš  �  s­   € ð ×ÒÝÔÔ ØÝ• SÐ)Ñ)Ô)ñô ð õ
 Œ)×
Ò
 QÐ
Ñ
'Ô
'€Cå¨¸È3ÐOÑOÔO�D€A€qØˆ�a˜dÐ#Ñ#Ô#€Aå
 ¨¸Ð
<Ñ
<Ô
<€CÝ�C˜˜A !Ð$Ñ$Ô$Ð$Ð$Ð$rV   rÿ  r	  c                 óˆ   — t          j        d¬¦  «        \  }}t          dd| d¬¦  «        }|                     ||¦  «         dS )z^Check low max_samples works and is rounded to one.

    Non-regression test for gh-24037.
    T)Ú
return_X_yr5   g-Cëâ6?r   )rE   rJ  rÿ  r<   N)r   Ú	load_winer   rH   )rÿ  rI   rJ   r_  s       rT   Ú.test_round_samples_to_one_when_samples_too_lowrž  £  sU   € õ Ô¨Ð.Ñ.Ô.�D€A€qÝ#Ø T¸ÐSTðñ ô €Fð ‡J‚Jˆq�!ÑÔÐÐÐrV   r“  rž   c                 ó   — t          dd¬¦  «        \  }}|rd}nd} | d|d||¬¦  «        }|                     ||¦  «         |j                             ¦   «         }t	          ||j        ¦  «         |j        }t          |t          ¦  «        sJ ‚t          |¦  «        t          |¦  «        k    sJ ‚|d         j	        t          j        k    sJ ‚t          t          |¦  «        ¦  «        D ]¥}	|rlt          ||	         ¦  «        t          |¦  «        d	z  k    sJ ‚t          t          j        ||	         ¦  «        ¦  «        t          ||	         ¦  «        k     sJ ‚Œpt          t          ||	         ¦  «        ¦  «        t          |¦  «        k    sJ ‚Œ¦d}
||
         }||
         }||         }||         }|j        j        }t#          |¦  «        }|                     ||¦  «         |j        j        }t%          ||¦  «         dS )
z›Estimators_samples_ property should be consistent.

    Tests consistency across fits and whether or not the seed for the random generator
    is set.
    rZ  r1   r?   r^   Nr5   )rE   rJ  rF   r<   rž   r   r2   )r   rH   Úestimators_samples_r¼   r&   r  r‹  ró   rN   r·   r…   Úint32rô   ræ   r-  r  Úvaluer   r#   )r{  rž   r“  rI   rJ   rJ  rÎ   Úestimators_samplesÚ
estimatorsrè   Úestimator_indexÚestimator_samplesr?  r‘   r“   Úorig_tree_valuesÚnew_tree_valuess                    rT   Útest_estimators_samplesr©  °  s"  € õ  c¸Ð:Ñ:Ô:�D€A€qàð ØˆˆàˆØ
ˆ+ØØØØØðñ ô €Cð ‡G‚GˆAˆq�M„M€MàÔ0×5Ò5Ñ7Ô7Ðõ Ð)¨3Ô+BÑCÔCÐCØ”€JåÐ(­$Ñ/Ô/Ð/Ð/Ð/ÝÐ!Ñ"Ô"¥c¨*¡o¤oÒ5Ð5Ð5Ð5Ø˜aÔ Ô&­"¬(Ò2Ð2Ð2Ð2å•3�z‘?”?Ñ#Ô#ð =ð =ˆØð 	=ÝÐ)¨!Ô,Ñ-Ô-µ°Q±´¸1±Ò<Ð<Ð<Ð<õ •r”yÐ!3°AÔ!6Ñ7Ô7Ñ8Ô8½3Ð?QÐRSÔ?TÑ;UÔ;UÒUÐUÐUÐUÐUå•sÐ-¨aÔ0Ñ1Ô1Ñ2Ô2µc¸!±f´fÒ<Ð<Ð<Ð<Ð<à€OØ*¨?Ô;ÐØ˜?Ô+€IàÐ!Ô"€GØÐ!Ô"€Gà ”Ô,ÐÝ�iÑ Ô €IØ‡M‚M�'˜7Ñ#Ô#Ð#Ø”oÔ+€OÝÐ$ oÑ6Ô6Ð6Ð6Ð6rV   zmake_data, Forestc                 óš  — t           j                             d¦  «        }d\  }} | |||¬¦  «        \  }}|                     ¦   «         }t           j        ||                     ddg|j        ddg¬¦  «        <   t          j        |¦  «                             ¦   «         sJ ‚t          ||d¬	¦  «        \  }}	}
} ||d
¬¦  «        }| 
                    ||
¦  «         |                     |	|¦  «        }t          ||d¬	¦  «        \  }}}
} ||d
¬¦  «        }| 
                    ||
¦  «         |                     ||¦  «        }|d|z  k    sJ ‚dS )zJCheck that forest can deal with missing values and has decent performance.r   )r  r5   r=   FTçffffffî?rº   ©rv   rã   r¤   r7  )r<   rE   r„   N)r…   r†   r‡   r¼   ÚnanÚchoicerP   ÚisnanÚanyr   rH   rb   )Ú	make_datar‚  r�   r6   r7   rI   rJ   Ú	X_missingÚX_missing_trainÚX_missing_testr“   r”   Úforest_with_missingÚscore_with_missingr‘   r’   r_  Úscore_without_missings                     rT   Ú test_missing_values_is_resilientr¸  é  sw  € õ Œ)×
Ò
 Ñ
"Ô
"€CØ$Ñ€IˆzØˆ9˜y°ZÈcÐRÑRÔR�D€A€qð —’‘”€IÝIKÌ€Iˆc�jŠj˜% ˜¨Q¬W¸¸t¸ˆjÑEÔEÑFÝŒ8�IÑÔ×"Ò"Ñ$Ô$Ð$Ð$Ð$å7GØ�1 1ð8ñ 8ô 8Ñ4€O�^ W¨fð
 !˜&¨cÀÐCÑCÔCÐØ×Ò˜O¨WÑ5Ô5Ð5Ø,×2Ò2°>À6ÑJÔJÐõ (8¸¸1È1Ð'MÑ'MÔ'MÑ$€GˆV�W˜fØˆV °2Ð6Ñ6Ô6€FØ
‡J‚Jˆw˜Ñ Ô Ð Ø"ŸLšL¨°Ñ8Ô8Ðð  Ð(=Ñ!=Ò=Ð=Ð=Ð=Ð=Ð=rV   c                 ó(  — t           j                             d¦  «        }d}|                     |df¬¦  «        }|                     dd|¬¦  «        }|                     ddg|d	d
g¬¦  «        }|                     t          ¦  «        }||          ||<   |                     |¬¦  «        }t           j        ||<   t          j	        |¦  «         
                    ¦   «         sJ ‚|                     ¦   «         }||dd…df<   t          |||d¬¦  «        \  }	}
}}}} | d¬¦  «                             |	|¦  «        } | d¬¦  «                             ||¦  «        }|                     |
|¦  «        }|dk    sJ ‚||                     ||¦  «        k    sJ ‚dS )z_Check that the forest learns when missing values are only present for
    a predictive feature.r   r  r5   r±  r2   )ru   rv   FTr«  rº   r¬  Nrh   r¤   g      è?)r…   r†   r‡   Ústandard_normalrÊ   r®  rÅ   rö   r­  r¯  r°  r¼   r   rH   rb   )r‚  r�   r6   ÚX_non_predictiverJ   ÚX_random_maskÚy_maskÚpredictive_featureÚX_predictiveÚX_predictive_trainÚX_predictive_testÚX_non_predictive_trainÚX_non_predictive_testr“   r”   Úforest_predictiveÚforest_non_predictiveÚpredictive_test_scores                     rT   Ú test_missing_value_is_predictiverÇ    sÓ  € õ Œ)×
Ò
 Ñ
"Ô
"€CØ€Ià×*Ò*°¸B°Ð*Ñ@Ô@ÐØ�Š�A˜A IˆÑ.Ô.€Að —J’J  t˜}°9ÀÀtÀ�JÑMÔM€MØ�XŠX•d‰^Œ^€FØ# MÔ2Ð2€Fˆ=Ñà×,Ò,°)Ð,Ñ<Ô<ÐÝ!#¤Ð�vÑÝŒ8Ð&Ñ'Ô'×+Ò+Ñ-Ô-Ð-Ð-Ð-à#×(Ò(Ñ*Ô*€LØ+€L����A�Ñõ 	˜Ð'7¸ÈÐKÑKÔKñØØØØØØà˜¨AÐ.Ñ.Ô.×2Ò2Ð3EÀwÑOÔOÐØ"˜F°Ð2Ñ2Ô2×6Ò6Ð7MÈwÑWÔWÐà-×3Ò3Ð4EÀvÑNÔNÐà  DÒ(Ð(Ð(Ð(Ø Ð$9×$?Ò$?Ø˜vñ%ô %ò ð ð ð ð ð rV   c                  ó  — t          j        g d¢t           j        ddgg¦  «        } ddg}t          d¬¦  «        }d}t	          j        t          |¬	¦  «        5  |                     | |¦  «         d
d
d
¦  «         d
S # 1 swxY w Y   d
S )zDRaise error for unsupported criterion when there are missing values.r  r   r   r^   rÝ   re   rC  z4RandomForestRegressor does not accept missing valuesr  N)r…   r  r­  r   r    r  rC  rH   )rI   rJ   r_  ry  s       rT   Ú=test_non_supported_criterion_raises_error_with_missing_valuesrÉ  8  sÏ   € å
Œ�)�)�)�bœf a¨Ð-Ð.Ñ/Ô/€AØ	ˆcˆ
€Aå"Ð-=Ð>Ñ>Ô>€Fà
@€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ø�
Š
�1�aÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÁA;Á;A?ÂA?)r   )¶Ú__doc__Ú	itertoolsr\  rg  Úcollectionsr   Ú	functoolsr   r   r   Útypingr   r   Úunittest.mockr	   rT  Únumpyr…   r    Úscipy.specialr
   r–  r   r   Úsklearn.datasetsr   r   Úsklearn.decompositionr   Úsklearn.dummyr   Úsklearn.ensembler   r   r   r   r   Úsklearn.ensemble._forestr   r   Úsklearn.exceptionsr   Úsklearn.metricsr   r   r   r   Úsklearn.model_selectionr   r   r   Úsklearn.svmr    Úsklearn.tree._classesr!   Úsklearn.utils._testingr"   r#   r$   r%   r&   r'   r(   Úsklearn.utils.fixesr)   r*   r+   Úsklearn.utils.multiclassr,   Úsklearn.utils.parallelr-   Úsklearn.utils.validationr.   rI   rJ   rL   rM   rÄ   rÆ   Ú	load_irisr_   r�   Úpermutationra   rv   Úpermr`   Úmake_regressionrk   rl   rË  rÌ  rÅ   Úfloat32ÚparallelÚget_active_backendrk  ÚDEFAULT_JOBLIB_BACKENDrG   rj   rê  Údictr@   ÚstrÚ__annotations__Úupdater¼   rA   ÚmarkÚparametrizerU   rc   ro   rœ   r¢   r¬   r¶   r`  ÚchainrÔ   r  r  rî   r   r3  r:  r@  rD  rG  rV  r\  r`  re  rp  ry  r€  r„  r�  r–  r�  r¡  r¯  rÈ  rÏ  rØ  rÝ  rç  rí  r÷  rû  r  r
  r  r  r  r  r  r"  r(  r/  r<  rA  rD  rF  Úregister_parallel_backendrX  r^  rb  re  rg  rq  rv  rz  r�  rˆ  r�  rš  rž  r©  r¸  rÇ  rÉ  rë   rV   rT   ú<module>rñ     sØ  ððð ð ð Ð Ð Ð Ø €€€Ø €€€Ø #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ø Ð Ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à €€€Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð à €€€Ø #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø BÐ BÐ BÐ BÐ BÐ BÐ BÐ BØ .Ð .Ð .Ð .Ð .Ð .Ø (Ð (Ð (Ð (Ð (Ð (ðð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð .Ð -Ð -Ð -Ð -Ð -ðð ð ð ð ð ð ð ð ð ð ð ð TÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SØ !Ð !Ð !Ð !Ð !Ð !Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð OÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NØ 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø +Ð +Ð +Ð +Ð +Ð +Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7ð 	ˆ"€X��Bˆx˜"˜b˜ A q 6¨A¨q¨6°A°q°6Ð:€ØÐÐ€Øˆ"€X��1ˆv˜˜1�vÐ€Øˆjˆj€ð 0�8Ô/ØØØØØØØðñ ô Ñ €ˆð €xÔÑÔ€ØÐ˜ÑÔ€Ø
‡‚�t”{Ô'Ñ(Ô(€ØŒI�dŒO€„	ØŒk˜$Ô€„ð (ˆxÔ'°#À"ÐSTÐUÑUÔU�€€uð /�XÔ.¸È!ÐLÑLÔLÑ €ˆ(Ø�?Š?˜2œ:Ñ&Ô&€ð  œ×;Ò;Ñ=Ô=¸aÔ@ÔJÐ ð 1Ø4ðð Ð ð /Ø2ðð Ð ð Ð0ðÐ ð %) D¡F¤FÐ �4˜˜S˜”>Ð *Ð *Ñ *Ø × Ò Ð+Ñ ,Ô ,Ð ,Ø × Ò Ð*Ñ +Ô +Ð +Ø × Ò Ð,Ñ -Ô -Ð -à0B×0GÒ0GÑ0IÔ0IÐ ˜t C¨ Hœ~Ð IÐ IÑ IØ × $Ò $Ð%6Ñ 7Ô 7Ð 7ð „×Ò˜Ð!3Ñ4Ô4ð<ð <ñ 5Ô4ð<ð& „×Ò˜Ð!3Ñ4Ô4Ø„×Ò˜Ð&:Ñ;Ô;ðWð Wñ <Ô;ñ 5Ô4ðWð" „×Ò˜Ð!2Ñ3Ô3Ø„×ÒØÐDñô ðð ñô ñ 4Ô3ðð22/ð 2/ð 2/ðj „×Ò˜Ð&BÑCÔCð>ð >ñ DÔCð>ð& „×Ò˜Ð!2Ñ3Ô3ð(ð (ñ 4Ô3ð(ð „×Ò˜Ð!3Ñ4Ô4ð
ð 
ñ 5Ô4ð
ð  „×Ò˜ 2¤:¨r¬zÐ":Ñ;Ô;Ø„×ÒØØ€I„OØˆÐ" V¨ZÐ$8Ñ9Ô9ØˆÐ!Ð#VÐ#VÐ#VÑWÔWñô ñô ð'Hð 'Hñô ñ <Ô;ð'HðTj@ð j@ð j@ðZ „×Ò˜Ð!2Ñ3Ô3ðCð Cñ 4Ô3ðCð „×ÒÐ+Ð-?×-FÒ-FÑ-HÔ-HÑIÔIØ„×Ò˜Ð#HÐ#HÐ#HÑIÔIØ„×ÒØ ð	
Ø)ˆXÔ)°CÀ1ÐSTÐUÑUÔUð	
àð	
ð 	
ð	
Ø)ˆXÔ)Ø¨!¸1È1ðñ ô ð	
ð ð		
ð 	
ð ŒIØŒK˜!‰O˜aÑØð	
ð
	
Ø4ˆXÔ4¸sÐQRÐSÑSÔSð	
àð	
ð 	
ð!ñô ð0 „×Ò˜ t¨W¨W°XÀwÐ-OÑ-OÔ-OÐ&PÑQÔQð'Eð 'Eñ RÔQñ1ô ñ JÔIñ JÔIð6'EðT „×ÒÐ*Ð,=×,DÒ,DÑ,FÔ,FÑGÔGØ„×Ò˜Ð#HÐ#HÐ#HÑIÔIØ„×ÒØð	
Ø%ˆXÔ%Ø¨"¸Èðñ ô ð	
ð ð		
ð 	
ð	
Ø%ˆXÔ%Ø¨"¸Èðñ ô ð	
ð ð		
ð 	
ðñô ð" „×Ò˜ tÐ-EÐ&FÑGÔGð%=ð %=ñ HÔGñ#ô ñ JÔIñ HÔGð(%=ðP „×ÒÐ*Ð,I×,PÒ,PÑ,RÔ,RÑSÔSð
.ð 
.ñ TÔSð
.ð „×ÒÐ*Ð,I×,PÒ,PÑ,RÔ,RÑSÔSð	ð 	ñ TÔSð	ð „×ÒÐ+Ð-?×-FÒ-FÑ-HÔ-HÑIÔIðð ñ JÔIðð „×ÒÐ*Ð,=×,DÒ,DÑ,FÔ,FÑGÔGðJð Jñ HÔGðJð: „×Ò˜ t¨U mÑ4Ô4ðCð Cñ 5Ô4ðCð „×Ò˜Ð!3Ñ4Ô4ð$ð $ñ 5Ô4ð$ð „×Ò˜Ð!>Ñ?Ô?ð)ð )ñ @Ô?ð)ð, „×Ò˜Ð!>Ñ?Ô?ðð ñ @Ô?ðð* „×Ò˜Ð!>Ñ?Ô?ð00ð 00ñ @Ô?ð00ðf „×Ò˜Ð!3Ñ4Ô4ð4,ð 4,ñ 5Ô4ð4,ðn „×Ò˜Ð!3Ñ4Ô4ð9ð 9ñ 5Ô4ð9ð$
1ð 
1ð 
1ðLð Lð Lð( ð1ð 1ñ „ð1ð. „×Ò˜¨.Ñ9Ô9ðPð Pñ :Ô9ðPð2ð 2ð 2ð&3ð 3ð 3ðl „×Ò˜Ð!2Ñ3Ô3ð/ð /ñ 4Ô3ð/ð „×Ò˜Ð!2Ñ3Ô3ðSð Sñ 4Ô3ðSð& „×Ò˜Ð!2Ñ3Ô3ðRð Rñ 4Ô3ðRð. „×Ò˜Ð!2Ñ3Ô3ð
ð 
ñ 4Ô3ð
ð> „×Ò˜Ð!2Ñ3Ô3Ø„×ÒØ˜¨Ñ7¸.ÑHñô ð
ð 
ñô ñ 4Ô3ð
ð> „×Ò˜Ð!>Ñ?Ô?Ø„×Ò˜ 2¤:¨r¬zÐ":Ñ;Ô;ð;ð ;ñ <Ô;ñ @Ô?ð;ð8 „×Ò˜Ð!2Ñ3Ô3ðð ñ 4Ô3ðð$ „×Ò˜Ð!3Ñ4Ô4ð,Nð ,Nñ 5Ô4ð,Nð^ „×Ò˜Ð!3Ñ4Ô4ðð ñ 5Ô4ðð „×Ò˜Ð!3Ñ4Ô4ðð ñ 5Ô4ðð* „×Ò˜Ð!2Ñ3Ô3ðð ñ 4Ô3ðð8 „×Ò˜Ð!2Ñ3Ô3ð<ð <ñ 4Ô3ð<ð" „×Ò˜Ð!2Ñ3Ô3ðð ñ 4Ô3ðð „×Ò˜Ð!2Ñ3Ô3ð5ð 5ñ 4Ô3ð5ð2 „×Ò˜Ð!>Ñ?Ô?ð/.ð /.ñ @Ô?ð/.ðd „×Ò˜Ð!>Ñ?Ô?ð?ð ?ñ @Ô?ð?ð("ð "ð "ð "ð „×Ò˜Ð!>Ñ?Ô?ðMð Mñ @Ô?ðMð05ð 5ð 5ð$ð ð ð,$ð $ð $ð $ð $Ð&ñ $ô $ð $ð !€Ô   ¨IÑ 6Ô 6Ð 6ð ðð ñ ÔððIð Ið IðQð Qð Qð „×Ò˜Ð!>Ñ?Ô?ð	ð 	ñ @Ô?ð	ð „×Ò˜Ð!>Ñ?Ô?ðð ñ @Ô?ðð „×Ò˜Ð!2Ñ3Ô3ð0ð 0ñ 4Ô3ð0ð* „×Ò˜Ð!3Ñ4Ô4ð:ð :ñ 5Ô4ð:ð$ „×Ò˜¨.Ñ9Ô9ðð ñ :Ô9ðð „×Ò˜Ð)?ÐAVÐ(WÑXÔXð4ð 4ñ YÔXð4ð< „×Ò˜Ð#4Ñ5Ô5ðð ñ 6Ô5ðð.ð .ð .ð4 „×Ò˜¨.Ñ9Ô9ð%ð %ñ :Ô9ð%ð& „×Ò˜Ð*>ÀÐ)EÑFÔFð	ð 	ñ GÔFð	ð „×Ò˜ $¨ Ñ+Ô+Ø„×Ò˜ t¨U mÑ4Ô4Ø„×Ò˜Ð(E×(LÒ(LÑ(NÔ(NÑOÔOð37ð 37ñ PÔOñ 5Ô4ñ ,Ô+ð37ðl „×ÒØà	Ô	!Ð#8Ð9Ø	Ô	%Ð'=Ð>ðñô ð>ð >ñô ð>ð> „×Ò˜Ð$:Ð<QÐ#RÑSÔSð%ð %ñ TÔSð%ðP	ð 	ð 	ð 	ð 	rV   