§
    qŠtj#ä  ã            
       ó®  — d Z ddlZddlZddlZddlZddlmZ ddl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mZ dd	lmZ dd
lmZ ddlmZmZ ddlmZ ddlmZ ddl m!Z! ddl"m#Z# ddl$m%Z% ddl&m'Z' ddl(m)Z) ddl*m+Z+ ddl,m-Z- ddl.m/Z/m0Z0m1Z1 ddl2m3Z3m4Z4m5Z5 eegZ6ddgddgddgddgddgddggZ7g d¢Z8ddgddgddggZ9g d¢Z: eddd d!d"¬#¦  «        \  Z;Z< e%e<¦  «        Z<ej=         >                    d¦  «        Z? e	j@        ¦   «         ZAe? B                    eAjC        jD        ¦  «        ZEeAjF        eE         eA_F        eAjC        eE         eA_C        d$„ ZGd%„ ZHejI         J                    d&d'¦  «        d(„ ¦   «         ZKejI         J                    d&d'¦  «        d)„ ¦   «         ZLejI         J                    d&d*¦  «        ejI         J                    d+d,¦  «        d-„ ¦   «         ¦   «         ZMejI         J                    d+d,¦  «        ejI         J                    d.d/¦  «        d0„ ¦   «         ¦   «         ZNd1„ ZOejI         J                    d2ee;e<feeAjF        eAjC        fg¦  «        d3„ ¦   «         ZPd4„ ZQd5„ ZRejI         J                    d6e4¦  «        d7„ ¦   «         ZSd8„ ZTd9„ ZUd:„ ZVd;„ ZWd<„ ZXejI         J                    d=e6¦  «        d>„ ¦   «         ZYd?„ ZZd@„ Z[dA„ Z\dB„ Z]dC„ Z^dD„ Z_dE„ Z`ejI         J                    dFe6¦  «        dG„ ¦   «         ZaejI         J                    dFe6¦  «        dH„ ¦   «         ZbejI         J                    dIedJfedKfedLfedJfedKfedLfg¦  «        dM„ ¦   «         ZcdN„ ZdejI        je        dO„ ¦   «         ZfejI        je        dP„ ¦   «         ZgejI         J                    dQe6¦  «        dR„ ¦   «         ZhejI         J                    dQe6¦  «        dS„ ¦   «         ZiejI         J                    dQe6¦  «        dT„ ¦   «         ZjejI         J                    dQe6¦  «        dU„ ¦   «         ZkejI         J                    dVe6¦  «        dW„ ¦   «         ZlejI         J                    dQe6¦  «        dX„ ¦   «         ZmejI         J                    dQe6¦  «        dY„ ¦   «         ZnejI         J                    dQe6¦  «        dZ„ ¦   «         ZoejI         J                    dQe6¦  «        d[„ ¦   «         ZpejI         J                    dQe6¦  «        ejI         J                    d\e3e4z   e5z   ¦  «        d]„ ¦   «         ¦   «         ZqejI         J                    dQe6¦  «        d^„ ¦   «         Zrd_„ ZsejI         J                    dQe6¦  «        d`„ ¦   «         Ztda„ Zudb„ Zvdc„ Zwdd„ ZxejI         J                    dee6¦  «        df„ ¦   «         ZyejI         J                    dee6¦  «        dg„ ¦   «         Zzdh„ Z{ejI         J                    dig dj¢¦  «        dk„ ¦   «         Z|dl„ Z}e1ejI         J                    dmeef¦  «        ejI         J                    d\e3e4z   e5z   ¦  «        dn„ ¦   «         ¦   «         ¦   «         Z~ejI         J                    dFeeg¦  «        do„ ¦   «         Zdp„ Z€dq„ Z�dr„ Z‚ds„ ZƒejI         J                    dteeefeeƒefeeefgg du¢¬v¦  «        dw„ ¦   «         Z„dx„ Z…dy„ Z†dz„ Z‡d{„ Zˆd|„ Z‰d}„ ZŠd~„ Z‹d„ ZŒd€„ Z�d�„ ZŽejI         J                    dVe6¦  «        d‚„ ¦   «         Z�dS )ƒzP
Testing for the gradient boosting module (sklearn.ensemble.gradient_boosting).
é    N)Úassert_allclose)Údatasets)Úclone)Úmake_classificationÚmake_regression)ÚDummyClassifierÚDummyRegressor)ÚGradientBoostingClassifierÚGradientBoostingRegressor)Ú_safe_divide)Úpredict_stages)ÚDataConversionWarningÚNotFittedError)ÚLinearRegression)Úmean_squared_error)Útrain_test_split)Úmake_pipeline)Úscale)ÚNuSVR)Úcheck_random_state)ÚNoSampleWeightWrapper)ÚInvalidParameterError)Úassert_array_almost_equalÚassert_array_equalÚskip_if_32bit)ÚCOO_CONTAINERSÚCSC_CONTAINERSÚCSR_CONTAINERSéþÿÿÿéÿÿÿÿé   é   )r    r    r    r!   r!   r!   é   )r    r!   r!   éd   é   é   é
   é   )Ú	n_samplesÚ
n_featuresÚn_informativeÚnoiseÚrandom_statec                  óæ   — t          d¬¦  «        } d}t          j        t          |¬¦  «        5  |                      t
          j        t
          j        ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z/Test exponential loss raises for n_classes > 2.Úexponential©Úlossz?loss='exponential' is only suitable for a binary classification©ÚmatchN)r
   ÚpytestÚraisesÚ
ValueErrorÚfitÚirisÚdataÚtarget©ÚclfÚmsgs     úk/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sklearn/ensemble/tests/test_gradient_boosting.pyÚtest_exponential_n_classes_gt_2r?   ;   s¨   € å
$¨-Ð
8Ñ
8Ô
8€CØ
K€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð (ð (Ø�Š•”	�4œ;Ñ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (s   ®+A&Á&A*Á-A*c                  óÜ   — t          t          ¬¦  «        } d}t          j        t          |¬¦  «        5  |                      t          t          ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z0Test raise if init_ has no predict_proba method.©ÚinitzŠThe 'init' parameter of GradientBoostingClassifier must be a str among {'zero'}, None or an object implementing 'fit' and 'predict_proba'.r2   N)r
   r   r4   r5   r6   r7   ÚXÚyr;   s     r>   Ú'test_raise_if_init_has_no_predict_probarE   C   sª   € å
$Õ*CÐ
DÑ
DÔ
D€Cð	Nð õ 
Œ•z¨Ð	-Ñ	-Ô	-ð ð Ø�Š••1‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ³!A!Á!A%Á(A%r1   ©Úlog_lossr/   c                 óN  — t          | d|¬¦  «        }t          j        t          ¦  «        5  |                     t
          ¦  «         d d d ¦  «         n# 1 swxY w Y   |                     t          t          ¦  «         t          |                     t
          ¦  «        t          ¦  «         dt          |j        ¦  «        k    sJ ‚|j        d d…         |j        dd …         z
  }t          j        |dk    ¦  «        sJ ‚|                     t          ¦  «        }|j        dk    sJ ‚d S )Nr'   )r1   Ún_estimatorsr-   r    r!   ç        )é   r'   r!   )r
   r4   r5   r6   ÚpredictÚTr7   rC   rD   r   Útrue_resultÚlenÚestimators_Útrain_score_ÚnpÚanyÚapplyÚshape)r1   Úglobal_random_seedr<   Úlog_loss_decreaseÚleavess        r>   Útest_classification_toyrY   N   sE  € õ %Ø Ð1Cðñ ô €Cõ 
Œ•zÑ	"Ô	"ð ð Ø�Š•A‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ‡G‚G�A�q�M„M€MÝ�s—{’{¥1‘~”~¥{Ñ3Ô3Ð3Ø•�S”_Ñ%Ô%Ò%Ð%Ð%Ð%àÔ(¨¨"¨Ô-°Ô0@ÀÀÀÔ0DÑDÐÝŒ6Ð# sÒ*Ñ+Ô+Ð+Ð+Ð+à�YŠY•q‰\Œ\€FØŒ<˜:Ò%Ð%Ð%Ð%Ð%Ð%s   ¬AÁAÁAc                 óˆ  — t          j        d|¬¦  «        \  }}d}|d |…         ||d …         }}|d |…         ||d …         }}dd| |dœ}	t          dddi|	¤Ž}
|
                     ||¦  «         t          ddd	i|	¤Ž}|                     ||¦  «         |
                     ||¦  «        |                     ||¦  «        k     sJ ‚d
d| |dœ}	t          dddi|	¤Ž}|                     ||¦  «         t          dddi|	¤Ž}|                     ||¦  «         |                     ||¦  «        |                     ||¦  «        k    sJ ‚d S )NéÐ  ©r)   r-   iô  r!   ç      ð?)Ú	max_depthÚlearning_rater1   r-   rI   r'   é2   éÈ   )rI   r_   r1   r-   r^   Úmax_leaf_nodes© )r   Úmake_hastie_10_2r
   r7   Úscore)r1   rV   rC   rD   Ú	split_idxÚX_trainÚX_testÚy_trainÚy_testÚcommon_paramsÚgbrt_10_stumpsÚgbrt_50_stumpsÚgbrt_stumpsÚgbrt_10_nodess                 r>   Útest_classification_syntheticrp   c   s«  € õ Ô$¨tÐBTÐUÑUÔU�D€A€qà€IØ˜
˜˜
”m Q y z z¤]ˆV€GØ˜
˜˜
”m Q y z z¤]ˆV€Gð ØØØ*ð	ð €Mõ 0ÐQÐQ¸RÐQÀ=ÐQÐQ€NØ×Ò�w Ñ(Ô(Ð(å/ÐQÐQ¸RÐQÀ=ÐQÐQ€NØ×Ò�w Ñ(Ô(Ð(à×Ò ¨Ñ/Ô/°.×2FÒ2FÀvÈvÑ2VÔ2VÒVÐVÐVÐVð
 ØØØ*ð	ð €Mõ -ÐJÐJ°qÐJ¸MÐJÐJ€KØ‡O‚O�G˜WÑ%Ô%Ð%å.ÐRÐR¸bÐRÀMÐRÐR€MØ×Ò�g˜wÑ'Ô'Ð'à×Ò˜V VÑ,Ô,¨}×/BÒ/BÀ6È6Ñ/RÔ/RÒRÐRÐRÐRÐRÐRó    )Úsquared_errorÚabsolute_errorÚhuberÚ	subsample)r]   ç      à?c           
      ó¢  — t          j        t          t          ¦  «        ¦  «        }d }d |d|z  fD ]�}t	          d| d|d|d¬¦  «        }|                     t          t          |¬¦  «         |                     t          ¦  «        }|j        dk    sJ ‚| 	                    t          ¦  «        }t          t          |¦  «        }	|	dk     sJ ‚|�	 |}Œžd S )	Nr"   é   r%   rv   )rI   r1   r^   ru   Úmin_samples_splitr-   r_   ©Úsample_weight)r$   rx   gš™™™™™©?)rR   ÚonesrO   Úy_regr   r7   ÚX_regrT   rU   rL   r   )
r1   ru   rV   r|   Úlast_y_predr{   ÚregrX   Úy_predÚmses
             r>   Útest_regression_datasetrƒ   ‘   sê   € õ
 Œ7•3•u‘:”:ÑÔ€DØ€KØ  a¨$¡hÐ/ð ð ˆõ (ØØØØØØ+Øð
ñ 
ô 
ˆð 	�Š••u¨MˆÑ:Ô:Ð:Ø—’�5Ñ!Ô!ˆØŒ|˜yÒ(Ð(Ð(Ð(à—’�UÑ#Ô#ˆÝ ¥¨Ñ/Ô/ˆØ�TŠzˆzˆzˆzàÐ"ð àˆˆð?ð rq   r{   )Nr!   c                 ó¢  — |dk    r+t          j        t          t          j        ¦  «        ¦  «        }t          dd|| ¬¦  «        }|                     t          j        t          j        |¬¦  «         |                     t          j        t          j        ¦  «        }|dk    sJ ‚| 	                    t          j        ¦  «        }|j
        dk    sJ ‚d S )Nr!   r$   rG   ©rI   r1   r-   ru   rz   çÍÌÌÌÌÌì?)é–   r$   r#   )rR   r|   rO   r8   r:   r
   r7   r9   re   rT   rU   )ru   r{   rV   r<   re   rX   s         r>   Ú	test_irisrˆ   º   s¶   € ð ˜ÒÐÝœ¥¥D¤KÑ 0Ô 0Ñ1Ô1ˆå
$ØØØ'Øð	ñ ô €Cð ‡G‚G�DŒI•t”{°-€GÑ@Ô@Ð@Ø�IŠI•d”i¥¤Ñ-Ô-€EØ�3Š;ˆ;ˆ;ˆ;à�YŠY•t”yÑ!Ô!€FØŒ<˜=Ò(Ð(Ð(Ð(Ð(Ð(rq   c                 óŒ  — t          | ¦  «        }ddddd| dœ}t          j        d|d¬	¦  «        \  }}|d d
…         |d d
…         }}|d
d …         |d
d …         }}t          di |¤Ž}	|	                     ||¦  «         t          ||	                     |¦  «        ¦  «        }
|
dk     sJ ‚t          j        d|¬¦  «        \  }}|d d
…         |d d
…         }}|d
d …         |d
d …         }}t          di |¤Ž}	|	                     ||¦  «         t          ||	                     |¦  «        ¦  «        }
|
dk     sJ ‚t          j        d|¬¦  «        \  }}|d d
…         |d d
…         }}|d
d …         |d
d …         }}t          di |¤Ž}	|	                     ||¦  «         t          ||	                     |¦  «        ¦  «        }
|
dk     sJ ‚d S )Nr$   r%   r"   çš™™™™™¹?rr   )rI   r^   ry   r_   r1   r-   é°  r]   ©r)   r-   r,   ra   g      @r\   g     ˆ£@gš™™™™™™?rc   )	r   r   Úmake_friedman1r   r7   r   rL   Úmake_friedman2Úmake_friedman3)rV   r-   Úregression_paramsrC   rD   rg   ri   rh   rj   r<   r‚   s              r>   Útest_regression_syntheticr‘   Î   s  € õ &Ð&8Ñ9Ô9€LàØØØØØ*ðð Ðõ Ô"¨TÀÐTWÐXÑXÔX�D€A€qØ˜˜#˜”w  $ 3 $¤ˆW€GØ�s�t�t”W˜a   œgˆF€Få
#Ð
8Ð
8Ð&7Ð
8Ð
8€CØ‡G‚GˆG�WÑÔÐÝ
˜V S§[¢[°Ñ%8Ô%8Ñ
9Ô
9€CØ�Š9ˆ9ˆ9ˆ9õ Ô"¨TÀÐMÑMÔM�D€A€qØ˜˜#˜”w  $ 3 $¤ˆW€GØ�s�t�t”W˜a   œgˆF€Få
#Ð
8Ð
8Ð&7Ð
8Ð
8€CØ‡G‚GˆG�WÑÔÐÝ
˜V S§[¢[°Ñ%8Ô%8Ñ
9Ô
9€CØ�Š<ˆ<ˆ<ˆ<õ Ô"¨TÀÐMÑMÔM�D€A€qØ˜˜#˜”w  $ 3 $¤ˆW€GØ�s�t�t”W˜a   œgˆF€Få
#Ð
8Ð
8Ð&7Ð
8Ð
8€CØ‡G‚GˆG�WÑÔÐÝ
˜V S§[¢[°Ñ%8Ô%8Ñ
9Ô
9€CØ�Š;ˆ;ˆ;ˆ;ˆ;ˆ;rq   zGradientBoosting, X, yc                 óŽ   —  | ¦   «         }t          |d¦  «        rJ ‚|                     ||¦  «         t          |d¦  «        sJ ‚d S )NÚfeature_importances_)Úhasattrr7   )ÚGradientBoostingrC   rD   Úgbdts       r>   Útest_feature_importancesr—   ú   sW   € ð ÐÑÔ€DÝ�tÐ3Ñ4Ô4Ð4Ð4Ð4Ø‡H‚HˆQ��N„N€NÝ�4Ð/Ñ0Ô0Ð0Ð0Ð0Ð0Ð0rq   c                 ó~  — t          d| ¬¦  «        }t          j        t          ¦  «        5  |                     t
          ¦  «         d d d ¦  «         n# 1 swxY w Y   |                     t          t          ¦  «         t          | 
                    t
          ¦  «        t          ¦  «         |                     t
          ¦  «        }t          j        |dk    ¦  «        sJ ‚t          j        |dk    ¦  «        sJ ‚|j                             |                     d¬¦  «        d¬¦  «        }t          |t          ¦  «         d S )Nr$   ©rI   r-   rJ   r]   r!   )Úaxisr   )r
   r4   r5   r6   Úpredict_probarM   r7   rC   rD   r   rL   rN   rR   ÚallÚclasses_ÚtakeÚargmax)rV   r<   Úy_probar�   s       r>   Útest_probability_logr¡   
  sD  € å
