§
    qŠtjæP  ã            	       óÖ  — d Z ddlZddlZddlZddlmZ ddlmZm	Z	 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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"m#Z# ddl$m%Z%m&Z&m'Z'm(Z(m)Z) ej*         +                    d¦  «        Z,ddgddgddgddgddgddggZ-g d¢Z.g d¢Z/ddgddgddggZ0g d¢Z1g d¢Z2 ej3        ¦   «         Z4e, 5                    e4j6        j7        ¦  «        Z8 ee4j9        e4j6        e,¬¦  «        \  e4_9        e4_6         ej:        ¦   «         Z; ee;j9        e;j6        e,¬¦  «        \  e;_9        e;_6        d„ Z<d„ Z=d„ Z>d„ Z?ej@         A                    dg d¢¦  «        d„ ¦   «         ZBd „ ZCd!„ ZDd"„ ZEd#„ ZFd$„ ZGd%„ ZHd&„ ZIej@         A                    d' eJg e&¢e'¢e)¢e%¢e(¢e&d(e'z  z   ¦  «        ¦  «        d)„ ¦   «         ZKej@         A                    d' eJg e&¢e'¢e)¢e%¢e(¢e&d(e'z  z   ¦  «        ¦  «        d*„ ¦   «         ZLd+„ ZMd,„ ZNd-„ ZOd.„ ZPd/„ ZQej@         A                    d0 e¦   «         e4j9        e4j6        f e¦   «         e;j9        e;j6        fg¦  «        d1„ ¦   «         ZRd2„ ZSd3„ ZTdS )4z6Testing for the boost module (sklearn.ensemble.boost).é    N)Údatasets)ÚBaseEstimatorÚclone)ÚDummyClassifierÚDummyRegressor)ÚAdaBoostClassifierÚAdaBoostRegressor)ÚLinearRegressionÚLogisticRegression)ÚGridSearchCVÚtrain_test_split)ÚSVCÚSVR)ÚDecisionTreeClassifierÚDecisionTreeRegressor)Úshuffle)ÚNoSampleWeightWrapper)Úassert_allcloseÚassert_array_almost_equalÚassert_array_equal)ÚCOO_CONTAINERSÚCSC_CONTAINERSÚCSR_CONTAINERSÚDOK_CONTAINERSÚLIL_CONTAINERSéþÿÿÿéÿÿÿÿé   é   )Úfoor    r    r   r   r   )r   r   r   r   r   r   é   )r    r   r   )r   r   r   ©Úrandom_statec                  ó<  — t          j        t          t          ¦  «        ¦  «        } t	          ¦   «                              t          | ¦  «        }t          |                     t          ¦  «        t          j        t          t          ¦  «        df¦  «        ¦  «         d S )Nr   )ÚnpÚonesÚlenÚXr   Úfitr   Úpredict_proba)Úy_tÚclfs     úi/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sklearn/ensemble/tests/test_weight_boosting.pyÚtest_oneclass_adaboost_probar.   6   sj   € õ Œ'•#•a‘&”&‰/Œ/€CÝ
Ñ
Ô
×
"Ò
"¥1 cÑ
*Ô
*€CÝ˜c×/Ò/µÑ2Ô2µB´G½SÅ¹V¼VÀQ¸KÑ4HÔ4HÑIÔIÐIÐIÐIó    c                  ó  — t          d¬¦  «        } |                      t          t          ¦  «         t	          |                      t          ¦  «        t          ¦  «         t	          t          j	        t          j
        t          ¦  «        ¦  «        | j        ¦  «         |                      t          ¦  «        j        t          t          ¦  «        dfk    sJ ‚|                      t          ¦  «        j        t          t          ¦  «        fk    sJ ‚d S )Nr   r"   r   )r   r)   r(   Úy_classr   ÚpredictÚTÚ	y_t_classr%   ÚuniqueÚasarrayÚclasses_r*   Úshaper'   Údecision_function©r,   s    r-   Útest_classification_toyr;   ?   sÂ   € å
¨!Ð
,Ñ
,Ô
,€CØ‡G‚G�A�wÑÔÐÝ�s—{’{¥1‘~”~¥yÑ1Ô1Ð1Ý•r”y¥¤­IÑ!6Ô!6Ñ7Ô7¸¼ÑFÔFÐFØ×Ò�QÑÔÔ%­#­a©&¬&°!¨Ò4Ð4Ð4Ð4Ø× Ò ¥Ñ#Ô#Ô)­cµ!©f¬f¨YÒ6Ð6Ð6Ð6Ð6Ð6r/   c                  óÀ   — t          d¬¦  «        } |                      t          t          ¦  «         t	          |                      t          ¦  «        t          ¦  «         d S ©Nr   r"   )r	   r)   r(   Úy_regrr   r2   r3   Úy_t_regrr:   s    r-   Útest_regression_toyr@   I   sF   € å
¨Ð
+Ñ
+Ô
+€CØ‡G‚G�A�vÑÔÐÝ�s—{’{¥1‘~”~¥xÑ0Ô0Ð0Ð0Ð0r/   c                  ó  — t          j        t          j        ¦  «        } t	          ¦   «         }|                     t          j        t          j        ¦  «         t          | |j        ¦  «         | 	                    t          j        ¦  «        }|j
        d         t          | ¦  «        k    sJ ‚|                     t          j        ¦  «        j
        d         t          | ¦  «        k    sJ ‚|                     t          j        t          j        ¦  «        }|dk    sJ d|›�¦   «         ‚t          |j        ¦  «        dk    sJ ‚t          t          d„ |j        D ¦   «         ¦  «        ¦  «        t          |j        ¦  «        k    sJ ‚d S )Nr   gÍÌÌÌÌÌì?zFailed with score = c              3   ó$   K  — | ]}|j         V — Œd S ©Nr"   ©Ú.0Úests     r-   ú	<genexpr>ztest_iris.<locals>.<genexpr>c   ó%   è è € Ð?Ð?¨�3Ô#Ð?Ð?Ð?Ð?Ð?Ð?r/   )r%   r5   ÚirisÚtargetr   r)   Údatar   r7   r*   r8   r'   r9   ÚscoreÚestimators_Úset)Úclassesr,   ÚprobarL   s       r-   Ú	test_irisrQ   P   s;  € åŒi�œÑ$Ô$€Gå