$°#ÐDVÐ
WÑ
WÔ
W€Cå	Œ•zÑ	"Ô	"ð ð Ø×Ò�!ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ‡G‚G�A�q�M„M€MÝ�s—{’{¥1‘~”~¥{Ñ3Ô3Ð3ð ×Ò¥Ñ"Ô"€GÝŒ6�'˜S’.Ñ!Ô!Ð!Ð!Ð!ÝŒ6�'˜S’.Ñ!Ô!Ð!Ð!Ð!ð Œ\×Ò˜wŸ~š~°1˜~Ñ5Ô5¸AÐÑ>Ô>€FÝ�v�{Ñ+Ô+Ð+Ð+Ð+s   «AÁAÁAc                  óà   — g d¢} t          dd¬¦  «        }d}t          j        t          |¬¦  «        5  |                     t
          t          | ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)r   r   r   r!   r!   r!   r$   r!   r™   zty contains 1 class after sample_weight trimmed classes with zero weights, while a minimum of 2 classes are required.r2   rz   )r
   r4   r5   r6   r7   rC   rD   )r{   r<   r=   s      r>   Ú$test_single_class_with_sample_weightr£     s½   € Ø&Ð&Ð&€MÝ
$°#ÀAÐ
FÑ
FÔ
F€Cð	Cð õ 
Œ•z¨Ð	-Ñ	-Ô	-ð 3ð 3Ø�Š••1 MˆÑ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3ð 3ð 3s   ³#A#Á#A'Á*A'Úcsc_containerc                 ó`  — t          j        dd¬¦  «        \  }} | |¦  «        }t          dd¬¦  «        }|                     ||¦  «         t	          j        |j        ¦  «                             dd¦  «        }d}t          j	        t          |¬¦  «        5  t          |j        ||j        |¦  «         d d d ¦  «         n# 1 swxY w Y   t	          j        |¦  «        }t          j	        t          d¬¦  «        5  t          |j        ||j        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nr$   r!   r\   r™   r    z3When X is a sparse matrix, a CSR format is expectedr2   z X should be C-ordered np.ndarray)r   rd   r
   r7   rR   ÚzerosrU   Úreshaper4   r5   r6   r   rP   r_   Úasfortranarray)r¤   ÚxrD   Úx_sparse_cscr<   re   Úerr_msgÚ	x_fortrans           r>   Ú test_check_inputs_predict_stagesr­   )  sÀ  € õ Ô$¨sÀÐCÑCÔC�D€A€qØ �= Ñ#Ô#€LÝ
$°#ÀAÐ
FÑ
FÔ
F€CØ‡G‚GˆAˆq�M„M€MÝŒH�a”gÑÔ×'Ò'¨¨AÑ.Ô.€EØC€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð Pð PÝ�s”¨°cÔ6GÈÑOÔOÐOðPð Pð Pñ Pô Pð Pð Pð Pð Pð Pð Pøøøð Pð Pð Pð PåÔ! !Ñ$Ô$€IÝ	Œ•zÐ)KÐ	LÑ	LÔ	Lð Mð MÝ�s”¨	°3Ô3DÀeÑLÔLÐLðMð Mð Mñ Mô Mð Mð Mð Mð Mð Mð Mð Møøøð Mð Mð Mð Mð Mð Ms$   ÂB?Â?CÃCÃ9D#Ä#D'Ä*D'c                 óV  — t          j        d| ¬¦  «        \  }}|d d…         |dd …         }}|d d…         |dd …         }}t          ddddd| ¬¦  «        }|                     ||¦  «         |                     ||                     |¦  «        ¦  «        }|d	k     sJ d
|z  ¦   «         ‚d S )Néà.  r\   r[   r$   é   r"   rŠ   )rI   ry   r^   r_   Úmax_featuresr-   rv   zGB failed with deviance %.4f)r   rd   r
   r7   Ú_lossÚdecision_function)	rV   rC   rD   rg   rh   ri   rj   ÚgbrtrG   s	            r>   Útest_max_feature_regressionrµ   :  sÈ   € åÔ$¨uÐCUÐVÑVÔV�D€A€qà˜˜˜”h  $ % %¤ˆV€GØ˜˜˜”h  $ % %¤ˆV€Gå%ØØØØØØ'ðñ ô €Dð 	‡H‚HˆW�gÑÔÐØ�zŠz˜& $×"8Ò"8¸Ñ"@Ô"@ÑAÔA€HØ�cŠ>ˆ>ˆ>Ð9¸HÑD‰>Œ>ˆ>ˆ>ˆ>rq   c                 ót  ‡—  | ¦   «         Š‰j         ‰j        }}t          |||¬¦  «        \  }}}}t          dddd|¬¦  «        }|                     ||¦  «         t          j        |j        ¦  «        ddd…         }	ˆfd	„|	D ¦   «         }
|
d
         dk    sJ ‚t          |
dd…         ¦  «        h d£k    sJ ‚dS )a  Test that Gini importance is calculated correctly.

    This test follows the example from [1]_ (pg. 373).

    .. [1] Friedman, J., Hastie, T., & Tibshirani, R. (2001). The elements
       of statistical learning. New York: Springer series in statistics.
    ©r-   rt   rŠ   rK   r$   )r1   r_   rb   rI   r-   Nr    c                 ó*   •— g | ]}‰j         |         ‘ŒS rc   )Úfeature_names)Ú.0ÚsÚ
californias     €r>   ú
<listcomp>z6test_feature_importance_regression.<locals>.<listcomp>g  s!   ø€ ÐGÐGÐG°q�zÔ/°Ô2ÐGÐGÐGrq   r   ÚMedIncr!   r%   >   ÚAveOccupÚLatitudeÚ	Longitude)	r9   r:   r   r   r7   rR   Úargsortr“   Úset)Úfetch_california_housing_fxtrV   rC   rD   rg   rh   ri   rj   r€   Ú
sorted_idxÚsorted_featuresr¼   s              @r>   Ú"test_feature_importance_regressionrÇ   N  s   ø€ ð .Ð-Ñ/Ô/€JØŒ?˜JÔ-€q€AÝ'7Ø	ˆ1Ð-ð(ñ (ô (Ñ$€GˆV�W˜fõ $ØØØØØ'ðñ ô €Cð ‡G‚GˆG�WÑÔÐÝ”˜CÔ4Ñ5Ô5°d°d¸°dÔ;€JØGÐGÐGÐG¸JÐGÑGÔG€Oð ˜1Ô Ò)Ð)Ð)Ð)õ
 ˆ˜q ˜sÔ#Ñ$Ô$Ð(MÐ(MÐ(MÒMÐMÐMÐMÐMÐMrq   c                  óœ  — t          j        dd¬¦  «        \  } }| j        \  }}| d d…         }|d d…         }t          dd ¬¦  «        }|                     ||¦  «         |j        |k    sJ ‚t          dd ¬¦  «        }|                     ||¦  «         |j        |k    sJ ‚t          dd¬¦  «        }|                     ||¦  «         |j        t          |dz  ¦  «        k    sJ ‚t          dd¬¦  «        }|                     ||¦  «         |j        t          t          j	        |¦  «        ¦  «        k    sJ ‚t          dd¬¦  «        }|                     ||¦  «         |j        t          t          j
        |¦  «        ¦  «        k    sJ ‚t          dd	| j        d         z  ¬¦  «        }|                     ||¦  «         |j        dk    sJ ‚d S )
Nr¯   r!   r\   r[   )rI   r±   ç333333Ó?ÚsqrtÚlog2ç{®Gáz„?)r   rd   rU   r
   r7   Úmax_features_r   ÚintrR   rÊ   rË   )rC   rD   Ú_r*   rg   ri   r´   s          r>   Útest_max_featuresrÐ   r  sß  € åÔ$¨uÀ1ÐEÑEÔE�D€A€qØ”G�M€A€zà���Œh€GØ���Œh€Gå%°1À4ÐHÑHÔH€DØ‡H‚HˆW�gÑÔÐØÔ Ò+Ð+Ð+Ð+å$°!À$ÐGÑGÔG€DØ‡H‚HˆW�gÑÔÐØÔ Ò+Ð+Ð+Ð+å$°!À#ÐFÑFÔF€DØ‡H‚HˆW�gÑÔÐØÔ¥ Z°#Ñ%5Ñ!6Ô!6Ò6Ð6Ð6Ð6å$°!À&ÐIÑIÔI€DØ‡H‚HˆW�gÑÔÐØÔ¥¥R¤W¨ZÑ%8Ô%8Ñ!9Ô!9Ò9Ð9Ð9Ð9å$°!À&ÐIÑIÔI€DØ‡H‚HˆW�gÑÔÐØÔ¥¥R¤W¨ZÑ%8Ô%8Ñ!9Ô!9Ò9Ð9Ð9Ð9å$°!À$ÈÌÐQRÌÑBSÐTÑTÔT€DØ‡H‚HˆW�gÑÔÐØÔ Ò"Ð"Ð"Ð"Ð"Ð"rq   c                  ó$  — t          j        ddd¬¦  «        \  } }| d d…         |d d…         }}| dd …         }t          ¦   «         }t          j        t
          ¦  «        5  t          j        |                     |¦  «        t          j	        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   | 
                    ||¦  «         |                     |¦  «        }|                     |¦  «        D ]}|j        |j        k    sJ ‚Œt          ||¦  «         d S )Nr‹   r!   r]   rŒ   ra   ©Údtype)r   r�   r   r4   r5   r6   rR   ÚfromiterÚstaged_predictÚfloat64r7   rL   rU   r   )rC   rD   rg   ri   rh   r<   r�   s          r>   Útest_staged_predictr×   “  s_  € õ Ô"¨TÀÈÐMÑMÔM�D€A€qØ˜˜#˜”w  $ 3 $¤ˆW€GØˆsˆtˆtŒW€FÝ
#Ñ
%Ô
%€Cå	Œ•zÑ	"Ô	"ð Bð BÝ
Œ�C×&Ò& vÑ.Ô.µb´jÐAÑAÔAÐAðBð Bð Bñ Bô Bð Bð Bð Bð Bð Bð Bøøøð Bð Bð Bð Bð ‡G‚GˆG�WÑÔÐØ�[Š[˜Ñ Ô €Fð ×Ò Ñ'Ô'ð 'ð 'ˆØŒw˜&œ,Ò&Ð&Ð&Ð&Ð&å˜f aÑ(Ô(Ð(Ð(Ð(s   Á 4B Â B$Â'B$c                  ó  — t          j        dd¬¦  «        \  } }| d d…         |d d…         }}| dd …         |dd …         }}t          d¬¦  «        }t          j        t
          ¦  «        5  t          j        |                     |¦  «        t          j	        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   | 
                    ||¦  «         |                     |¦  «        D ]}|j        |j        k    sJ ‚Œt          |                     |¦  «        |¦  «         |                     |¦  «        D ]3}|j        d         |j        d         k    sJ ‚d	|j        d         k    sJ ‚Œ4t          |                     |¦  «        |¦  «         d S )
Nr‹   r!   r\   ra   é   ©rI   rÒ   r   r"   )r   rd   r
   r4   r5   r   rR   rÔ   Ústaged_predict_probarÖ   r7   rÕ   rU   r   rL   r   r›   )	rC   rD   rg   ri   rh   rj   r<   r�   Ústaged_probas	            r>   Útest_staged_predict_probarÝ   ¨  sá  € õ Ô$¨tÀ!ÐDÑDÔD�D€A€qØ˜˜#˜”w  $ 3 $¤ˆW€GØ�s�t�t”W˜a   œgˆF€FÝ
$°"Ð
5Ñ
5Ô
5€Cå	Œ•~Ñ	&Ô	&ð Hð HÝ
Œ�C×,Ò,¨VÑ4Ô4½B¼JÐGÑGÔGÐGðHð Hð Hñ Hô Hð Hð Hð Hð Hð Hð Høøøð Hð Hð Hð Hð ‡G‚GˆG�WÑÔÐð ×$Ò$ VÑ,Ô,ð ,ð ,ˆØŒ|˜vœ|Ò+Ð+Ð+Ð+Ð+å�s—{’{ 6Ñ*Ô*¨FÑ3Ô3Ð3ð ×0Ò0°Ñ8Ô8ð *ð *ˆØŒ|˜AŒ ,Ô"4°QÔ"7Ò7Ð7Ð7Ð7Ø�LÔ& qÔ)Ò)Ð)Ð)Ð)Ð)å˜c×/Ò/°Ñ7Ô7¸ÑFÔFÐFÐFÐFs   Á+4B+Â+B/Â2B/Ú	Estimatorc                 ó   — t           j                             |¦  «        }|                     d¬¦  «        }d|d d …df         z                       t
          ¦  «        dz   } | ¦   «         }|                     ||¦  «         dD ]‹}t          |d|z   d ¦  «        }|€Œt          j	        d¬	¦  «        5  t           ||¦  «        ¦  «        }d d d ¦  «         n# 1 swxY w Y   d|d         d d …<   t          j        |d         dk    ¦  «        sJ ‚ŒŒd S )
N)r'   r#   )Úsizer%   r   r!   )rL   r³   r›   Ústaged_T)Úrecord)rR   ÚrandomÚRandomStateÚuniformÚastyperÎ   r7   ÚgetattrÚwarningsÚcatch_warningsÚlistrœ   )	rÞ   rV   ÚrngrC   rD   Ú	estimatorÚfuncÚstaged_funcÚstaged_results	            r>   Útest_staged_functions_defensiverð   Ã  s`  € õ Œ)×
Ò
Ð 2Ñ
3Ô
3€CØ�Š˜ˆÑ!Ô!€AØ	
ˆQˆqˆqˆq�!ˆtŒW‰×Ò�SÑ!Ô! AÑ%€AØ�	‘”€IØ‡M‚M�!�QÑÔÐØAð -ð -ˆÝ˜i¨°TÑ)9¸4Ñ@Ô@ˆØÐàÝÔ$¨DÐ1Ñ1Ô1ð 	1ð 	1Ý   ¨Q¡¤Ñ0Ô0ˆMð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1àˆ�aÔ˜˜˜ÑÝŒv�m AÔ&¨!Ò+Ñ,Ô,Ð,Ð,Ð,Ð,ð-ð -s   Â0CÃC	ÃC	c                  ó  — t          dd¬¦  «        } |                      t          t          ¦  «         t	          |                      t          ¦  «        t          ¦  «         dt          | j	        ¦  «        k    sJ ‚	 dd l
}n# t          $ r dd l}Y nw xY w|                     | |j        ¬¦  «        }d } |                     |¦  «        } t	          |                      t          ¦  «        t          ¦  «         dt          | j	        ¦  «        k    sJ ‚d S )Nr$   r!   r™   r   )Úprotocol)r
   r7   rC   rD   r   rL   rM   rN   rO   rP   ÚcPickleÚImportErrorÚpickleÚdumpsÚHIGHEST_PROTOCOLÚloads)r<   rõ   Úserialized_clfs      r>   Útest_serializationrú   Ö  s  € å
$°#ÀAÐ
FÑ
FÔ
F€Cà‡G‚G�A�q�M„M€MÝ�s—{’{¥1‘~”~¥{Ñ3Ô3Ð3Ø•#�c”oÑ&Ô&Ò&Ð&Ð&Ð&ðØ Ð Ð Ð Ð øÝð ð ð Øˆˆˆˆˆðøøøð —\’\ #°Ô0G�\ÑHÔH€NØ
€CØ
�,Š,�~Ñ
&Ô
&€CÝ�s—{’{¥1‘~”~¥{Ñ3Ô3Ð3Ø•#�c”oÑ&Ô&Ò&Ð&Ð&Ð&Ð&Ð&s   Á:A? Á?BÂBc            	      ó¸  — t          dd¬¦  «        } t          j        t          ¦  «        5  |                      t
          t          j        t          t
          ¦  «        ¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          dd¬¦  «        } |                      t
          t          j        t          t
          ¦  «        ¦  «        ¦  «         |  
                    t                               d¦  «        g¦  «         t          t          j        dt          j        ¬¦  «        |  
                    t                               d¦  «        g¦  «        ¦  «         d S )Nr$   r!   r™   r"   )r!   rÒ   )r
   r4   r5   r6   r7   rC   rR   r|   rO   r   rL   rë   Úrandr   rÖ   ©r<   s    r>   Útest_degenerate_targetsrþ   ê  s0  € å
$°#ÀAÐ
FÑ
FÔ
F€Cõ 
Œ•zÑ	"Ô	"ð $ð $Ø�Š••2”7�3�q™6œ6‘?”?Ñ#Ô#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $õ $°À1Ð
EÑ
EÔ
E€CØ‡G‚G�A�rŒw•s�1‘v”v‰ŒÑÔÐØ‡K‚K•—’˜!‘”�ÑÔÐÝ•r”w˜t­2¬:Ð6Ñ6Ô6¸¿ºÅSÇXÂXÈaÁ[Ä[ÀMÑ8RÔ8RÑSÔSÐSÐSÐSs   «A A7Á7A;Á>A;c                 ó\  — t          dddd| ¬¦  «        }|                     t          t          ¦  «         |                     t          ¦  «        }t          ddd| ¬¦  «        }|                     t          t          ¦  «         |                     t          ¦  «        }t          ||¦  «         d S )Nr$   Úquantiler%   rv   )rI   r1   r^   Úalphar-   rs   )rI   r1   r^   r-   )r   r7   r~   r}   rL   r   )rV   Úclf_quantileÚ
y_quantileÚclf_aeÚy_aes        r>   Útest_quantile_lossr  ø  s­   € å,ØØØØØ'ðñ ô €Lð ×Ò•U�EÑ"Ô"Ð"Ø×%Ò%¥eÑ,Ô,€Jå&ØØØØ'ð	ñ ô €Fð ‡J‚J�u•eÑÔÐØ�>Š>�%Ñ Ô €DÝ�J Ñ%Ô%Ð%Ð%Ð%rq   c            	      óz  — t          dd¬¦  «        } t          t          t          t          ¦  «        ¦  «        }|                      t          |¦  «         t          |                      t          ¦  «        t          t          t          t          ¦  «        ¦  «        ¦  «         dt          | j        ¦  «        k    sJ ‚d S )Nr$   r!   r™   )r
   rê   ÚmapÚstrrD   r7   rC   r   rL   rM   rN   rO   rP   )r<   Úsymbol_ys     r>   Útest_symbol_labelsr    sŠ   € å
$°#ÀAÐ
FÑ
FÔ
F€Cå•C��Q‘K”KÑ Ô €Hà‡G‚G�AˆxÑÔÐÝ�s—{’{¥1‘~”~¥t­Cµµ[Ñ,AÔ,AÑ'BÔ'BÑCÔCÐCØ•#�c”oÑ&Ô&Ò&Ð&Ð&Ð&Ð&Ð&rq   c                  ór  — t          dd¬¦  «        } t          j        t          t          j        ¬¦  «        }|                      t          |¦  «         t          |                      t          ¦  «        t          j        t          t          j        ¬¦  «        ¦  «         dt          | j        ¦  «        k    sJ ‚d S ©Nr$   r!   r™   rÒ   )r
   rR   ÚasarrayrD   Úfloat32r7   rC   r   rL   rM   rN   rO   rP   )r<   Úfloat_ys     r>   Útest_float_class_labelsr    sŠ   € å
$°#ÀAÐ
FÑ
FÔ
F€CåŒj�¥"¤*Ð-Ñ-Ô-€Gà‡G‚G�AˆwÑÔÐÝ�s—{’{¥1‘~”~¥r¤zµ+ÅRÄZÐ'PÑ'PÔ'PÑQÔQÐQØ•#�c”oÑ&Ô&Ò&Ð&Ð&Ð&Ð&Ð&rq   c                  óÌ  — t          dd¬¦  «        } t          j        t          t          j        ¬¦  «        }|d d …t          j        f         }d}t          j        t          |¬¦  «        5  |  	                    t          |¦  «         d d d ¦  «         n# 1 swxY w Y   t          |                      t          ¦  «        t          ¦  «         dt          | j        ¦  «        k    sJ ‚d S )Nr$   r!   r™   rÒ   z†A column-vector y was passed when a 1d array was expected. Please change the shape of y to \(n_samples, \), for example using ravel().r2   )r
   rR   r  rD   Úint32Únewaxisr4   Úwarnsr   r7   rC   r   rL   rM   rN   rO   rP   )r<   Úy_Úwarn_msgs      r>   Útest_shape_yr  '  s  € å
$°#ÀAÐ
FÑ
FÔ
F€Cå	Œ•A�RœXÐ	&Ñ	&Ô	&€BØ	ˆAˆAˆA�rŒzˆMÔ	€Bð	!ð õ
 
ŒÕ+°8Ð	<Ñ	<Ô	<ð ð Ø�Š•�2‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å�s—{’{¥1‘~”~¥{Ñ3Ô3Ð3Ø•#�c”oÑ&Ô&Ò&Ð&Ð&Ð&Ð&Ð&s   Á*BÂBÂBc                  óæ  — t          j        t          ¦  «        } t          dd¬¦  «        }|                     | t
          ¦  «         t          |                     t          ¦  «        t          ¦  «         dt          |j        ¦  «        k    sJ ‚t          j        t          ¦  «        } t          dd¬¦  «        }|                     | t
          ¦  «         t          |                     t          ¦  «        t          ¦  «         dt          |j        ¦  «        k    sJ ‚t          j        t
          t           j        ¬¦  «        }t          j        |¦  «        }t          dd¬¦  «        }|                     t          |¦  «         t          |                     t          ¦  «        t          ¦  «         dt          |j        ¦  «        k    sJ ‚t          j        t
          t           j        ¬¦  «        }t          j        |¦  «        }t          dd¬¦  «        }|                     t          |¦  «         t          |                     t          ¦  «        t          ¦  «         dt          |j        ¦  «        k    sJ ‚d S r  )rR   r¨   rC   r
   r7   rD   r   rL   rM   rN   rO   rP   Úascontiguousarrayr  r  )ÚX_r<   r  s      r>   Útest_mem_layoutr  <  sÔ  € å	Ô	�1Ñ	Ô	€BÝ
$°#ÀAÐ
FÑ
FÔ
F€CØ‡G‚GˆB•�N„N€NÝ�s—{’{¥1‘~”~¥{Ñ3Ô3Ð3Ø•#�c”oÑ&Ô&Ò&Ð&Ð&Ð&å	Ô	�aÑ	 Ô	 €BÝ
$°#ÀAÐ
FÑ
FÔ
F€CØ‡G‚GˆB•�N„N€NÝ�s—{’{¥1‘~”~¥{Ñ3Ô3Ð3Ø•#�c”oÑ&Ô&Ò&Ð&Ð&Ð&å	Œ•A�RœXÐ	&Ñ	&Ô	&€BÝ	Ô	˜bÑ	!Ô	!€BÝ
$°#ÀAÐ
FÑ
FÔ
F€CØ‡G‚G�Aˆr�N„N€NÝ�s—{’{¥1‘~”~¥{Ñ3Ô3Ð3Ø•#�c”oÑ&Ô&Ò&Ð&Ð&Ð&å	Œ•A�RœXÐ	&Ñ	&Ô	&€BÝ	Ô	˜2Ñ	Ô	€BÝ
$°#ÀAÐ
FÑ
FÔ
F€CØ‡G‚G�Aˆr�N„N€NÝ�s—{’{¥1‘~”~¥{Ñ3Ô3Ð3Ø•#�c”oÑ&Ô&Ò&Ð&Ð&Ð&Ð&Ð&rq   ÚGradientBoostingEstimatorc                 óø   —  | ddd¬¦  «        }|                      t          t          ¦  «         |j        j        d         dk    sJ ‚t          |j        d d…         t          j        g d¢¦  «        d¬	¦  «         d S )
Nr$   r!   rv   ©rI   r-   ru   r   r°   )gR¸…ëQÈ?g333333Ã?g¸…ëQ¸¾?g)\�Âõ(¼¿g)\�Âõ(¼?r"   )Údecimal)r7   rC   rD   Úoob_improvement_rU   r   rR   Úarray)r  rì   s     r>   Útest_oob_improvementr#  Y  s›   € ð *Ð)Ø q°Cðñ ô €Ið ‡M‚M•!•QÑÔÐØÔ%Ô+¨AÔ.°#Ò5Ð5Ð5Ð5åØÔ" 2 A 2Ô&Ý
ŒÐ0Ð0Ð0Ñ1Ô1Øðñ ô ð ð ð rq   c                 óÒ  — t          j        dd¬¦  «        \  }} | ddd¬¦  «        }|                     ||¦  «         |j        j        d         dk    sJ ‚|j        d         t          j        |j        ¦  «        k    sJ ‚ | dddd¬	¦  «        }|                     ||¦  «         |j        j        d         dk     sJ ‚|j        d         t          j        |j        ¦  «        k    sJ ‚d S )
Nr$   r!   r\   rv   r  r   r    r°   )rI   r-   ru   Ún_iter_no_change)r   rd   r7   Úoob_scores_rU   r4   ÚapproxÚ
oob_score_)r  rC   rD   rì   s       r>   Útest_oob_scoresr)  i  s  € õ Ô$¨sÀÐCÑCÔC�D€A€qØ)Ð)Ø q°Cðñ ô €Ið ‡M‚M�!�QÑÔÐØÔ Ô& qÔ)¨SÒ0Ð0Ð0Ð0ØÔ  Ô$­¬°iÔ6JÑ(KÔ(KÒKÐKÐKÐKà)Ð)ØØØØð	ñ ô €Ið ‡M‚M�!�QÑÔÐØÔ Ô& qÔ)¨CÒ/Ð/Ð/Ð/ØÔ  Ô$­¬°iÔ6JÑ(KÔ(KÒKÐKÐKÐKÐKÐKrq   z(GradientBoostingEstimator, oob_attributer!  r&  r(  c                 óò   — t          j        dd¬¦  «        \  }} | ddd¬¦  «        }|                     ||¦  «         t          j        t
          ¦  «        5  |j         ddd¦  «         dS # 1 swxY w Y   dS )zZ
    Check that we raise an AttributeError when the OOB statistics were not computed.
    r$   r!   r\   r]   r  N)r   rd   r7   r4   r5   ÚAttributeErrorÚoob_attribute)r  r,  rC   rD   rì   s        r>   Útest_oob_attributes_errorr-    sÐ   € õ Ô$¨sÀÐCÑCÔC�D€A€qØ)Ð)ØØØðñ ô €Ið
 ‡M‚M�!�QÑÔÐÝ	Œ•~Ñ	&Ô	&ð  ð  ØÔÐð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  ð  ð  s   ÁA,Á,A0Á3A0c                  óD  — t          dddd¬¦  «        } |                      t          j        t          j        ¦  «         |                      t          j        t          j        ¦  «        }|dk    sJ ‚| j        j        d         | j        k    sJ ‚| j	        j        d         | j        k    sJ ‚| j	        d         t          j        | j        ¦  «        k    sJ ‚t          ddddd	¬