Ñ
Ô
€CØ‡G‚G�DŒI•t”{Ñ#Ô#Ð#å�w ¤Ñ-Ô-Ð-Ø×Ò�dœiÑ(Ô(€EàŒ;�qŒ>�S ™\œ\Ò)Ð)Ð)Ð)Ø× Ò ¥¤Ñ+Ô+Ô1°!Ô4½¸G¹¼ÒDÐDÐDÐDà�IŠI•d”i¥¤Ñ-Ô-€EØ�3Š;ˆ;ˆ;Ð1 uÐ1Ð1‰;Œ;ˆ;õ ˆsŒÑÔ !Ò#Ð#Ð#Ð#å�sÐ?Ð?¨s¬Ð?Ñ?Ô?Ñ?Ô?Ñ@Ô@ÅCÈÌÑDXÔDXÒXÐXÐXÐXÐXÐXr/   Úloss)ÚlinearÚsquareÚexponentialc                 óš  — t          | d¬¦  «        }|                     t          j        t          j        ¦  «         |                     t          j        t          j        ¦  «        }|dk    sJ ‚t          |j        ¦  «        dk    sJ ‚t          t          d„ |j        D ¦   «         ¦  «        ¦  «        t          |j        ¦  «        k    sJ ‚d S )Nr   )rR   r#   gš™™™™™á?r   c              3   ó$   K  — | ]}|j         V — Œd S rC   r"   rD   s     r-   rG   z test_diabetes.<locals>.<genexpr>q   rH   r/   )	r	   r)   ÚdiabetesrK   rJ   rL   r'   rM   rN   )rR   ÚregrL   s      r-   Útest_diabetesrZ   f   s±   € õ  °AÐ
6Ñ
6Ô
6€CØ‡G‚G�HŒM�8œ?Ñ+Ô+Ð+Ø�IŠI•h”m¥X¤_Ñ5Ô5€EØ�4Š<ˆ<ˆ<ˆ<õ ˆsŒÑÔ !Ò#Ð#Ð#Ð#å�sÐ?Ð?¨s¬Ð?Ñ?Ô?Ñ?Ô?Ñ@Ô@ÅCÈÌÑDXÔDXÒXÐXÐXÐXÐXÐXr/   c                  ó´  — t           j                             d¦  «        } |                      dt          j        j        ¬¦  «        }|                      dt          j        j        ¬¦  «        }t          d¬¦  «        }| 	                    t          j
        t          j        |¬¦  «         |                     t          j
        ¦  «        }d„ |                     t          j
        ¦  «        D ¦   «         }|                     t          j
        ¦  «        }d„ |                     t          j
        ¦  «        D ¦   «         }|                     t          j
        t          j        |¬¦  «        }d„ |                     t          j
        t          j        |¬¦  «        D ¦   «         }	t#          |¦  «        dk    sJ ‚t%          ||d	         ¦  «         t#          |¦  «        dk    sJ ‚t%          ||d	         ¦  «         t#          |	¦  «        dk    sJ ‚t%          ||	d	         ¦  «         t'          dd¬
¦  «        }| 	                    t          j
        t          j        |¬¦  «         |                     t          j
        ¦  «        }d„ |                     t          j
        ¦  «        D ¦   «         }|                     t          j
        t          j        |¬¦  «        }d„ |                     t          j
        t          j        |¬¦  «        D ¦   «         }	t#          |¦  «        dk    sJ ‚t%          ||d	         ¦  «         t#          |	¦  «        dk    sJ ‚t%          ||	d	         ¦  «         d S )Nr   é
   ©Úsize©Ún_estimators©Úsample_weightc                 ó   — g | ]}|‘ŒS © rd   ©rE   Úps     r-   ú
<listcomp>z'test_staged_predict.<locals>.<listcomp>~   s   € ÐCÐCÐC ˜!ÐCÐCÐCr/   c                 ó   — g | ]}|‘ŒS rd   rd   re   s     r-   rg   z'test_staged_predict.<locals>.<listcomp>€   s   € ÐDÐDÐD˜1�QÐDÐDÐDr/   c                 ó   — g | ]}|‘ŒS rd   rd   ©rE   Úss     r-   rg   z'test_staged_predict.<locals>.<listcomp>‚   s%   € ð ð ð Øˆðð ð r/   r   ©r`   r#   c                 ó   — g | ]}|‘ŒS rd   rd   re   s     r-   rg   z'test_staged_predict.<locals>.<listcomp>’   s   € ÐGÐGÐG ˜!ÐGÐGÐGr/   c                 ó   — g | ]}|‘ŒS rd   rd   rj   s     r-   rg   z'test_staged_predict.<locals>.<listcomp>”   s(   € ð ð ð àð 	
ðð ð r/   )r%   ÚrandomÚRandomStateÚrandintrI   rJ   r8   rX   r   r)   rK   r2   Ústaged_predictr*   Ústaged_predict_probarL   Ústaged_scorer'   r   r	   )
ÚrngÚiris_weightsÚdiabetes_weightsr,   ÚpredictionsÚstaged_predictionsrP   Ústaged_probasrL   Ústaged_scoress
             r-   Útest_staged_predictr|   t   sð  € å
Œ)×
Ò
 Ñ