¦  «        } |                      t          j        t          j        ¦  «         |                      t          j        t          j        ¦  «        }| j        j        d         | j        k     sJ ‚| j	        j        d         | j        k     sJ ‚| j	        d         t          j        | j        ¦  «        k    sJ ‚d S )Nr$   rG   r!   rv   r…   r†   r   r    r°   )rI   r1   r-   ru   r%  )r
   r7   r8   r9   r:   re   r!  rU   rI   r&  r4   r'  r(  )rì   re   s     r>   Útest_oob_multilcass_irisr/  ™  s  € å*Ø˜z¸ÀSðñ ô €Ið ‡M‚M•$”)�Tœ[Ñ)Ô)Ð)Ø�OŠO�DœI¥t¤{Ñ3Ô3€EØ�3Š;ˆ;ˆ;ˆ;ØÔ%Ô+¨AÔ.°)Ô2HÒHÐHÐHÐHØÔ Ô& qÔ)¨YÔ-CÒCÐCÐCÐCØÔ  Ô$­¬°iÔ6JÑ(KÔ(KÒKÐKÐKÐKå*ØØØØØðñ ô €Ið ‡M‚M•$”)�Tœ[Ñ)Ô)Ð)Ø�OŠO�DœI¥t¤{Ñ3Ô3€EØÔ%Ô+¨AÔ.°Ô1GÒGÐGÐGÐGØÔ Ô& qÔ)¨IÔ,BÒBÐBÐBÐBØÔ  Ô$­¬°iÔ6JÑ(KÔ(KÒKÐKÐKÐKÐKÐKrq   c                  óô  — dd l } ddlm} | j        } |¦   «         | _        t	          dddd¬¦  «        }|                     t          t          ¦  «         | j        }|| _        |                     d¦  «         | 	                    ¦   «          
                    ¦   «         }d                     dgd	gd
z  z   ¦  «        dz  }||k    sJ ‚t          d„ |                     ¦   «         D ¦   «         ¦  «        }d|k    sJ ‚d S )Nr   ©ÚStringIOr$   r!   çš™™™™™é?)rI   r-   Úverboseru   ú ú%10sú%16sr#   )ÚIterú
Train LosszOOB ImproveúRemaining Timec              3   ó   K  — | ]}d V — ŒdS ©r!   Nrc   ©rº   Úls     r>   ú	<genexpr>z&test_verbose_output.<locals>.<genexpr>Ô  ó"   è è € Ð8Ð8˜�!Ð8Ð8Ð8Ð8Ð8Ð8rq   é   ©ÚsysÚior2  Ústdoutr
   r7   rC   rD   ÚseekÚreadlineÚrstripÚjoinÚsumÚ	readlines©rC  r2  Ú
old_stdoutr<   Úverbose_outputÚheaderÚtrue_headerÚn_liness           r>   Útest_verbose_outputrR  ¹  s  € ð €J€J€JØÐÐÐÐÐà”€JØ�‘”€C„JÝ
$Ø q°!¸sðñ ô €Cð ‡G‚G�A�q�M„M€MØ”Z€NØ€C„Jð ×Ò˜ÑÔÐØ×$Ò$Ñ&Ô&×-Ò-Ñ/Ô/€Fà—(’(˜F˜8 v h°¡lÑ2Ñ3Ô3ð 7ñ €Kð ˜&Ò Ð Ð Ð åÐ8Ð8˜^×5Ò5Ñ7Ô7Ð8Ñ8Ô8Ñ8Ô8€Gà�WÒÐÐÐÐÐrq   c                  óò  — dd l } ddlm} | j        } |¦   «         | _        t	          ddd¬¦  «        }|                     t          t          ¦  «         | j        }|| _        |                     d¦  «         | 	                    ¦   «          
                    ¦   «         }d                     dgd	gdz  z   ¦  «        d
z  }||k    sJ ‚t          d„ |                     ¦   «         D ¦   «         ¦  «        }d|k    sJ ‚d S )Nr   r1  r$   r!   r"   )rI   r-   r4  r5  r6  r7  )r8  r9  r:  c              3   ó   K  — | ]}d V — ŒdS r<  rc   r=  s     r>   r?  z+test_more_verbose_output.<locals>.<genexpr>ñ  r@  rq   rB  rL  s           r>   Útest_more_verbose_outputrU  Ù  s  € ð €J€J€JØÐÐÐÐÐà”€JØ�‘”€C„JÝ
$°#ÀAÈqÐ
QÑ
QÔ
Q€CØ‡G‚G�A�q�M„M€MØ”Z€NØ€C„Jð ×Ò˜ÑÔÐØ×$Ò$Ñ&Ô&×-Ò-Ñ/Ô/€Fà—(’(˜F˜8 v h°¡lÑ2Ñ3Ô3ð 7ñ €Kð
 ˜&Ò Ð Ð Ð åÐ8Ð8˜^×5Ò5Ñ7Ô7Ð8Ñ8Ô8Ñ8Ô8€Gà�'Š>ˆ>ˆ>ˆ>ˆ>ˆ>rq   ÚClsc                 ó|  — t          j        d|¬¦  «        \  }} | dd|¬¦  «        }|                     ||¦  «          | ddd|¬¦  «        }|                     ||¦  «         |                     d¬¦  «         |                     ||¦  «         | t          u r8t          |                     |¦  «        |                     |¦  «        ¦  «         d S t          |                     |¦  «        |                     |¦  «        ¦  «         t          |                     |¦  «        |                     |¦  «        ¦  «         d S )	Nr$   r\   ra   r!   ©rI   r^   r-   T©rI   r^   Ú
warm_startr-   rÚ   )	r   rd   r7   Ú
set_paramsr   r   rL   r   r›   ©rV  rV   rC   rD   ÚestÚest_wss         r>   Útest_warm_startr_  ö  s9  € õ Ô$¨sÐASÐTÑTÔT�D€A€qØ
ˆ#˜3¨!Ð:LÐ
MÑ
MÔ
M€CØ‡G‚GˆAˆq�M„M€MàˆSØ A°$ÐEWðñ ô €Fð ‡J‚Jˆq�!ÑÔÐØ
×Ò 3ÐÑ'Ô'Ð'Ø
‡J‚Jˆq�!ÑÔÐà
Õ'Ð'Ð'Ý˜Ÿš qÑ)Ô)¨3¯;ª;°q©>¬>Ñ:Ô:Ð:Ð:Ð:õ 	˜6Ÿ>š>¨!Ñ,Ô,¨c¯kªk¸!©n¬nÑ=Ô=Ð=Ý˜×,Ò,¨QÑ/Ô/°×1BÒ1BÀ1Ñ1EÔ1EÑFÔFÐFÐFÐFrq   c                 óŽ  — t          j        d|¬¦  «        \  }} | dd|¬¦  «        }|                     ||¦  «          | ddd|¬¦  «        }|                     ||¦  «         |                     d¬¦  «         |                     ||¦  «         t	          |                     |¦  «        |                     |¦  «        ¦  «         d S )	Nr$   r\   i,  r!   rX  TrY  rÚ   )r   rd   r7   r[  r   rL   r\  s         r>   Útest_warm_start_n_estimatorsra    sÓ   € õ Ô$¨sÐASÐTÑTÔT�D€A€qØ
ˆ#˜3¨!Ð:LÐ
MÑ
MÔ
M€CØ‡G‚GˆAˆq�M„M€MàˆSØ A°$ÐEWðñ ô €Fð ‡J‚Jˆq�!ÑÔÐØ
×Ò 3ÐÑ'Ô'Ð'Ø
‡J‚Jˆq�!ÑÔÐå�F—N’N 1Ñ%Ô% s§{¢{°1¡~¤~Ñ6Ô6Ð6Ð6Ð6rq   c                 óf  — t          j        dd¬¦  «        \  }} | ddd¬¦  «        }|                     ||¦  «         |                     dd¬¦  «         |                     ||¦  «         |j        d	         j        dk    sJ ‚t          dd
¦  «        D ]}|j        | df         j        dk    sJ ‚Œd S )Nr$   r!   r\   T©rI   r^   rZ  én   r"   ©rI   r^   ©r   r   é   r   )r   rd   r7   r[  rP   r^   Úrange)rV  rC   rD   r]  Úis        r>   Útest_warm_start_max_depthrj    sÍ   € õ Ô$¨sÀÐCÑCÔC�D€A€qØ
ˆ#˜3¨!¸Ð
=Ñ
=Ô
=€CØ‡G‚GˆAˆq�M„M€MØ‡N‚N ¨q€NÑ1Ô1Ð1Ø‡G‚GˆAˆq�M„M€Mð Œ?˜4Ô Ô*¨aÒ/Ð/Ð/Ð/Ý�1�b‰\Œ\ð 5ð 5ˆØŒ ˜r 1˜uÔ%Ô/°1Ò4Ð4Ð4Ð4Ð4ð5ð 5rq   c                 óŠ  — t          j        dd¬¦  «        \  }} | dd¬¦  «        }|                     ||¦  «          | ddd¬¦  «        }|                     ||¦  «         |                     d¬¦  «         |                     ||¦  «         t	          |                     |¦  «        |                     |¦  «        ¦  «         d S )	Nr$   r!   r\   re  Trc  F)rZ  )r   rd   r7   r[  r   rL   )rV  rC   rD   r]  Úest_2s        r>   Útest_warm_start_clearrm  -  s½   € õ Ô$¨sÀÐCÑCÔC�D€A€qØ
ˆ#˜3¨!Ð
,Ñ
,Ô
,€CØ‡G‚GˆAˆq�M„M€MàˆC˜S¨A¸$Ð?Ñ?Ô?€EØ	‡I‚Iˆa��O„O€OØ	×Ò ÐÑ&Ô&Ð&Ø	‡I‚Iˆa��O„O€Oå˜eŸmšm¨AÑ.Ô.°·²¸A±´Ñ?Ô?Ð?Ð?Ð?rq   r•   c                 óþ  — t          j        dd¬¦  «        \  }}d} | |dddd¬¦  «        }|                     ||¦  «         |j        |j        }}t          |¦  «        |k    sJ ‚|d         t          j        |¦  «        k    sJ ‚d}|                     |¬	¦  «                             ||¦  «         t          |j        ¦  «        |k    sJ ‚t          |j        d
|…         |¦  «         |                     |d¬¦  «                             ||¦  «         |j        |usJ ‚|j        |usJ ‚t          |j        |¦  «         |j        t          j        |¦  «        k    sJ ‚|d         t          j        |¦  «        k    sJ ‚d
S )zZ
    Check that the states of the OOB scores are cleared when used with `warm_start`.
    r$   r!   r\   rv   T)rI   r^   ru   rZ  r-   r    ra   rÚ   NF©rI   rZ  )
r   rd   r7   r&  r(  rO   r4   r'  r[  r   )r•   rC   rD   rI   rì   Ú
oob_scoresÚ	oob_scoreÚn_more_estimatorss           r>   Ú test_warm_start_state_oob_scoresrs  <  s±  € õ
 Ô$¨sÀÐCÑCÔC�D€A€qØ€LØ Ð Ø!ØØØØðñ ô €Ið ‡M‚M�!�QÑÔÐØ%Ô1°9Ô3G�	€JÝˆz‰?Œ?˜lÒ*Ð*Ð*Ð*Ø�bŒ>�Vœ]¨9Ñ5Ô5Ò5Ð5Ð5Ð5àÐØ×ÒÐ&7ÐÑ8Ô8×<Ò<¸QÀÑBÔBÐBÝˆyÔ$Ñ%Ô%Ð):Ò:Ð:Ð:Ð:Ý�IÔ)¨-¨<¨-Ô8¸*ÑEÔEÐEà×Ò l¸uÐÑEÔE×IÒIÈ!ÈQÑOÔOÐOØÔ ¨
Ð2Ð2Ð2Ð2ØÔ yÐ0Ð0Ð0Ð0Ý�IÔ)¨:Ñ6Ô6Ð6ØÔ¥6¤=°Ñ#;Ô#;Ò;Ð;Ð;Ð;Ø�bŒ>�Vœ]¨9Ñ5Ô5Ò5Ð5Ð5Ð5Ð5Ð5rq   c                 ó<  — t          j        dd¬¦  «        \  }} | ddd¬¦  «        }|                     ||¦  «         |                     d¬¦  «         t	          j        t          ¦  «        5  |                     ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr$   r!   r\   Trc  éc   rÚ   )r   rd   r7   r[  r4   r5   r6   ©rV  rC   rD   r]  s       r>   Ú$test_warm_start_smaller_n_estimatorsrw  \  sÝ   € õ Ô$¨sÀÐCÑCÔC�D€A€qØ
ˆ#˜3¨!¸Ð
=Ñ
=Ô
=€CØ‡G‚GˆAˆq�M„M€MØ‡N‚N €NÑ#Ô#Ð#Ý	Œ•zÑ	"Ô	"ð ð Ø�Š��1‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á-BÂBÂBc                 ól  — t          j        dd¬¦  «        \  }} | dd¬¦  «        }|                     ||¦  «         t          |¦  «        }|                     |j        d¬¦  «         |                     ||¦  «         t          |                     |¦  «        |                     |¦  «        ¦  «         d S )Nr$   r!   r\   re  Tro  )r   rd   r7   r   r[  rI   r   rL   )rV  rC   rD   r]  Úest2s        r>   Ú"test_warm_start_equal_n_estimatorsrz  g  s¡   € õ Ô$¨sÀÐCÑCÔC�D€A€qØ
ˆ#˜3¨!Ð
,Ñ
,Ô
,€CØ‡G‚GˆAˆq�M„M€Må�‰:Œ:€DØ‡O‚O Ô!1¸d€OÑCÔCÐCØ‡H‚HˆQ��N„N€Nå˜dŸlšl¨1™oœo¨s¯{ª{¸1©~¬~Ñ>Ô>Ð>Ð>Ð>rq   c                 ó†  — t          j        dd¬¦  «        \  }} | ddd¬¦  «        }|                     ||¦  «         |                     dd¬¦  «         |                     ||¦  «         t	          |j        d d…         t          j        d¦  «        ¦  «         t	          |j        d d…         t          j        d¦  «        ¦  «         |j        d	d …         d
k     	                    ¦   «         sJ ‚|j        d	d …         d
k     	                    ¦   «         sJ ‚|j        d         t          j        |j        ¦  «        k    sJ ‚d S )Nr$   r!   r\   Trc  rd  rv   )rI   ru   éöÿÿÿrJ   r    )r   rd   r7   r[  r   r!  rR   r¦   r&  rœ   r4   r'  r(  rv  s       r>   Útest_warm_start_oob_switchr}  u  s/  € õ Ô$¨sÀÐCÑCÔC�D€A€qØ
ˆ#˜3¨!¸Ð
=Ñ
=Ô
=€CØ‡G‚GˆAˆq�M„M€MØ‡N‚N ¨s€NÑ3Ô3Ð3Ø‡G‚GˆAˆq�M„M€Må�sÔ+¨D¨S¨DÔ1µ2´8¸C±=´=ÑAÔAÐAÝ�s” t¨ tÔ,­b¬h°s©m¬mÑ<Ô<Ð<ð Ô    Ô&¨#Ò-×2Ò2Ñ4Ô4Ð4Ð4Ð4ØŒO˜C˜D˜DÔ! SÒ(×-Ò-Ñ/Ô/Ð/Ð/Ð/àŒ?˜2Ô¥&¤-°´Ñ"?Ô"?Ò?Ð?Ð?Ð?Ð?Ð?rq   c                 óv  — t          j        dd¬¦  «        \  }} | dddd¬¦  «        }|                     ||¦  «          | ddddd¬¦  «        }|                     ||¦  «         |                     d¬	¦  «         |                     ||¦  «         t	          |j        d d…         |j        d d…         ¦  «         t	          |j        d d…         |j        d d…         ¦  «         |j        d
         t          j        |j	        ¦  «        k    sJ ‚|j        d
         t          j        |j	        ¦  «        k    sJ ‚d S )Nr$   r!   r\   ra   rv   )rI   r^   ru   r-   T©rI   r^   ru   r-   rZ  rÚ   r    )
r   rd   r7   r[  r   r!  r&  r4   r'  r(  )rV  rC   rD   r]  r^  s        r>   Útest_warm_start_oobr€  ˆ  sK  € õ Ô$¨sÀÐCÑCÔC�D€A€qØ
ˆ#˜3¨!°sÈÐ
KÑ
KÔ
K€CØ‡G‚GˆAˆq�M„M€MàˆSØ A°À1ÐQUðñ ô €Fð ‡J‚Jˆq�!ÑÔÐØ
×Ò 3ÐÑ'Ô'Ð'Ø
‡J‚Jˆq�!ÑÔÐå˜fÔ5°d°s°dÔ;¸SÔ=QÐRVÐSVÐRVÔ=WÑXÔXÐXÝ˜fÔ0°°#°Ô6¸¼ÈÈÈÔ8MÑNÔNÐNØŒ?˜2Ô¥&¤-°´Ñ"?Ô"?Ò?Ð?Ð?Ð?ØÔ˜bÔ!¥V¤]°6Ô3DÑ%EÔ%EÒEÐEÐEÐEÐEÐErq   Úsparse_containerc                 ó®  — t          j        dd¬¦  «        \  }} | ddddd¬¦  «        }|                     ||¦  «         |                     |¦  «         |                     d¬¦  «         |                     ||¦  «         |                     |¦  «        } ||¦  «        } | ddddd¬¦  «        }|                     ||¦  «         |                     |¦  «         |                     d¬¦  «         |                     ||¦  «         |                     |¦  «        }t          |j        d d…         |j        d d…         ¦  «         |j        d	         t          j	        |j
        ¦  «        k    sJ ‚t          |j        d d…         |j        d d…         ¦  «         |j        d	         t          j	        |j
        ¦  «        k    sJ ‚t          ||¦  «         d S )
Nr$   r!   r\   rv   Tr  ra   rÚ   r    )r   rd   r7   rL   r[  r   r!  r&  r4   r'  r(  )	rV  r�  rC   rD   Ú	est_denseÚy_pred_denseÚX_sparseÚ
est_sparseÚy_pred_sparses	            r>   Útest_warm_start_sparserˆ  œ  s  € õ Ô$¨sÀÐCÑCÔC�D€A€qØ�Ø A°À1ÐQUðñ ô €Ið ‡M‚M�!�QÑÔÐØ×Ò�aÑÔÐØ×Ò cÐÑ*Ô*Ð*Ø‡M‚M�!�QÑÔÐØ×$Ò$ QÑ'Ô'€LàÐ Ñ"Ô"€Hà�ØØØØØðñ ô €Jð ‡N‚N�8˜QÑÔÐØ×Ò�qÑÔÐØ×Ò sÐÑ+Ô+Ð+Ø‡N‚N�8˜QÑÔÐØ×&Ò& qÑ)Ô)€MåØÔ" 4 C 4Ô(¨*Ô*EÀdÀsÀdÔ*Kñô ð ð Ô  Ô$­¬°iÔ6JÑ(KÔ(KÒKÐKÐKÐKÝ˜iÔ3°D°S°DÔ9¸:Ô;QÐRVÐSVÐRVÔ;WÑXÔXÐXØÔ! "Ô%­¬°zÔ7LÑ)MÔ)MÒMÐMÐMÐMÝ˜l¨MÑ:Ô:Ð:Ð:Ð:rq   c                 ó  — t          j        d|¬¦  «        \  }} | d|d¬¦  «        } | d|d¬¦  «        }|                     ||¦  «         |                     d¬¦  «         |                     ||¦  «         t	          j        |¦  «        }|                     ||¦  «         |                     d¬¦  «         |                     ||¦  «         t          |                     |¦  «        |                     |¦  «        ¦  «         d S )Nr$   r\   r!   T)rI   r-   rZ  rg  rÚ   )r   rd   r7   r[  rR   r¨   r   rL   )rV  rV   rC   rD   Úest_cÚest_fortranÚ	X_fortrans          r>   Útest_warm_start_fortranr�  Ä  s  € õ Ô$¨sÐASÐTÑTÔT�D€A€qØˆC˜QÐ-?ÈDÐQÑQÔQ€EØ�# 1Ð3EÐRVÐWÑWÔW€Kà	‡I‚Iˆa��O„O€OØ	×Ò "ÐÑ%Ô%Ð%Ø	‡I‚Iˆa��O„O€OåÔ! !Ñ$Ô$€IØ‡O‚O�I˜qÑ!Ô!Ð!Ø×Ò¨ÐÑ+Ô+Ð+Ø‡O‚O�I˜qÑ!Ô!Ð!å�E—M’M !Ñ$Ô$ k×&9Ò&9¸!Ñ&<Ô&<Ñ=Ô=Ð=Ð=Ð=rq   c                 ó   — | dk    rdS dS )z#Returns True on the 10th iteration.é	   TFrc   )ri  r]  Úlocalss      r>   Úearly_stopping_monitorr‘  Ø  s   € àˆA‚v€vØˆtàˆurq   c                 óT  — t          j        dd¬¦  «        \  }} | dddd¬¦  «        }|                     ||t          ¬¦  «         |j        dk    sJ ‚|j        j        d         d	k    sJ ‚|j        j        d         d	k    sJ ‚|j        j        d         d	k    sJ ‚|j	        j        d         d	k    sJ ‚|j	        d
         t          j        |j        ¦  «        k    sJ ‚|                     d¬¦  «         |                     ||¦  «         |j        dk    sJ ‚|j        j        d         dk    sJ ‚|j        j        d         dk    sJ ‚|j        j        d         dk    sJ ‚|j	        j        d         dk    sJ ‚|j	        d
         t          j        |j        ¦  «        k    sJ ‚ | ddddd¬¦  «        }|                     ||t          ¬¦  «         |j        dk    sJ ‚|j        j        d         d	k    sJ ‚|j        j        d         d	k    sJ ‚|j        j        d         d	k    sJ ‚|j	        j        d         d	k    sJ ‚|j	        d
         t          j        |j        ¦  «        k    sJ ‚|                     dd¬¦  «         |                     ||¦  «         |j        dk    sJ ‚|j        j        d         dk    sJ ‚|j        j        d         dk    sJ ‚|j        j        d         dk    sJ ‚|j	        j        d         dk    sJ ‚|j	        d
         t          j        |j        ¦  «        k    sJ ‚d S )Nr$   r!   r\   rÙ   rv   )rI   r^   r-   ru   )Úmonitorr   r'   r    rx   rÚ   T)rI   r^   r-   ru   rZ  Fro  )r   rd   r7   r‘  rI   rP   rU   rQ   r!  r&  r4   r'  r(  r[  rv  s       r>   Útest_monitor_early_stoppingr”  à  sy  € õ Ô$¨sÀÐCÑCÔC�D€A€qà
ˆ#˜2¨¸ÀcÐ
JÑ
JÔ
J€CØ‡G‚GˆAˆqÕ0€GÑ1Ô1Ð1ØÔ˜rÒ!Ð!Ð!Ð!ØŒ?Ô  Ô# rÒ)Ð)Ð)Ð)ØÔÔ! !Ô$¨Ò*Ð*Ð*Ð*ØÔÔ% aÔ(¨BÒ.Ð.Ð.Ð.ØŒ?Ô  Ô# rÒ)Ð)Ð)Ð)ØŒ?˜2Ô¥&¤-°´Ñ"?Ô"?Ò?Ð?Ð?Ð?ð ‡N‚N €NÑ#Ô#Ð#Ø‡G‚GˆAˆq�M„M€MØÔ˜rÒ!Ð!Ð!Ð!ØŒ?Ô  Ô# rÒ)Ð)Ð)Ð)ØÔÔ! !Ô$¨Ò*Ð*Ð*Ð*ØÔÔ% aÔ(¨BÒ.Ð.Ð.Ð.ØŒ?Ô  Ô# rÒ)Ð)Ð)Ð)ØŒ?˜2Ô¥&¤-°´Ñ"?Ô"?Ò?Ð?Ð?Ð?à
ˆ#Ø 1°1ÀÐPTðñ ô €Cð ‡G‚GˆAˆqÕ0€GÑ1Ô1Ð1ØÔ˜rÒ!Ð!Ð!Ð!ØŒ?Ô  Ô# rÒ)Ð)Ð)Ð)ØÔÔ! !Ô$¨Ò*Ð*Ð*Ð*ØÔÔ% aÔ(¨BÒ.Ð.Ð.Ð.ØŒ?Ô  Ô# rÒ)Ð)Ð)Ð)ØŒ?˜2Ô¥&¤-°´Ñ"?Ô"?Ò?Ð?Ð?Ð?ð ‡N‚N ¨u€NÑ5Ô5Ð5Ø‡G‚GˆAˆq�M„M€MØÔ˜rÒ!Ð!Ð!Ð!ØÔÔ! !Ô$¨Ò*Ð*Ð*Ð*ØŒ?Ô  Ô# rÒ)Ð)Ð)Ð)ØÔÔ% aÔ(¨BÒ.Ð.Ð.Ð.ØŒ?Ô  Ô# rÒ)Ð)Ð)Ð)ØŒ?˜2Ô¥&¤-°´Ñ"?Ô"?Ò?Ð?Ð?Ð?Ð?Ð?rq   c                  ó2  — ddl m}  t          j        dd¬¦  «        \  }}d}t	          dd d|dz   ¬¦  «        }|                     ||¦  «         |j        d	         j        }|j        |k    sJ ‚|j	        |j	        | k             j
        d         |dz   k    sJ ‚d S )
Nr   ©Ú	TREE_LEAFr$   r!   r\   r%   rÙ   ©rI   r^   r-   rb   rf  )Úsklearn.tree._treer—  r   rd   r
   r7   rP   Útree_r^   Úchildren_leftrU   )r—  rC   rD   Úkr]  Útrees         r>   Útest_complete_classificationrž    s»   € à,Ð,Ð,Ð,Ð,Ð,åÔ$¨sÀÐCÑCÔC�D€A€qØ	€Aå
$Ø 4°aÈÈAÉðñ ô €Cð ‡G‚GˆAˆq�M„M€MàŒ?˜4Ô Ô&€DØŒ>˜QÒÐÐÐØÔ˜dÔ0°IÒ=Ô>ÔDÀQÔGÈ1ÈqÉ5ÒPÐPÐPÐPÐPÐPrq   c                  óú   — ddl m}  d}t          dd d|dz   ¬¦  «        }|                     t          t
          ¦  «         |j        d         j        }|j        |j        | k             j	        d         |dz   k    sJ ‚d S )Nr   r–  r%   rÙ   r!   r˜  )r    r   )