"Ô
"€CØ—;’;˜r­¬Ô(9�;Ñ:Ô:€LØ—{’{ 2­H¬OÔ,A�{ÑBÔBÐå
¨"Ð
-Ñ
-Ô
-€CØ‡G‚G�DŒI•t”{°,€GÑ?Ô?Ð?à—+’+�dœiÑ(Ô(€KØCÐC S×%7Ò%7½¼	Ñ%BÔ%BÐCÑCÔCÐØ×Ò�dœiÑ(Ô(€EØDÐD × 8Ò 8½¼Ñ CÔ CÐDÑDÔD€MØ�IŠI•d”i¥¤¸LˆIÑIÔI€Eðð Ø×#Ò#¥D¤I­t¬{È,Ð#ÑWÔWðñ ô €Mõ Ð!Ñ"Ô" bÒ(Ð(Ð(Ð(Ý˜kÐ+=¸bÔ+AÑBÔBÐBÝˆ}ÑÔ Ò#Ð#Ð#Ð#Ý˜e ]°2Ô%6Ñ7Ô7Ð7Ýˆ}ÑÔ Ò#Ð#Ð#Ð#Ý˜e ]°2Ô%6Ñ7Ô7Ð7õ ¨¸!Ð
<Ñ
<Ô
<€CØ‡G‚G�HŒM�8œ?Ð:J€GÑKÔKÐKà—+’+�hœmÑ,Ô,€KØGÐG S×%7Ò%7½¼Ñ%FÔ%FÐGÑGÔGÐØ�IŠI•h”m¥X¤_ÐDTˆIÑUÔU€Eðð à×!Ò!ÝŒM�8œ?Ð:Jð "ñ 
ô 
ðñ ô €Mõ Ð!Ñ"Ô" bÒ(Ð(Ð(Ð(Ý˜kÐ+=¸bÔ+AÑBÔBÐBÝˆ}ÑÔ Ò#Ð#Ð#Ð#Ý˜e ]°2Ô%6Ñ7Ô7Ð7Ð7Ð7r/   c                  ót  — t          t          ¦   «         ¬¦  «        } dddœ}t          | |¦  «        }|                     t          j        t          j        ¦  «         t          t          ¦   «         d¬¦  «        } dddœ}t          | |¦  «        }|                     t          j        t          j        ¦  «         d S )N©Ú	estimator)r   r   )r`   Úestimator__max_depthr   ©r   r#   )
r   r   r   r)   rI   rK   rJ   r	   r   rX   )ÚboostÚ
parametersr,   s      r-   Útest_gridsearchr„   ¡   s«   € õ Õ)?Ñ)AÔ)AÐBÑBÔB€EàØ &ðð €Jõ �u˜jÑ
)Ô
)€CØ‡G‚G�DŒI•t”{Ñ#Ô#Ð#õ Õ(=Ñ(?Ô(?ÈaÐPÑPÔP€EØ"(À&ÐIÐI€JÝ
�u˜jÑ
)Ô
)€CØ‡G‚G�HŒM�8œ?Ñ+Ô+Ð+Ð+Ð+r/   c                  ór  — dd l } t          ¦   «         }|                     t          j        t          j        ¦  «         |                     t          j        t          j        ¦  «        }|                      |¦  «        }|                      |¦  «        }t          |¦  «        |j
        k    sJ ‚|                     t          j        t          j        ¦  «        }||k    sJ ‚t          d¬¦  «        }|                     t          j        t          j        ¦  «         |                     t          j        t          j        ¦  «        }|                      |¦  «        }|                      |¦  «        }t          |¦  «        |j
        k    sJ ‚|                     t          j        t          j        ¦  «        }||k    sJ ‚d S r=   )Úpickler   r)   rI   rK   rJ   rL   ÚdumpsÚloadsÚtypeÚ	__class__r	   rX   )r†   ÚobjrL   rk   Úobj2Úscore2s         r-   Útest_picklerŽ   ³   sF  € à€M€M€Mõ Ñ
Ô
€CØ‡G‚G�DŒI•t”{Ñ#Ô#Ð#Ø�IŠI•d”i¥¤Ñ-Ô-€EØ�Š�SÑÔ€Aà�<Š<˜‰?Œ?€DÝ�‰:Œ:˜œÒ&Ð&Ð&Ð&Ø�ZŠZ�œ	¥4¤;Ñ/Ô/€FØ�FŠ?ˆ?ˆ?ˆ?õ ¨Ð
+Ñ
+Ô
+€CØ‡G‚G�HŒM�8œ?Ñ+Ô+Ð+Ø�IŠI•h”m¥X¤_Ñ5Ô5€EØ�Š�SÑÔ€Aà�<Š<˜‰?Œ?€DÝ�‰:Œ:˜œÒ&Ð&Ð&Ð&Ø�ZŠZ�œ¥x¤Ñ7Ô7€FØ�FŠ?ˆ?ˆ?ˆ?ˆ?ˆ?r/   c            	      ó*  — t          j        ddddddd¬¦  «        \  } }t          ¦   «         }|                     | |¦  «         |j        }|j        d         dk    sJ ‚|d d…t          j        f         |dd …         k                         ¦   «         sJ ‚d S )NiÐ  r\   r!   r   Fr   )Ú	n_samplesÚ
n_featuresÚn_informativeÚn_redundantÚ
n_repeatedr   r#   )	r   Úmake_classificationr   r)   Úfeature_importances_r8   r%   ÚnewaxisÚall)r(   Úyr,   Úimportancess       r-   Útest_importancesr›   Î   s«   € åÔ'ØØØØØØØðñ ô �D€A€qõ Ñ
Ô
€Cà‡G‚GˆAˆq�M„M€MØÔ*€KàÔ˜QÔ 2Ò%Ð%Ð%Ð%Ø˜˜˜�BœJ˜Ô'¨;°q°r°r¬?Ò:×?Ò?ÑAÔAÐAÐAÐAÐAÐAr/   c                  ó  — t          ¦   «         } t          j        d¦  «        }t          j        t
          |¬¦  «        5  |                      t          t          t          j
        dg¦  «        ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz*sample_weight.shape == (1,), expected (6,)©Úmatchr   ra   )r   ÚreÚescapeÚpytestÚraisesÚ