r™  r—  r   r7   r~   r}   rP   rš  r›  rU   )r—  rœ  r]  r�  s       r>   Útest_complete_regressionr     s’   € à,Ð,Ð,Ð,Ð,Ð,à	€Aå
#Ø 4°aÈÈAÉðñ ô €Cð ‡G‚G�E•5ÑÔÐàŒ?˜5Ô!Ô'€DØÔ˜dÔ0°IÒ=Ô>ÔDÀQÔGÈ1ÈqÉ5ÒPÐPÐPÐPÐPÐPrq   c                 ó’  — t          d¬¦  «                             t          t          ¦  «        }t	          |                     t          ¦  «        t          ¦  «        }t          dd| dd¬¦  «        }|                     t          t          ¦  «         |                     t          ¦  «        }t	          t          |¦  «        }||k     sJ ‚d S )NÚmean)Ústrategyr°   r!   Úzerorv   )rI   r^   r-   rB   r_   )r	   r7   r~   r}   r   rL   r   )rV   ÚbaselineÚmse_baseliner]  r�   Úmse_gbdts         r>   Útest_zero_estimator_regr¨  .  s±   € õ  vÐ.Ñ.Ô.×2Ò2µ5½%Ñ@Ô@€HÝ% h×&6Ò&6µuÑ&=Ô&=½uÑEÔE€LÝ
#ØØØ'ØØðñ ô €Cð ‡G‚G�E•5ÑÔÐØ�[Š[�ÑÔ€FÝ!¥%¨Ñ0Ô0€HØ�lÒ"Ð"Ð"Ð"Ð"Ð"rq   c                 ó�  — t           j        }t          j        t           j        ¦  «        }t          dd| d¬¦  «        }|                     ||¦  «         |                     ||¦  «        dk    sJ ‚|dk    }d||<   d|| <   t          dd| d¬¦  «        }|                     ||¦  «         |                     ||¦  «        dk    sJ ‚d S )NrÙ   r!   r¤  )rI   r^   r-   rB   g¸…ëQ¸î?r   )r8   r9   rR   r"  r:   r
   r7   re   )rV   rC   rD   r]  Úmasks        r>   Útest_zero_estimator_clfr«  A  sÛ   € åŒ	€AÝ
Œ•”ÑÔ€Aå
$Ø 1Ð3EÈFðñ ô €Cð ‡G‚GˆAˆq�M„M€Mà�9Š9�Q˜‰?Œ?˜TÒ!Ð!Ð!Ð!ð �Š6€DØ€A€d�GØ€A€t€e�HÝ
$Ø 1Ð3EÈFðñ ô €Cð ‡G‚GˆAˆq�M„M€MØ�9Š9�Q˜‰?Œ?˜TÒ!Ð!Ð!Ð!Ð!Ð!rq   ÚGBEstimatorc                 ó:  — t          j        dd¬¦  «        \  }}d} | d|¬¦  «                             ||¦  «        }|j        d         j        }|j        dk    sJ ‚ | d¬¦  «                             ||¦  «        }|j        d         j        }|j        dk    sJ ‚d S )Nr$   r!   r\   r%   )r^   rb   rf  )r^   )r   rd   r7   rP   rš  r^   )r¬  rC   rD   rœ  r]  r�  s         r>   Útest_max_leaf_nodes_max_depthr®  X  s²   € õ Ô$¨sÀÐCÑCÔC�D€A€qà	€Aà
ˆ+ °!Ð
4Ñ
4Ô
4×
8Ò
8¸¸AÑ
>Ô
>€CØŒ?˜4Ô Ô&€DØŒ>˜QÒÐÐÐà
ˆ+ Ð
"Ñ
"Ô
"×
&Ò
& q¨!Ñ
,Ô
,€CØŒ?˜4Ô Ô&€DØŒ>˜QÒÐÐÐÐÐrq   c                 ó´   — t          j        dd¬¦  «        \  }} | d¬¦  «        }|                     ||¦  «         |j        j        D ]}|j        dk    sJ ‚Œd S )Nr$   r!   r\   rŠ   )Úmin_impurity_decrease)r   rd   r7   rP   Úflatr°  )r¬  rC   rD   r]  r�  s        r>   Útest_min_impurity_decreaser²  h  su   € åÔ$¨sÀÐCÑCÔC�D€A€qà
ˆ+¨CÐ
0Ñ
0Ô
0€CØ‡G‚GˆAˆq�M„M€MØ”Ô$ð 1ð 1ˆð Ô)¨SÒ0Ð0Ð0Ð0Ð0ð1ð 1rq   c                  ó   — t          dd¬¦  «        } |                      ddgddggddg¦  «         | j        j        d         dk    sJ ‚|                      ddgddggddg¦  «         | j        j        d         dk    sJ ‚d S )Nr'   Tro  r   r!   r"   r#   )r
   r7   rP   rU   rý   s    r>   Ú%test_warm_start_wo_nestimators_changer´  t  sœ   € õ %°"ÀÐ
FÑ
FÔ
F€CØ‡G‚Gˆa�ˆV�a˜�VÐ˜q !˜fÑ%Ô%Ð%ØŒ?Ô  Ô# rÒ)Ð)Ð)Ð)Ø‡G‚Gˆa�ˆV�a˜�VÐ˜q !˜fÑ%Ô%Ð%ØŒ?Ô  Ô# rÒ)Ð)Ð)Ð)Ð)Ð)rq   )r1   Úvalue))rr   rv   )rs   rJ   )rt   rv   )r   rv   c                 óÎ   — ddgddgddgddgg}g d¢}g d¢}t          dd| ¬¦  «        }|                     |||¬¦  «         |                     ddgg¦  «        d         |k    sJ ‚d S )	Nr!   r   ©r   r   r!   r   ©r   r   r!   r!   r]   r"   )r_   rI   r1   rz   )r   r7   rL   )r1   rµ  rC   rD   r{   Úgbs         r>   Ú*test_non_uniform_weights_toy_edge_case_regrº  ~  sŽ   € ð ˆQˆ�!�Q�˜!˜Q˜ ! Q Ð(€AØˆˆ€Aà �L�L€MÝ	"°À1È4Ð	PÑ	PÔ	P€BØ‡F‚Fˆ1ˆa˜}€FÑ-Ô-Ð-Ø�:Š:˜˜1�v�hÑÔ Ô" eÒ+Ð+Ð+Ð+Ð+Ð+rq   c                  óÜ   — ddgddgddgddgg} g d¢}g d¢}dD ]R}t          d|¬¦  «        }|                     | ||¬¦  «         t          |                     ddgg¦  «        dg¦  «         ŒSd S )	Nr!   r   r·  r¸  rF   r°   )rI   r1   rz   )r
   r7   r   rL   )rC   rD   r{   r1   r¹  s        r>   Ú*test_non_uniform_weights_toy_edge_case_clfr¼  ‘  sœ   € Ø
ˆQˆ�!�Q�˜!˜Q˜ ! Q Ð(€AØˆˆ€Aà �L�L€MØ+ð 6ð 6ˆÝ'°Q¸TÐBÑBÔBˆØ
�Šˆq�! =ˆÑ1Ô1Ð1Ý˜2Ÿ:š:¨¨1 v hÑ/Ô/°!°Ñ5Ô5Ð5Ð5ð6ð 6rq   ÚEstimatorClassc                 óR  — t          j        dddd¬¦  «        \  }}|d d …df         } ||¦  «        } | dddd¬	¦  «                             ||¦  «        } | dddd¬	¦  «                             ||¦  «        }t          |                     |¦  «        |                     |¦  «        ¦  «         t          |                     |¦  «        |                     |¦  «        ¦  «         t          |j        |j        ¦  «         t          |                     |¦  «        |                     |¦  «        ¦  «         t          |                     |¦  «        |                     |¦  «        ¦  «         t          | t          ¦  «        �r$t          | 	                    |¦  «        | 	                    |¦  «        ¦  «         t          | 
                    |¦  «        | 
                    |¦  «        ¦  «         t          |                     |¦  «        |                     |¦  «        ¦  «         t          |                     |¦  «        |                     |¦  «        ¦  «         t          |                     |¦  «        |                     |¦  «        ¦  «        D ]\  }}t          ||¦  «         Œd S d S )
Nr   r`   r!   rÙ   )r-   r)   r*   Ú	n_classesr'   r"   gH¯¼šò×z>)rI   r-   r^   r°  )r   Úmake_multilabel_classificationr7   r   rT   rL   r“   Ú
issubclassr
   r›   Úpredict_log_probar³   ÚzipÚstaged_decision_function)	r½  r�  rD   rC   r…  ÚdenseÚsparseÚ
res_sparseÚress	            r>   Útest_sparse_inputrÉ  œ  s§  € õ Ô2Ø "°¸bðñ ô �D€A€qð 	
ˆ!ˆ!ˆ!ˆQˆ$Œ€AØÐ Ñ"Ô"€HàˆNØ a°1ÈDðñ ô ç	‚cˆ!ˆQ�i„ið 
ð ˆ^Ø a°1ÈDðñ ô ç	‚cˆ(�AÑÔð õ ˜fŸlšl¨1™oœo¨u¯{ª{¸1©~¬~Ñ>Ô>Ð>Ý˜fŸnšn¨QÑ/Ô/°·²¸qÑ1AÔ1AÑBÔBÐBÝ˜fÔ9¸5Ô;UÑVÔVÐVå˜fŸnšn¨XÑ6Ô6¸¿ºÀaÑ8HÔ8HÑIÔIÐIÝ˜eŸmšm¨HÑ5Ô5°v·~²~ÀaÑ7HÔ7HÑIÔIÐIå�.Õ"<Ñ=Ô=ñ 7Ý! &×"6Ò"6°qÑ"9Ô"9¸5×;NÒ;NÈqÑ;QÔ;QÑRÔRÐRÝ!Ø×$Ò$ QÑ'Ô'¨×)@Ò)@ÀÑ)CÔ)Cñ	
ô 	
ð 	
õ 	"Ø×$Ò$ XÑ.Ô.°×0HÒ0HÈÑ0KÔ0Kñ	
ô 	
ð 	
õ 	"Ø×#Ò# HÑ-Ô-¨v×/GÒ/GÈÑ/JÔ/Jñ	
ô 	
ð 	
õ  #Ø×+Ò+¨HÑ5Ô5Ø×+Ò+¨AÑ.Ô.ñ 
ô  
ð 	7ð 	7‰OˆJ˜õ & j°#Ñ6Ô6Ð6Ð6ð!7ð 7ð	7ð 	7rq   c                 ó¢  — t          dd¬¦  «        \  }}d} | |ddddd¬¦  «        } | |ddddd	¬¦  «        }t          ||d¬
¦  «        \  }}}}	|                     ||¦  «         |                     ||¦  «         |j        |j        cxk     r|k     sn J ‚|                     ||	¦  «        dk    sJ ‚|                     ||	¦  «        dk    sJ ‚d S )Néè  r   r\   r'   rŠ   r#   é*   )rI   r%  r_   r^   r-   Útolçü©ñÒMbP?r·   gffffffæ?)r   r   r7   Ún_estimators_re   )
r  rC   rD   rI   Úgb_large_tolÚgb_small_tolrg   rh   ri   rj   s
             r>   Ú%test_gradient_boosting_early_stoppingrÒ  Ë  s1  € õ ¨¸AÐ>Ñ>Ô>�D€A€qØ€Là,Ð,Ø!ØØØØØðñ ô €Lð -Ð,Ø!ØØØØØðñ ô €Lõ (8¸¸1È2Ð'NÑ'NÔ'NÑ$€GˆV�W˜fØ×Ò�W˜gÑ&Ô&Ð&Ø×Ò�W˜gÑ&Ô&Ð&àÔ%¨Ô(BÐQÐQÒQÐQÀ\ÒQÐQÐQÐQÐQÐQà×Ò˜f fÑ-Ô-°Ò3Ð3Ð3Ð3Ø×Ò˜f fÑ-Ô-°Ò3Ð3Ð3Ð3Ð3Ð3rq   c                  ó  — t          dd¬¦  «        \  } }t          dddd¬¦  «        }|                     | |¦  «         t          d	ddd¬¦  «        }|                     | |¦  «         |j        dk    sJ ‚|j        d	k    sJ ‚d S )
NrË  r   r\   r`   rŠ   r#   rÌ  )rI   r_   r^   r-   rx   )r   r
   r7   r   rÏ  )rC   rD   ÚgbcÚgbrs       r>   Ú-test_gradient_boosting_without_early_stoppingrÖ  ñ  sª   € õ ¨¸AÐ>Ñ>Ô>�D€A€qå
$Ø s°aÀbðñ ô €Cð ‡G‚GˆAˆq�M„M€MÝ
#Ø s°aÀbðñ ô €Cð ‡G‚GˆAˆq�M„M€Mð Ô Ò"Ð"Ð"Ð"ØÔ Ò"Ð"Ð"Ð"Ð"Ð"rq   c                  ó`  — t          dd¬¦  «        \  } }t          dddddd¬	¦  «        }t          |¦  «                             d
¬¦  «        }t          |¦  «                             d¬¦  «        }t	          dddddd¬¦  «        }t          |¦  «                             d
¬¦  «        }t          |¦  «                             d¬¦  «        }t          | |d¬¦  «        \  }}	}
}|                     ||
¦  «         |                     ||
¦  «         |j        |j        k    sJ ‚|                     ||
¦  «         |                     ||
¦  «         |j        |j        k    sJ ‚|                     ||
¦  «         |                     ||
¦  «         |j        |j        k     sJ ‚|j        |j        k     sJ ‚d S )NrË  r   r\   r$   r'   rŠ   r#   rÌ  )rI   r%  Úvalidation_fractionr_   r^   r-   rÉ   )rØ  rÙ   ©r%  )rI   r%  r_   r^   rØ  r-   r·   )r   r
   r   r[  r   r   r7   rÏ  )rC   rD   rÔ  Úgbc2Úgbc3rÕ  Úgbr2Úgbr3rg   rh   ri   rj   s               r>   Ú*test_gradient_boosting_validation_fractionrÞ    sÑ  € Ý¨¸AÐ>Ñ>Ô>�D€A€qå