ValueErrorr)   r(   r1   r%   r6   )r,   Úmsgs     r-   Ú,test_adaboost_classifier_sample_weight_errorr¥   ã   sº   € å
Ñ
Ô
€CÝ
Œ)Ð@Ñ
AÔ
A€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð <ð <Ø�Š••7­"¬*°b°TÑ*:Ô*:ˆÑ;Ô;Ð;ð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <ð <ð <s   ¾6BÂBÂBc                  óÜ  — ddl m}  t           | ¦   «         ¦  «        }|                     t          t
          ¦  «         t          t          ¦   «         ¦  «        }|                     t          t          ¦  «         ddl m} t           |¦   «         d¬¦  «        }|                     t          t
          ¦  «         t          t          ¦   «         d¬¦  «        }|                     t          t
          ¦  «         ddgddgddgddgg}g d¢}t          t          ¦   «         ¦  «        }t          j        t          d¬¦  «        5  |                     ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nr   )ÚRandomForestClassifier)ÚRandomForestRegressorr"   r   )r    Úbarr   r   zworse than randomr�   )Úsklearn.ensembler§   r   r)   r(   r>   r   r1   r¨   r	   r   r¡   r¢   r£   )r§   r,   r¨   ÚX_failÚy_fails        r-   Útest_estimatorr­   ë   sœ  € à7Ð7Ð7Ð7Ð7Ð7õ Ð3Ð3Ñ5Ô5Ñ
6Ô
6€CØ‡G‚G�A�vÑÔÐå
�S™UœUÑ
#Ô
#€CØ‡G‚G�A�wÑÔÐà6Ð6Ð6Ð6Ð6Ð6å
Ð1Ð1Ñ3Ô3À!Ð
DÑ
DÔ
D€CØ‡G‚G�A�vÑÔÐå
�C™EœE°Ð
2Ñ
2Ô
2€CØ‡G‚G�A�vÑÔÐð �!ˆf�q˜!�f˜q !˜f q¨! fÐ-€FØ!Ð!Ð!€FÝ
�S™UœUÑ
#Ô
#€CÝ	Œ•zÐ)<Ð	=Ñ	=Ô	=ð  ð  Ø�Š�˜ÑÔÐð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  ð  ð  s   Ä=E!Å!E%Å(E%c                  óè   — d} 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 )Nz+Sample weights have reached infinite valuesé   g      7@)r`   Úlearning_rater�   )r   r¡   ÚwarnsÚUserWarningr)   rI   rK   rJ   )r¤   r,   s     r-   Útest_sample_weights_infiniter³     sª   € Ø
7€CÝ
¨"¸DÐ
AÑ
AÔ
A€CÝ	Œ•k¨Ð	-Ñ	-Ô	-ð (ð (Ø�Š•”	�4œ;Ñ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (s   ¯+A'Á'A+Á.A+z(sparse_container, expected_internal_typeé   c                 óÂ  ‡—  G d„ dt           ¦  «        }t          j        dddd¬¦  «        \  }}t          j        |¦  «        }t          ||d¬	¦  «        \  }}}} | |¦  «        }	 | |¦  «        }
t           |¦   «         d¬
¦  «                             |	|¦  «        }t           |¦   «         d¬
¦  «                             ||¦  «        }|                     |
¦  «        }|                     |¦  «        }t          ||¦  «         | 
                    |
¦  «        }| 
                    |¦  «        }t          ||¦  «         |                     |
¦  «        }|                     |¦  «        }t          ||¦  «         |                     |
¦  «        }|                     |¦  «        }t          ||¦  «         |                     |
|¦  «        }|                     ||¦  «        }t          ||¦  «         |                     |
¦  «        }|                     |¦  «        }t!          ||¦  «        D ]\  }}t          ||¦  «         Œ|                     |
¦  «        }|                     |¦  «        }t!          ||¦  «        D ]\  }}t          ||¦  «         Œ|                     |
¦  «        }|                     |¦  «        }t!          ||¦  «        D ]\  }}t          ||¦  «         Œ|                     |
|¦  «        }|                     ||¦  «        }t!          ||¦  «        D ]\  }}t          ||¦  «         Œd„ |j        D ¦   «         }t+          ˆfd„|D ¦   «         ¦  «        sJ ‚d S )Nc                   ó$   ‡ — e Zd ZdZdˆ fd„	Zˆ xZS )úAtest_sparse_classification.<locals>.CustomProbabilisticClassifierzGLogisticRegression variant that records the nature of the training set.Nc                 óx   •— t          ¦   «                              |||¬¦  «         t          |¦  «        | _        | S ©z<Modification on fit caries data type for later verification.ra   ©Úsuperr)   r‰   Ú
data_type_©Úselfr(   r™   rb   rŠ   s       €r-   r)   zEtest_sparse_classification.<locals>.CustomProbabilisticClassifier.fit!  ó1   ø€ å‰GŒG�KŠK˜˜1¨MˆKÑ:Ô:Ð:Ý" 1™gœgˆDŒOØˆKr/   rC   ©Ú__name__Ú
__module__Ú__qualname__Ú__doc__r)   Ú__classcell__©rŠ   s   @r-   ÚCustomProbabilisticClassifierr·     sC   ø€ € € € € ØUÐUð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	r/   rÇ   r   é   é   é*   )Ú	n_classesr�   r‘   r#   r   r"   r�   c                 ó   — g | ]	}|j         ‘Œ
S rd   ©r¼   ©rE   Úis     r-   rg   z.test_sparse_classification.<locals>.<listcomp>p  s   € ÐAÐAÐA˜aˆQŒ\ÐAÐAÐAr/   c              3   ó8   •K  — | ]}t          |‰¦  «        V — Œd S rC   ©Ú
issubclass©rE   ÚtÚexpected_internal_types     €r-   rG   z-test_sparse_classification.<locals>.<genexpr>r  ó.   øè è € ÐDÐD¸�z˜!Ð3Ñ4Ô4ÐDÐDÐDÐDÐDÐDr/   )r   r   Úmake_multilabel_classificationr%   Úravelr   r   r)   r2   r   r9   r   Úpredict_log_probar*   rL   Ústaged_decision_functionÚziprr   rs   rt   rM   r˜   )Úsparse_containerrÕ   rÇ   r(   r™   ÚX_trainÚX_testÚy_trainÚy_testÚX_train_sparseÚX_test_sparseÚsparse_classifierÚdense_classifierÚsparse_clf_resultsÚdense_clf_resultsÚsparse_clf_resÚdense_clf_resÚtypess    `                r-   Útest_sparse_classificationrê     s  ø€ ð ð ð ð ð Õ(:ñ ô ð õ Ô2Ø˜r¨a¸bðñ ô �D€A€qõ 	Œ�‰Œ€Aå'7¸¸1È1Ð'MÑ'MÔ'MÑ$€GˆV�W˜fà%Ð% gÑ.Ô.€NØ$Ð$ VÑ,Ô,€Mõ +Ø/Ð/Ñ1Ô1Øðñ ô ÷ 
‚cˆ.˜'Ñ"Ô"ð õ *Ø/Ð/Ñ1Ô1Øðñ ô ÷ 
‚cˆ'�7ÑÔð ð +×2Ò2°=ÑAÔAÐØ(×0Ò0°Ñ8Ô8ÐÝÐ)Ð+<Ñ=Ô=Ð=ð +×<Ò<¸]ÑKÔKÐØ(×:Ò:¸6ÑBÔBÐÝÐ0Ð2CÑDÔDÐDð +×<Ò<¸]ÑKÔKÐØ(×:Ò:¸6ÑBÔBÐÝÐ0Ð2CÑDÔDÐDð +×8Ò8¸ÑGÔGÐØ(×6Ò6°vÑ>Ô>ÐÝÐ0Ð2CÑDÔDÐDð +×0Ò0°ÀÑGÔGÐØ(×.Ò.¨v°vÑ>Ô>ÐÝÐ0Ð2CÑDÔDÐDð +×CÒCÀMÑRÔRÐØ(×AÒAÀ&ÑIÔIÐÝ),Ð-?ÐARÑ)SÔ)Sð Að AÑ%ˆ˜Ý! .°-Ñ@Ô@Ð@Ð@ð +×9Ò9¸-ÑHÔHÐØ(×7Ò7¸Ñ?Ô?ÐÝ),Ð-?ÐARÑ)SÔ)Sð :ð :Ñ%ˆ˜Ý˜>¨=Ñ9Ô9Ð9Ð9ð +×?Ò?ÀÑNÔNÐØ(×=Ò=¸fÑEÔEÐÝ),Ð-?ÐARÑ)SÔ)Sð Að AÑ%ˆ˜Ý! .°-Ñ@Ô@Ð@Ð@ð +×7Ò7¸ÀvÑNÔNÐØ(×5Ò5°f¸fÑEÔEÐÝ),Ð-?ÐARÑ)SÔ)Sð :ð :Ñ%ˆ˜Ý˜>¨=Ñ9Ô9Ð9Ð9ð BÐAÐ#4Ô#@ÐAÑAÔA€EåÐDÐDÐDÐD¸eÐDÑDÔDÑDÔDÐDÐDÐDÐDÐDr/   c                 óâ  ‡—  G d„ dt           ¦  «        }t          j        dddd¬¦  «        \  }}t          ||d¬	¦  «        \  }}}} | |¦  «        }	 | |¦  «        }
t	           |¦   «         d¬
¦  «                             |	|¦  «        }t	           |¦   «         d¬
¦  «                             ||¦  «        }|                     |
¦  «        }|                     |¦  «        }t          ||¦  «         |                     |
¦  «        }|                     |¦  «        }t          ||¦  «        D ]\  }}t          ||¦  «         Œd„ |j
        D ¦   «         }t          ˆfd„|D ¦   «         ¦  «        sJ ‚d S )Nc                   ó$   ‡ — e Zd ZdZdˆ fd„	Zˆ xZS )ú)test_sparse_regression.<locals>.CustomSVRz8SVR variant that records the nature of the training set.Nc                 óx   •— t          ¦   «                              |||¬¦  «         t          |¦  «        | _        | S r¹   rº   r½   s       €r-   r)   z-test_sparse_regression.<locals>.CustomSVR.fitˆ  r¿   r/   rC   rÀ   rÆ   s   @r-   Ú	CustomSVRrí   …  sC   ø€ € € € € ØFÐFð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	r/   rï   rÈ   é2   r   rÊ   )r�   r‘   Ú	n_targetsr#   r   r"   r�   c                 ó   — g | ]	}|j         ‘Œ
S rd   rÍ   rÎ   s     r-   rg   z*test_sparse_regression.<locals>.<listcomp>¬  s   € Ð@Ð@Ð@˜aˆQŒ\Ð@Ð@Ð@r/   c              3   ó8   •K  — | ]}t          |‰¦  «        V — Œd S rC   rÑ   rÓ   s     €r-   rG   z)test_sparse_regression.<locals>.<genexpr>®  rÖ   r/   )r   r   Úmake_regressionr   r	   r)   r2   r   rr   rÛ   rM   r˜   )rÜ   rÕ   rï   r(   r™   rÝ   rÞ   rß   rà   rá   râ   Úsparse_regressorÚdense_regressorÚsparse_regr_resultsÚdense_regr_resultsÚsparse_regr_resÚdense_regr_resré   s    `                r-   Útest_sparse_regressionrû   u  sÒ  ø€ ð ð ð ð ð •Cñ ô ð õ Ô#Ø ¨q¸rðñ ô �D€A€qõ (8¸¸1È1Ð'MÑ'MÔ'MÑ$€GˆV�W˜fà%Ð% gÑ.Ô.€NØ$Ð$ VÑ,Ô,€Mõ )°9°9±;´;ÈQÐOÑOÔO×SÒSØ˜ñô Ðõ
 (°)°)±+´+ÈAÐNÑNÔN×RÒRØ�ñô €Oð
 +×2Ò2°=ÑAÔAÐØ(×0Ò0°Ñ8Ô8ÐÝÐ1Ð3EÑFÔFÐFð +×9Ò9¸-ÑHÔHÐØ(×7Ò7¸Ñ?Ô?ÐÝ+.Ð/BÐDVÑ+WÔ+Wð Cð CÑ'ˆ˜Ý! /°>ÑBÔBÐBÐBà@Ð@Ð#3Ô#?Ð@Ñ@Ô@€EåÐDÐDÐDÐD¸eÐDÑDÔDÑDÔDÐDÐDÐDÐDÐDr/   c                  óö   —  G d„ dt           ¦  «        } t           | ¦   «         d¬¦  «        }|                     t          t          ¦  «         t          |j        ¦  «        t          |j        ¦  «        k    sJ ‚dS )z·
    AdaBoostRegressor should work without sample_weights in the base estimator
    The random weighted sampling is done internally in the _boost method in
    AdaBoostRegressor.
    c                   ó   — e Zd Zd„ Zd„ ZdS )ú=test_sample_weight_adaboost_regressor.<locals>.DummyEstimatorc                 ó   — d S rC   rd   )r¾   r(   r™   s      r-   r)   zAtest_sample_weight_adaboost_regressor.<locals>.DummyEstimator.fit¹  s   € ØˆDr/   c                 ó@   — t          j        |j        d         ¦  «        S )Nr   )r%   Úzerosr8   )r¾   r(   s     r-   r2   zEtest_sample_weight_adaboost_regressor.<locals>.DummyEstimator.predict¼  s   € Ý”8˜AœG AœJÑ'Ô'Ð'r/   N)rÁ   rÂ   rÃ   r)   r2   rd   r/   r-   ÚDummyEstimatorrþ   ¸  s2   € € € € € ð	ð 	ð 	ð	(ð 	(ð 	(ð 	(ð 	(r/   r  r!   r_   N)r   r	   r)   r(   r>   r'   Úestimator_weights_Úestimator_errors_)r  r‚   s     r-   Ú%test_sample_weight_adaboost_regressorr  ±  s‰   € ð(ð (ð (ð (ð (�ñ (ô (ð (õ ˜n˜nÑ.Ô.¸QÐ?Ñ?Ô?€EØ	‡I‚I�a•ÑÔÐÝˆuÔ'Ñ(Ô(­C°Ô0GÑ,HÔ,HÒHÐHÐHÐHÐHÐHr/   c                  ó  — t           j                             d¦  «        } |                      ddd¦  «        }|                      ddgd¦  «        }|                      d¦  «        }t          t          d¬¦  «        ¦  «        }|                     ||¦  «         |                     |¦  «         | 	                    |¦  «         t          t          ¦   «         ¦  «        }|                     ||¦  «         |                     |¦  «         dS )zX
    Check that the AdaBoost estimators can work with n-dimensional
    data matrix
    r   é3   r!   r   Úmost_frequent)ÚstrategyN)r%   ro   rp   ÚrandnÚchoicer   r   r)   r2   r*   r	   r   )ru   r(   ÚycÚyrr‚   s        r-   Útest_multidimensional_Xr  Ä  så   € õ
 Œ)×
Ò
 Ñ
"Ô
"€Cà�	Š	�"�a˜ÑÔ€AØ	�Š�Q˜�F˜BÑ	Ô	€BØ	�Š�2‰Œ€Bå�¸ÐHÑHÔHÑIÔI€EØ	‡I‚Iˆa�ÑÔÐØ	‡M‚M�!ÑÔÐØ	×Ò˜ÑÔÐå�nÑ.Ô.Ñ/Ô/€EØ	‡I‚Iˆa�ÑÔÐØ	‡M‚M�!ÑÔÐÐÐr/   c                  ó^  — t           j        t           j        }} t          t	          ¦   «         ¦  «        }t          |¬¦  «        }d                     |j        j        ¦  «        }t          j
        t          |¬¦  «        5  |                     | |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr~   z {} doesn't support sample_weightr�   )rI   rK   rJ   r   r   r   ÚformatrŠ   rÁ   r¡   r¢   r£   r)   )r(   r™   r   r,   Úerr_msgs        r-   Ú-test_adaboostclassifier_without_sample_weightr  Ù  sÕ   € ÝŒ9•d”k€q€AÝ%¥oÑ&7Ô&7Ñ8Ô8€IÝ
 yÐ