$ØØØØØØðñ ô €Cõ �‰:Œ:× Ò °SÐ Ñ9Ô9€DÝ�‰:Œ:× Ò °"Ð Ñ5Ô5€Då
#ØØØØØØðñ ô €Cõ �‰:Œ:× Ò °SÐ Ñ9Ô9€DÝ�‰:Œ:× Ò °"Ð Ñ5Ô5€Då'7¸¸1È2Ð'NÑ'NÔ'NÑ$€GˆV�W˜fà‡G‚GˆG�WÑÔÐØ‡H‚HˆW�gÑÔÐØÔ Ô 2Ò2Ð2Ð2Ð2à‡G‚GˆG�WÑÔÐØ‡H‚HˆW�gÑÔÐØÔ Ô 2Ò2Ð2Ð2Ð2ð 	‡H‚HˆW�gÑÔÐØ‡H‚HˆW�gÑÔÐØÔ˜tÔ1Ò1Ð1Ð1Ð1ØÔ˜tÔ1Ò1Ð1Ð1Ð1Ð1Ð1rq   c                  óÞ   — ddgddgddgddgg} g d¢}t          d¬¦  «        }t          j        t          d¬	¦  «        5  |                     | |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nr!   r"   r#   r%   r°   )r   r   r   r!   rÙ  z^The least populated classes in y have only 1 member.*Classes with too few members are: \[1.0\]r2   ©r
   r4   r5   r6   r7   )rC   rD   rÔ  s      r>   Útest_early_stopping_stratifiedrá  /  sÏ   € à
ˆQˆ�!�Q�˜!˜Q˜ ! Q Ð(€AØˆˆ€Aå
$°aÐ
8Ñ
8Ô
8€CÝ	ŒÝð,ð
ñ 
ô 
ð ð ð 	�Š��1‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ¾A"Á"A&Á)A&c                  ó$   — t          dd¬¦  «        S )Nr#   r!   )r¿  Ún_clusters_per_class)r   rc   rq   r>   Ú_make_multiclassrä  ?  s   € Ý¨ÀÐCÑCÔCÐCrq   z!gb, dataset_maker, init_estimator)zbinary classificationzmulticlass classificationÚ
regression)Úidsc                 óö  —  |¦   «         \  }}t           j                             |¦  «                             d¦  «        } |¦   «         } | |¬¦  «                             |||¬¦  «         t           |¦   «         ¦  «        } | |¬¦  «                             ||¦  «         t          j        t          d¬¦  «        5   | |¬¦  «                             |||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr$   rA   rz   z*estimator.*does not support sample weightsr2   )	rR   rã   rä   rü   r7   r   r4   r5   r6   )r¹  Údataset_makerÚinit_estimatorrV   rC   rD   r{   Úinit_ests           r>   Ú test_gradient_boosting_with_initrë  C  s^  € ð" ˆ=‰?Œ?�D€A€qÝ”I×)Ò)Ð*<Ñ=Ô=×BÒBÀ3ÑGÔG€Mð ˆ~ÑÔ€HØ€BˆHÐÑÔ×Ò˜!˜Q¨mÐÑ<Ô<Ð<õ % ^ ^Ñ%5Ô%5Ñ6Ô6€HØ€BˆHÐÑÔ×Ò˜!˜QÑÔÐÝ	Œ•zÐ)UÐ	VÑ	VÔ	Vð Að AØ
ˆ�ÐÑÔ×Ò˜a °-ÐÑ@Ô@Ð@ðAð Að Añ Aô Að Að Að Að Að Að Að Aøøøð Að Að Að Að Að As   Â>#C.Ã.C2Ã5C2c            	      óÆ  — t          d¬¦  «        \  } }t          t          ¦   «         ¦  «        }t          |¬¦  «        }|                     | |¦  «         t          j        t          d¬¦  «        5  |                     | |t          j	        | j
        d         ¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}d|› d	�}t          j        t          t          j        |¦  «        ¬¦  «        5  t          d
|¬¦  «        }t          |¬¦  «        }|                     | |t          j	        | j
        d         ¦  «        ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r·   rA   z>The initial estimator Pipeline does not support sample weightsr2   rz   g      ø?zIThe 'nu' parameter of NuSVR must be a float in the range (0.0, 1.0]. Got z	 instead.Úauto)ÚgammaÚnu)r   r   r   r   r7   r4   r5   r6   rR   r|   rU   r   ÚreÚescaper   )rC   rD   rB   r¹  Ú
invalid_nur«   s         r>   Ú)test_gradient_boosting_with_init_pipelineró  b  sÜ  € õ ¨Ð*Ñ*Ô*�D€A€qÝÕ)Ñ+Ô+Ñ,Ô,€DÝ	"¨Ð	-Ñ	-Ô	-€BØ‡F‚Fˆ1ˆa�L„L€Lå	ŒÝØNð
ñ 
ô 
ð 8ð 8ð 	�Šˆq�!¥2¤7¨1¬7°1¬:Ñ#6Ô#6ˆÑ7Ô7Ð7ð	8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8ð €Jð	8Ø",ð	8ð 	8ð 	8ð õ 
ŒÕ,µB´I¸gÑ4FÔ4FÐ	GÑ	GÔ	Gð 8ð 8å˜6 jÐ1Ñ1Ô1ˆÝ&¨DÐ1Ñ1Ô1ˆØ
�Šˆq�!¥2¤7¨1¬7°1¬:Ñ#6Ô#6ˆÑ7Ô7Ð7ð	8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8ð 8ð 8s%   Á06B2Â2B6Â9B6Ã2AEÅEÅEc                  ó  — dggdz  } ddgdgdz  z   }t          ddd¬¦  «        }t          j        t          d¬	¦  «        5  |                     | |¦  «         d d d ¦  «         n# 1 swxY w Y   t          ddd
¬¦  «        }d S )Nr!   r'   r   r&   r°   r3  )r%  r-   rØ  z0The training data after the early stopping splitr2   gš™™™™™Ù?rà  )rC   rD   r¹  s      r>   Útest_early_stopping_n_classesrõ  €  sè   € ð ˆˆ�‰
€AØ	
ˆAˆ�!��q‘Ñ€AÝ	#Ø¨Àð
ñ 
ô 
€Bõ 
ŒÝÐLð
ñ 
ô 
ð ð ð 	�Šˆq�!‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
$Ø¨Àð
ñ 
ô 
€B€B€Bs   Á A#Á#A'Á*A'c                  ó   — t          j        d¦  «        } t          j        d¦  «        }t          ¦   «                              | |¦  «        }t          |j        t          j        dt           j        ¬¦  «        ¦  «         d S )N)r'   r'   )r'   r'   rÒ   )rR   r¦   r|   r   r7   r   r“   rÖ   )rC   rD   rÕ  s      r>   Ú'test_gbr_degenerate_feature_importancesr÷  –  sc   € å
Œ�ÑÔ€AÝ
Œ�‰Œ€AÝ
#Ñ
%Ô
%×
)Ò
)¨!¨QÑ
/Ô
/€CÝ�sÔ/µ´¸"ÅBÄJÐ1OÑ1OÔ1OÑPÔPÐPÐPÐPrq   c                  ó  — d} d}t          j        t          j        |¦  «        | ¦  «        }t          j        ||dz  ¦  «        }t          j        | | dz  ¦  «        }t           j        ||f         }t           j                             d¦  «        }||                     d|j        ¬¦  «        z   }t          d¬¦  «         
                    ||¦  «        }t          d	¬¦  «         
                    ||¦  «        }t          ¦   «          
                    ||¦  «        }	|                     |¦  «        }
t          j        |                     |¦  «        |
k    ¦  «        sJ ‚t          j        |
|	                     |¦  «        k    ¦  «        sJ ‚d
S )z9Check that huber lies between absolute and squared error.r$   r'   r"   rÌ  r!   )r   rà   rs   r0   rt   N)rR   ÚtileÚarangeÚminimumÚc_rã   rä   r/   rU   r   r7   rL   rœ   )Ún_repr)   rD   Úx1Úx2rC   rë   Úgbt_absolute_errorÚ	gbt_huberÚgbt_squared_errorÚgbt_huber_predictionss              r>   Útest_huber_vs_mean_and_medianr  ž  sd  € à€EØ€IÝ
Œ•”	˜)Ñ$Ô$ eÑ,Ô,€AÝ	Œ�A�y 1‘}Ñ	%Ô	%€BÝ	Œ�Q�B˜˜
 Q™Ñ	'Ô	'€BÝ
Œˆb�"ˆfŒ€Aå
Œ)×
Ò
 Ñ
#Ô
#€Cà	ˆC�OŠO !¨!¬'ˆOÑ2Ô2Ñ2€Aå2Ð8HÐIÑIÔI×MÒMÈaÐQRÑSÔSÐÝ)¨wÐ7Ñ7Ô7×;Ò;¸A¸qÑAÔA€IÝ1Ñ3Ô3×7Ò7¸¸1Ñ=Ô=Ðà%×-Ò-¨aÑ0Ô0ÐÝŒ6Ð$×,Ò,¨QÑ/Ô/Ð3HÒHÑIÔIÐIÐIÐIÝŒ6Ð'Ð+<×+DÒ+DÀQÑ+GÔ+GÒGÑHÔHÐHÐHÐHÐHÐHrq   c                  óö  — t          j        ¦   «         5  t          j        d¦  «         t          t	          j        d¦  «        d¦  «        dk    sJ ‚t          t	          j        d¦  «        t	          j        d¦  «        ¦  «        dk    sJ ‚	 ddd¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          t	          j        d¦  «        d¦  «         ddd¦  «         dS # 1 swxY w Y   dS )	z0Test that _safe_divide handles division by zero.Úerrorgœu ˆ<ä7~r   rJ   NÚoverflowr2   g»½×Ùß|Û=)	rè   ré   Úsimplefilterr   rR   rÖ   r4   r  ÚRuntimeWarningrc   rq   r>   Útest_safe_divider
  ´  sp  € å	Ô	 Ñ	"Ô	"ð Cð CÝÔ˜gÑ&Ô&Ð&Ý�BœJ uÑ-Ô-¨qÑ1Ô1°QÒ6Ð6Ð6Ð6Ý�BœJ s™OœO­R¬Z¸©_¬_Ñ=Ô=ÀÒBÐBÐBÐBÐBðCð Cð Cñ Cô Cð Cð Cð Cð Cð Cð Cøøøð Cð Cð Cð Cõ 
Œ•n¨JÐ	7Ñ	7Ô	7ð /ð /å•R”Z Ñ&Ô&¨Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /s$   ”A7BÂBÂBÂ>#C.Ã.C2Ã5C2c                  óN  — d} t          j        | ¦  «        }t          j        || dz  ¦  «        }t          j        | |  dz  ¦  «        }t           j        ||f         }t	          dd¬¦  «                             ||¦  «        }t          j        g d¢¦  «        }t          |                     |¦  «        |d¬¦  «         t          j        g d	¢¦  «        }t          |j	        d
d…         |d¬¦  «         t          j
        ddg| dz  ¦  «        }t	          dd¬¦  «                             |||¬¦  «        }t          j        g d¢¦  «        }t          |                     |¦  «        |dd¬¦  «         t          j        g d¢¦  «        }t          |j	        d
d…         |dd¬¦  «         dS )zˆTest squared error GBT backward compat on a simple dataset.

    The results to compare against are taken from scikit-learn v1.2.0.
    r'   r"   rr   r$   ©r1   rI   )