1Ñ
1Ô
1€CØ0×7Ò7¸	Ô8KÔ8TÑUÔU€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð ð Ø�Š��1‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á>B"Â"B&Â)B&c                  óª  — t           j                             d¦  «        } t          j        ddd¬¦  «        }d|z  dz   |                      |j        d         ¦  «        dz  z   }|                     d	d
¦  «        }|d	xx         dz  cc<   d|d	<   t          t          ¦   «         d
d¬¦  «        }t          |¦  «        }t          |¦  «        }| 
                    ||¦  «         | 
                    |d d	…         |d d	…         ¦  «         t          j        |¦  «        }d|d	<   | 
                    |||¬¦  «         |                     |d d	…         |d d	…         ¦  «        }|                     |d d	…         |d d	…         ¦  «        }|                     |d d	…         |d d	…         ¦  «        }	||k     sJ ‚||	k     sJ ‚|t          j        |	¦  «        k    sJ ‚d S )NrÊ   r   éd   éè  )Únumgš™™™™™é?gš™™™™™É?g-Cëâ6?r   r   r\   i'  ©r   r`   r#   ra   )r%   ro   rp   ÚlinspaceÚrandr8   Úreshaper	   r
   r   r)   Ú	ones_likerL   r¡   Úapprox)
ru   r(   r™   Úregr_no_outlierÚregr_with_weightÚregr_with_outlierrb   Úscore_with_outlierÚscore_no_outlierÚscore_with_weights
             r-   Ú$test_adaboostregressor_sample_weightr#  â  sô  € õ Œ)×
Ò
 Ñ
#Ô
#€CÝ
Œ�A�s Ð%Ñ%Ô%€AØ	ˆq‰�3‰˜3Ÿ8š8 A¤G¨A¤JÑ/Ô/°&Ñ8Ñ9€AØ	�	Š	�"�aÑÔ€Að €b€E€E„EˆR�K€E€E�EØ€A€b�Eõ (Ý"Ñ$Ô$°1À1ðñ ô €Oõ ˜_Ñ-Ô-ÐÝ˜oÑ.Ô.Ðð ×Ò˜!˜QÑÔÐØ×Ò˜˜#˜2˜#œ  # 2 #¤Ñ'Ô'Ð'Ý”L ‘O”O€MØ€M�"ÑØ×Ò˜˜A¨]ÐÑ;Ô;Ð;à*×0Ò0°°3°B°3´¸¸3¸B¸3¼Ñ@Ô@ÐØ&×,Ò,¨Q¨s°¨s¬V°Q°s¸°s´VÑ<Ô<ÐØ(×.Ò.¨q°°"°¬v°q¸¸"¸´vÑ>Ô>ÐàÐ 0Ò0Ð0Ð0Ð0ØÐ 1Ò1Ð1Ð1Ð1Ø�vœ}Ð->Ñ?Ô?Ò?Ð?Ð?Ð?Ð?Ð?r/   c                  ó.  — t          t          j        d¬¦  «        ddiŽ\  } }}}t          d¬¦  «        }|                     | |¦  «         t          t          j        |                     |¦  «        d¬¦  «        | 	                    |¦  «        ¦  «         d S )NT)Ú
return_X_yr#   rÊ   r"   r   ©Úaxis)
r   r   Úload_digitsr   r)   r   r%   Úargmaxr*   r2   )rÝ   rÞ   rß   rà   Úmodels        r-   Ú test_adaboost_consistent_predictr+    s¥   € õ (8Ý	Ô	¨Ð	.Ñ	.Ô	.ð(Ø=?ð(ð (Ñ$€GˆV�W˜fõ ¨BÐ/Ñ/Ô/€EØ	‡I‚Iˆg�wÑÔÐåÝ
Œ	�%×%Ò% fÑ-Ô-°AÐ6Ñ6Ô6¸¿ºÀfÑ8MÔ8Mñô ð ð ð r/   zmodel, X, yc                 óÔ   — t          j        |¦  «        }d|d<   d}t          j        t          |¬¦  «        5  |                      |||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Niöÿÿÿr   z1Negative values in data passed to `sample_weight`r�   ra   )r%   r  r¡   r¢   r£   r)   )r*  r(   r™   rb   r  s        r-   Ú#test_adaboost_negative_weight_errorr-    s±   € õ ”L ‘O”O€MØ€M�"ÑàA€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð 5ð 5Ø�	Š	�!�Q mˆ	Ñ4Ô4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð 5ð 5s   ·AÁA!Á$A!c                  ó¨  — t           j                             d¦  «        } |                      d¬¦  «        }|                      ddgd¬¦  «        }t          j        |¦  «        dz  }t          dd	¬
¦  «        }t          |dd	¬¦  «        }|                     |||¬¦  «         t          j	        |j
        ¦  «                             ¦   «         dk    sJ ‚dS )z¸Check that we don't create NaN feature importance with numerically
    instable inputs.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/20320
    rÊ   )r  r\   r]   r   r   r  gtDíS 'T	r\   é   )Ú	max_depthr#   é   r  ra   N)r%   ro   rp   Únormalr  r  r   r   r)   Úisnanr–   Úsum)ru   r(   r™   rb   ÚtreeÚ	ada_models         r-   ÚFtest_adaboost_numerically_stable_feature_importance_with_small_weightsr7  '  sÆ   € õ Œ)×
Ò
 Ñ
#Ô
#€CØ�
Š
˜
ˆ
Ñ#Ô#€AØ�
Š
�A�q�6 ˆ
Ñ%Ô%€AÝ”L ‘O”O fÑ,€MÝ!¨B¸RÐ@Ñ@Ô@€DÝ"¨TÀÐQSÐTÑTÔT€IØ‡M‚M�!�Q m€MÑ4Ô4Ð4ÝŒ8�IÔ2Ñ3Ô3×7Ò7Ñ9Ô9¸QÒ>Ð>Ð>Ð>Ð>Ð>r/   c                 ó|  — d}t          j        |d| ¬¦  «        \  }}t          d| ¬¦  «                             ||¦  «        }|                     |¦  «        }t          |                     d¬¦  «        dd¬¦  «         t          t          j	        |¦  «        ¦  «        dd	|dz
  z  hk    sJ ‚| 
                    |¦  «        D ]W}t          |                     d¬¦  «        dd¬¦  «         t          t          j	        |¦  «        ¦  «        dd	|dz
  z  hk    sJ ‚ŒX|                     d
¬¦  «                             ||¦  «         |                     |¦  «        }t          |                     d¬¦  «        dd¬¦  «         | 
                    |¦  «        D ](}t          |                     d¬¦  «        dd¬¦  «         Œ)dS )zºCheck that the decision function respects the symmetric constraint for weak
    learners.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/26520
    r!   r   )rË   Ún_clusters_per_classr#   rl   r&  r   g:Œ0âŽyE>)Úatolr   rÉ   r_   N)r   r•   r   r)   r9   r   r4  rN   r%   r5   rÚ   Ú