gÑµ­O@"?g!ÓÒÃm ð?gŽ_ôì$  @gT )= @g�6 @gÞñNýÿ@g¬lUöÿ@gñ£u¯îÿ@gÍ€«#äÿ@g'aK4íÿ!@ç:Œ0âŽyE>©Úrtol)
geœÔ©(j>gô„¾³ò<e>g †kÏx?a>gèzU:\>gWâýw¾V>gÛÉã·ÈwR>g¶÷ïØÿM>g0¿~JÇYH>gh�1œ`ÁC>gÃ±åØ­
@>r|  Nr!   rz   )
g¥´â°hù#?gq)ßu ð?g	1ú~(  @g_ªQ @g“åÁi @gî�Åªÿÿ@gì3%aøÿ@g[žA"ñÿ@gâdÑ*éÿ@gg¬h9ñÿ!@g�íµ ÷Æ°>gñhãˆµøä>)r  Úatol)
gŸwFàš$f>gÛªÞ5ôa>gÁÕù:Z]>glF2¢U™W>g„Œ²—™!S>gô·‘áO>gƒ×1¿&I>gÍ—¦KÚcD>g‘U}Þ‡@>gùÄ©Î:>rÎ  g•dyáý¥=)rR   rú  rû  rü  r   r7   r"  r   rL   rQ   rù  )	r)   rD   rþ  rÿ  rC   ÚgbtÚpred_resultÚtrain_scoreÚsample_weightss	            r>   Ú(test_squared_error_exact_backward_compatr  ¿  s×  € ð
 €IÝ
Œ	�)ÑÔ€AÝ	Œ�A�y 1‘}Ñ	%Ô	%€BÝ	Œ�Q�B˜˜
 Q™Ñ	'Ô	'€BÝ
Œˆb�"ˆfŒ€AÝ
#¨ÀsÐ
KÑ
KÔ
K×
OÒ
OÐPQÐSTÑ
UÔ
U€Cå”(ð	
ð 	
ð 	
ñô €Kõ �C—K’K ‘N”N K°dÐ;Ñ;Ô;Ð;å”(ð	
ð 	
ð 	
ñô €Kõ �CÔ$ S T TÔ*¨K¸dÐCÑCÔCÐCõ ”W˜a ˜W i°1¡nÑ5Ô5€NÝ
#¨ÀsÐ
KÑ
KÔ
K×
OÒ
OØ	ˆ1˜Nð Pñ ô €Cõ ”(ð	
ð 	
ð 	
ñô €Kõ �C—K’K ‘N”N K°dÀÐFÑFÔFÐFå”(ð	
ð 	
ð 	
ñô €Kõ �CÔ$ S T TÔ*¨K¸dÈÐOÑOÔOÐOÐOÐOrq   c                  óÐ  — d} t          j        | ¦  «        }t          j        || dz  ¦  «        }t          j        | |  dz  ¦  «        }t           j        ||f         }t	          ddd¬¦  «                             ||¦  «        }|j        j        j        dk     sJ ‚t          | 
                    |¦  «        |d¬	¦  «         t          j        |j        d
d…         dk     ¦  «        sJ ‚dS )z%Test huber GBT can completely overfitr'   r"   rt   r$   r3  )r1   rI   r  g-Cëâ6*?rÌ   )r  r|  Ngvƒôõ!”>)rR   rú  rû  rü  r   r7   r²   ÚclossÚdeltar   rL   rœ   rQ   )r)   rD   rþ  rÿ  rC   r  s         r>   Útest_huber_overfitr    sÝ   € à€IÝ
Œ	�)ÑÔ€AÝ	Œ�A�y 1‘}Ñ	%Ô	%€BÝ	Œ�Q�B˜˜
 Q™Ñ	'Ô	'€BÝ
Œˆb�"ˆfŒ€AÝ
#¨¸sÈ#Ð
NÑ
NÔ
N×
RÒ
RÐSTÐVWÑ
XÔ
X€CàŒ9Œ?Ô  4Ò'Ð'Ð'Ð'Ý�C—K’K ‘N”N A¨DÐ1Ñ1Ô1Ð1ÝŒ6�#Ô" 3 4 4Ô(¨4Ò/Ñ0Ô0Ð0Ð0Ð0Ð0Ð0rq   c                  ó&  — d} t          j        | ¦  «        dz  }t          j        || dz  ¦  «        }t          j        | |  dz  ¦  «        }t           j        ||f         }t	          dd¬¦  «                             ||¦  «        }t          j        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
¦  «        }t          |                     |¦  «        |d¬	¦  «         t          j        g d
¢¦  «        }t          |j	        dd…         |d¬	¦  «         dS )zŠTest binary log_loss GBT backward compat on a simple dataset.

    The results to compare against are taken from scikit-learn v1.2.0.
    r'   r"   rG   r$   r  gƒ
tÒÿï?gàr¹ƒ3÷ö>r  r  )
g¸Êu>?gŒ5Ò®^Ž?gô ÁÄ?gÒ	ÅÏiì?gN¬î?gËv^q!?g2¾„C6 ?gÈ�Álø?g1oEša	?gÁÑ5ÿC÷?r|  N©
rR   rú  rû  rü  r
   r7   r"  r   r›   rQ   ©r)   rD   rþ  rÿ  rC   r  r  r  s           r>   Ú)test_binomial_error_exact_backward_compatr     sP  € ð
 €IÝ
Œ	�)ÑÔ˜qÑ €AÝ	Œ�A�y 1‘}Ñ	%Ô	%€BÝ	Œ�Q�B˜˜
 Q™Ñ	'Ô	'€BÝ
Œˆb�"ˆfŒ€AÝ
$¨*À3Ð
GÑ
GÔ
G×
KÒ
KÈAÈqÑ
QÔ
Q€Cå”(à˜^Ð,Ø˜^Ð,Ø˜^Ð,Ø˜^Ð,Ø˜^Ð,Ø˜^Ð,Ø˜^Ð,Ø˜^Ð,Ø˜^Ð,Ø˜^Ð,ð	
ñô €Kõ �C×%Ò% aÑ(Ô(¨+¸DÐAÑAÔAÐAå”(ð	
ð 	
ð 	
ñô €Kõ �CÔ$ S T TÔ*¨K¸dÐCÑCÔCÐCÐCÐCrq   c                  ó&  — d} t          j        | ¦  «        dz  }t          j        || dz  ¦  «        }t          j        | |  dz  ¦  «        }t           j        ||f         }t	          d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          |                     |¦  «        |d¬¦  «         t          j        g d¢¦  «        }t          |j	        dd…         |d¬¦  «         dS )zŽTest multiclass log_loss GBT backward compat on a simple dataset.

    The results to compare against are taken from scikit-learn v1.2.0.
    r'   r%   r"   rG   r$   r  )çk*omÿÿï?gr¿LD“~>çlÿÁ-a›u>çh,a›u>)gŠÓË?“~>r  r   r!  )ç0Q¿¤(€>r"  çW„Qÿÿï?g?öm…}w>)r"  r"  gX
í€}w>r#  r  r  )
g]ÓR4³>g³�õ{a\°>g5õ|ÿñ)¬>guï¶B¨=¨>gÈ@3BÝ¤>g³ b‡Cõ¡>gB2h–Íéž>g�@,y›š>g"âŒy°æ–>gŒœû=¶“>r|  Nr  r  s           r>   Ú,test_multinomial_error_exact_backward_compatr$  M  sZ  € ð
 €IÝ
Œ	�)ÑÔ˜qÑ €AÝ	Œ�A�y 1‘}Ñ	%Ô	%€BÝ	Œ�Q�B˜˜
 Q™Ñ	'Ô	'€BÝ
Œˆb�"ˆfŒ€AÝ
$¨*À3Ð
GÑ
GÔ
G×
KÒ
KÈAÈqÑ
QÔ
Q€Cå”(àLÐLÐLØLÐLÐLØLÐLÐLØLÐLÐLØLÐLÐLØLÐLÐLØLÐLÐLØLÐLÐLØLÐLÐLØLÐLÐLð	
ñô €Kõ �C×%Ò% aÑ(Ô(¨+¸DÐAÑAÔAÐAå”(ð	
ð 	
ð 	
ñô €Kõ �CÔ$ S T TÔ*¨K¸dÐCÑCÔCÐCÐCÐCrq   c                 ó  — t          j        dd¬¦  «        \  }}ddddd| dd	œ}t          di |¤Ž}t          j        ¦   «         5  t          j        d
¦  «         |                     ||¦  «         ddd¦  «         dS # 1 swxY w Y   dS )a`  Test _update_terminal_regions denominator is not zero.

    For instance for log loss based binary classification, the line search step might
    become nan/inf as denominator = hessian = prob * (1 - prob) and prob = 0 or 1 can
    happen.
    Here, we create a situation were this happens (at least with roughly 80%) based
    on the random seed.
    r$   rÙ   r\   r]   rv   r%   Nr"   )r_   ru   rI   rb   r^   r-   Úmin_samples_leafr  rc   )r   rd   r
   rè   ré   r  r7   )rV   rC   rD   Úparamsr<   s        r>   Útest_gb_denominator_zeror(  z  sê   € õ Ô$¨sÀÐDÑDÔD�D€A€qð ØØØØØ*Øðð €Fõ %Ð
.Ð
. vÐ
.Ð
.€Cå	Ô	 Ñ	"Ô	"ð ð ÝÔ˜gÑ&Ô&Ð&Ø�Š��1‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á+A;Á;A?ÂA?c                 óÆ   — t          j        t          d¬¦  «        5   | d¬¦  «        }|                     t          t
          ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚ	criterionr2   Úfriedman_mse)r*  )r4   r  ÚFutureWarningr7   rC   rD   )r•   r€   s     r>   Ú test_criterion_param_deprecationr-  –  sŸ   € å	Œ•m¨;Ð	7Ñ	7Ô	7ð ð ØÐ¨Ð8Ñ8Ô8ˆØ�Š••1‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   œ-AÁAÁA)�Ú__doc__rð  rè   ÚnumpyrR   r4   Únumpy.testingr   Úsklearnr   Úsklearn.baser   Úsklearn.datasetsr   r   Úsklearn.dummyr   r	   Úsklearn.ensembler
   r   Úsklearn.ensemble._gbr   Ú#sklearn.ensemble._gradient_boostingr   Úsklearn.exceptionsr   r   Úsklearn.linear_modelr   Úsklearn.metricsr   Úsklearn.model_selectionr   Úsklearn.pipeliner   Úsklearn.preprocessingr   Úsklearn.svmr   Úsklearn.utilsr   Úsklearn.utils._mockingr   Úsklearn.utils._param_validationr   Úsklearn.utils._testingr   r   r   Úsklearn.utils.fixesr   r   r   ÚGRADIENT_BOOSTING_ESTIMATORSrC   rD   rM   rN   r~   r}   rã   rä   rë   Ú	load_irisr8   Úpermutationr:   rà   Úpermr9   r?   rE   ÚmarkÚparametrizerY   rp   rƒ   rˆ   r‘   r—   r¡   r£   r­   rµ   rÇ   rÐ   r×   rÝ   rð   rú   rþ   r  r  r  r  r  r#  r)  r-  r/  Úthread_unsaferR  rU  r_  ra  rj  rm  rs  rw  rz  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  r
  r  r  r  r$  r(  r-  rc   rq   r>   ú<module>rK     sƒ  ððð ð 
€	€	€	Ø €€€à Ð Ð Ð Ø €€€Ø )Ð )Ð )Ð )Ð )Ð )à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø RÐ RÐ RÐ RÐ RÐ RÐ RÐ RØ -Ð -Ð -Ð -Ð -Ð -Ø >Ð >Ð >Ð >Ð >Ð >Ø DÐ DÐ DÐ DÐ DÐ DÐ DÐ DØ 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø .Ð .Ð .Ð .Ð .Ð .Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø *Ð *Ð *Ð *Ð *Ð *Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø Ð Ð Ð Ð Ð Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø AÐ AÐ AÐ AÐ AÐ Aðð ð ð ð ð ð ð ð ð ð
 OÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ Nà :Ð<UÐVÐ ð 	ˆ"€X��Bˆx˜"˜b˜ A q 6¨A¨q¨6°A°q°6Ð:€ØÐÐ€Øˆ"€X��1ˆv˜˜1�vÐ€Øˆjˆj€ð ˆØ˜a¨q¸Èðñ ô �€€uð 	ˆˆe‰Œ€à„i×Ò˜AÑÔ€ð €xÔÑÔ€Ø
‡‚�t”{Ô'Ñ(Ô(€ØŒI�dŒO€„	ØŒk˜$Ô€„ð(ð (ð (ðð ð ð „×Ò˜Ð!<Ñ=Ô=ð&ð &ñ >Ô=ð&ð( „×Ò˜Ð!<Ñ=Ô=ð*Sð *Sñ >Ô=ð*SðZ „×Ò˜Ð!MÑNÔNØ„×Ò˜ jÑ1Ô1ð$ð $ñ 2Ô1ñ OÔNð$ðN „×Ò˜ jÑ1Ô1Ø„×Ò˜¨)Ñ4Ô4ð)ð )ñ 5Ô4ñ 2Ô1ð)ð$)ð )ð )ðX „×ÒØà	" E¨5Ð1Ø	# T¤Y°´Ð<ðñô ð1ð 1ñô ð1ð,ð ,ð ,ð(3ð 3ð 3ð „×Ò˜¨.Ñ9Ô9ðMð Mñ :Ô9ðMð Eð Eð Eð(!Nð !Nð !NðH#ð #ð #ðB)ð )ð )ð*Gð Gð Gð6 „×Ò˜Ð&BÑCÔCð-ð -ñ DÔCð-ð$'ð 'ð 'ð(Tð Tð Tð&ð &ð &ð2'ð 'ð 'ð'ð 'ð 'ð'ð 'ð 'ð*'ð 'ð 'ð: „×ÒÐ4Ð6RÑSÔSðð ñ TÔSðð „×ÒÐ4Ð6RÑSÔSðLð Lñ TÔSðLð* „×ÒØ.à	#Ð%7Ð8Ø	# ]Ð3Ø	# \Ð2Ø	"Ð$6Ð7Ø	" MÐ2Ø	" LÐ1ðñ
ô 
ð ð  ñ
ô 
ð ðLð Lð Lð@ „Ôðð ñ Ôðð> „Ôðð ñ Ôðð8 „×Ò˜Ð <Ñ=Ô=ðGð Gñ >Ô=ðGð, „×Ò˜Ð <Ñ=Ô=ð7ð 7ñ >Ô=ð7ð  „×Ò˜Ð <Ñ=Ô=ð5ð 5ñ >Ô=ð5ð „×Ò˜Ð <Ñ=Ô=ð@ð @ñ >Ô=ð@ð „×ÒÐ+Ð-IÑJÔJð6ð 6ñ KÔJð6ð> „×Ò˜Ð <Ñ=Ô=ðð ñ >Ô=ðð „×Ò˜Ð <Ñ=Ô=ð
?ð 
?ñ >Ô=ð
?ð „×Ò˜Ð <Ñ=Ô=ð@ð @ñ >Ô=ð@ð$ „×Ò˜Ð <Ñ=Ô=ðFð Fñ >Ô=ðFð& „×Ò˜Ð <Ñ=Ô=Ø„×ÒØ˜¨Ñ7¸.ÑHñô ð!;ð !;ñô ñ >Ô=ð!;ðH „×Ò˜Ð <Ñ=Ô=ð>ð >ñ >Ô=ð>ð&ð ð ð „×Ò˜Ð <Ñ=Ô=ð*@ð *@ñ >Ô=ð*@ðZQð Qð Qð"Qð Qð Qð#ð #ð #ð&"ð "ð "ð. „×Ò˜Ð(DÑEÔEðð ñ FÔEðð „×Ò˜Ð(DÑEÔEð1ð 1ñ FÔEð1ð*ð *ð *ð „×ÒØðð ð ñô ð,ð ,ñô ð,ð6ð 6ð 6ð Ø„×ÒØÐ1Ð3LÐMñô ð „×ÒØ˜¨Ñ7¸.ÑHñô ð%7ð %7ñô ñô ñ „ð%7ðP „×ÒØÐ"<Ð>WÐ!Xñô ð 4ð  4ñô ð 4ðF#ð #ð #ð&(2ð (2ð (2ðVð ð ð Dð Dð Dð „×ÒØ'à	#Ð%8¸/ÐJØ	#Ð%5°ÐGØ	" O°^ÐDðð
 	MÐLÐLð ñ ô ðAð Añô ðAð,8ð 8ð 8ð<ð ð ð,Qð Qð QðIð Ið Ið,/ð /ð /ðPPð PPð PPðf1ð 1ð 1ð*Dð *Dð *DðZ*Dð *Dð *DðZð ð ð8 „×ÒÐ+Ð-IÑJÔJðð ñ KÔJðð ð rq   