set_params)Úglobal_random_seedrË   r(   r™   r,   Úy_scores         r-   Útest_adaboost_decision_functionr>  8  sÝ  € ð €IÝÔ'Ø°!ÐBTðñ ô �D€A€qõ ¨!Ð:LÐ
MÑ
MÔ
M×
QÒ
QÐRSÐUVÑ
WÔ
W€Cà×#Ò# AÑ&Ô&€GÝ�G—K’K Q�KÑ'Ô'¨°Ð6Ñ6Ô6Ð6õ �rŒy˜Ñ!Ô!Ñ"Ô" q¨"°	¸A±Ñ*>Ð&?Ò?Ð?Ð?Ð?ð ×/Ò/°Ñ2Ô2ð Dð DˆÝ˜Ÿš¨˜Ñ+Ô+¨Q°TÐ:Ñ:Ô:Ð:õ •2”9˜WÑ%Ô%Ñ&Ô&¨1¨b°IÀ±MÑ.BÐ*CÒCÐCÐCÐCÐCà‡N‚N €NÑ"Ô"×&Ò& q¨!Ñ,Ô,Ð,à×#Ò# AÑ&Ô&€GÝ�G—K’K Q�KÑ'Ô'¨°Ð6Ñ6Ô6Ð6à×/Ò/°Ñ2Ô2ð ;ð ;ˆÝ˜Ÿš¨˜Ñ+Ô+¨Q°TÐ:Ñ:Ô:Ð:Ð:ð;ð ;r/   )UrÄ   rŸ   Únumpyr%   r¡   Úsklearnr   Úsklearn.baser   r   Úsklearn.dummyr   r   rª   r   r	   Úsklearn.linear_modelr
   r   Úsklearn.model_selectionr   r   Úsklearn.svmr   r   Úsklearn.treer   r   Úsklearn.utilsr   Úsklearn.utils._mockingr   Úsklearn.utils._testingr   r   r   Úsklearn.utils.fixesr   r   r   r   r   ro   rp   ru   r(   r1   r>   r3   r4   r?   Ú	load_irisrI   ÚpermutationrJ   r^   ÚpermrK   Úload_diabetesrX   r.   r;   r@   rQ   ÚmarkÚparametrizerZ   r|   r„   rŽ   r›   r¥   r­   r³   rÛ   rê   rû   r  r  r  r#  r+  r-  r7  r>  rd   r/   r-   ú<module>rQ     sd  ðØ <Ð <à 	€	€	€	à Ð Ð Ð Ø €€€à Ð Ð Ð Ð Ð Ø -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø BÐ BÐ BÐ BÐ BÐ BÐ BÐ BØ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EØ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BØ  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ !Ð !Ð !Ð !Ð !Ð !Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8ðð ð ð ð ð ð ð ð ð ð
ð ð ð ð ð ð ð ð ð ð ð ð ð ð 	„i×Ò˜AÑÔ€ð 	ˆ"€X��Bˆx˜"˜b˜ A q 6¨A¨q¨6°A°q°6Ð:€Ø
(Ð
(Ð
(€Ø	Ð	Ð	€Øˆ"€X��1ˆv˜˜1�vÐ€ØˆMˆM€	Øˆ:ˆ:€ð €xÔÑÔ€Ø
‡‚�t”{Ô'Ñ(Ô(€Ø ˜ ¤¨D¬KÀcÐJÑJÔJÑ €„	ˆ4Œ;ð "ˆ8Ô!Ñ#Ô#€Ø!( Ø„M�8”?°ð"ñ "ô "Ñ €„ˆxŒð
Jð Jð Jð7ð 7ð 7ð1ð 1ð 1ðYð Yð Yð, „×Ò˜Ð!DÐ!DÐ!DÑEÔEð
Yð 
Yñ FÔEð
Yð*8ð *8ð *8ðZ,ð ,ð ,ð$ð ð ð6Bð Bð Bð*<ð <ð <ð ð  ð  ð8(ð (ð (ð „×ÒØ.Ø€Cð	
Øð	
àð	
ð ð	
ð ð		
ð
 ð	
ð 	˜˜^Ñ+Ñ+ñ	ô 	ñô ðWEð WEñô ðWEðt „×ÒØ.Ø€Cð	
Øð	
àð	
ð ð	
ð ð		
ð
 ð	
ð 	˜˜^Ñ+Ñ+ñ	ô 	ñô ð,Eð ,Eñô ð,Eð^Ið Ið Ið&ð ð ð*ð ð ð#@ð #@ð #@ðLð ð ð „×ÒØà	Ð	Ñ	Ô	˜tœy¨$¬+Ð6Ø	Ð	Ñ	Ô	˜hœm¨X¬_Ð=ðñô ð5ð 5ñô ð5ð?ð ?ð ?ð"";ð ";ð ";ð ";ð ";r/   