Ë
    8Ò^jæ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jT                  jW                  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jf                  «       Z4e,jk                  e4jl                  jn                  «      Z8 ee4jr                  e4jl                  e,¬«      \  e4_9        e4_6         ejt                  «       Z; ee;jr                  e;jl                  e,¬«      \  e;_9        e;_6        d„ Z<d„ Z=d„ Z>d„ Z?ej€                  jƒ                  dg d¢«      d„ «       ZBd „ ZCd!„ ZDd"„ ZEd#„ ZFd$„ ZGd%„ ZHd&„ ZIej€                  jƒ                  d' eJg e&¢e'¢e)¢e%¢e(¢e&d(e'z  z   «      «      d)„ «       ZKej€                  jƒ                  d' eJg e&¢e'¢e)¢e%¢e(¢e&d(e'z  z   «      «      d*„ «       ZLd+„ ZMd,„ ZNd-„ ZOd.„ ZPd/„ ZQej€                  jƒ                  d0 e«       e4jr                  e4jl                  f e«       e;jr                  e;jl                  fg«      d1„ «       ZRd2„ ZSd3„ ZTy)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	        «       j                  t        | «      }t        |j                  t        «      t        j                  t        t        «      df«      «       y )Nr   )ÚnpÚonesÚlenÚXr   Úfitr   Úpredict_proba)Úy_tÚclfs     úv/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/sklearn/ensemble/tests/test_weight_boosting.pyÚtest_oneclass_adaboost_probar.   6   sP   € ô �'‰'”#”a“&‹/€CÜ
Ó
×
"Ñ
"¤1 cÓ
*€CÜ˜c×/Ñ/´Ó2´B·G±G¼SÄ»VÀQ¸KÓ4HÕIó    c                  óà  — t        d¬«      } | j                  t        t        «       t	        | j                  t        «      t        «       t	        t        j                  t        j                  t        «      «      | j                  «       | j                  t        «      j                  t        t        «      dfk(  sJ ‚| j                  t        «      j                  t        t        «      fk(  sJ ‚y )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Ü”r—y‘y¤§¡¬IÓ!6Ó7¸¿¹ÔFØ×ÑœQÓ×%Ñ%¬#¬a«&°!¨Ò4Ð4Ð4Ø× Ñ ¤Ó#×)Ñ)¬c´!«f¨YÒ6Ð6Ñ6r/   c                  ó–   — t        d¬«      } | j                  t        t        «       t	        | j                  t        «      t        «       y ©Nr   r"   )r	   r)   r(   Úy_regrr   r2   r3   Úy_t_regrr:   s    r-   Útest_regression_toyr@   I   s,   € ä
¨Ô
+€CØ‡G�GŒAŒvÔÜ�s—{‘{¤1“~¤xÕ0r/   c                  óú  — t        j                  t        j                  «      } t	        «       }|j                  t        j                  t        j                  «       t        | |j                  «       |j                  t        j                  «      }|j                  d   t        | «      k(  sJ ‚|j                  t        j                  «      j                  d   t        | «      k(  sJ ‚|j                  t        j                  t        j                  «      }|dkD  s
J d|›�«       ‚t        |j                  «      dkD  sJ ‚t        t        d„ |j                  D «       «      «      t        |j                  «      k(  sJ ‚y )Nr   gÍÌÌÌÌÌì?zFailed with score = c              3   ó4   K  — | ]  }|j                   –— Œ y ­w©Nr"   ©Ú.0Úests     r-   ú	<genexpr>ztest_iris.<locals>.<genexpr>c   ó   è ø€ Ò?¨�3×#Õ#Ñ?ùó   ‚)r%   r5   ÚirisÚtargetr   r)   Údatar   r7   r*   r8   r'   r9   ÚscoreÚestimators_Úset)Úclassesr,   ÚprobarM   s       r-   Ú	test_irisrR   P   s  € ä�i‰iœŸ™Ó$€Gä
Ó
€CØ‡G�GŒD�I‰I”t—{‘{Ô#ä�w §¡Ô-Ø×ÑœdŸi™iÓ(€Eà�;‰;�q‰>œS ›\Ò)Ð)Ð)Ø× Ñ ¤§¡Ó+×1Ñ1°!Ñ4¼¸G»ÒDÐDÐDà�I‰I”d—i‘i¤§¡Ó-€EØ�3Š;Ð1Ð/ u jÐ1Ó1ˆ;ô ˆs�‰Ó !Ò#Ð#Ð#äŒsÑ?¨s¯©Ô?Ó?Ó@ÄCÈÏÉÓDXÒXÐXÑXr/   Úloss)ÚlinearÚsquareÚexponentialc                 ó’  — t        | d¬«      }|j                  t        j                  t        j                  «       |j                  t        j                  t        j                  «      }|dkD  sJ ‚t        |j                  «      dkD  sJ ‚t        t        d„ |j                  D «       «      «      t        |j                  «      k(  sJ ‚y )Nr   )rS   r#   gš™™™™™á?r   c              3   ó4   K  — | ]  }|j                   –— Œ y ­wrC   r"   rD   s     r-   rG   z test_diabetes.<locals>.<genexpr>q   rH   rI   )	r	   r)   ÚdiabetesrL   rK   rM   r'   rN   rO   )rS   ÚregrM   s      r-   Útest_diabetesr[   f   sŽ   € ô  °AÔ
6€CØ‡G�GŒH�M‰Mœ8Ÿ?™?Ô+Ø�I‰I”h—m‘m¤X§_¡_Ó5€EØ�4Š<Ðˆ<ô ˆs�‰Ó !Ò#Ð#Ð#äŒsÑ?¨s¯©Ô?Ó?Ó@ÄCÈÏÉÓDXÒXÐXÑXr/   c                  ó¾  — t         j                  j                  d«      } | j                  dt        j
                  j                  ¬«      }| j                  dt        j
                  j                  ¬«      }t        d¬«      }|j                  t        j                  t        j
                  |¬«       |j                  t        j                  «      }|j                  t        j                  «      D �cg c]  }|‘Œ }}|j                  t        j                  «      }|j                  t        j                  «      D �cg c]  }|‘Œ }}|j                  t        j                  t        j
                  |¬«      }	|j!                  t        j                  t        j
                  |¬«      D �
cg c]  }
|
‘Œ }}
t#        |«      dk(  sJ ‚t%        ||d   «       t#        |«      dk(  sJ ‚t%        ||d   «       t#        |«      dk(  sJ ‚t%        |	|d   «       t'        dd¬«      }|j                  t        j                  t        j
                  |¬«       |j                  t        j                  «      }|j                  t        j                  «      D �cg c]  }|‘Œ }}|j                  t        j                  t        j
                  |¬«      }	|j!                  t        j                  t        j
                  |¬«      D �
cg c]  }
|
‘Œ }}
t#        |«      dk(  sJ ‚t%        ||d   «       t#        |«      dk(  sJ ‚t%        |	|d   «       y c c}w c c}w c c}
w c c}w c c}
w )Nr   é
   ©Úsize©Ún_estimators©Úsample_weightr   ©ra   r#   )r%   ÚrandomÚRandomStateÚrandintrJ   rK   r8   rY   r   r)   rL   r2   Ústaged_predictr*   Ústaged_predict_probarM   Ústaged_scorer'   r   r	   )ÚrngÚiris_weightsÚdiabetes_weightsr,   ÚpredictionsÚpÚstaged_predictionsrQ   Ústaged_probasrM   ÚsÚstaged_scoress               r-   Útest_staged_predictrt   t   s´  € ä
�)‰)×
Ñ
 Ó
"€CØ—;‘;˜r¬¯©×(9Ñ(9�;Ó:€LØ—{‘{ 2¬H¯O©O×,AÑ,A�{ÓBÐä
¨"Ô
-€CØ‡G�GŒD�I‰I”t—{‘{°,€GÔ?à—+‘+œdŸi™iÓ(€KØ%(×%7Ñ%7¼¿	¹	Ó%BÖC š!ÐCÐÐCØ×ÑœdŸi™iÓ(€EØ #× 8Ñ 8¼¿¹Ó CÖD˜1’QÐD€MÐDØ�I‰I”d—i‘i¤§¡¸LˆIÓI€Eà×#Ñ#¤D§I¡I¬t¯{©{È,Ð#ÓWöØŠð€Mð ô Ð!Ó" bÒ(Ð(Ð(Ü˜kÐ+=¸bÑ+AÔBÜˆ}Ó Ò#Ð#Ð#Ü˜e ]°2Ñ%6Ô7Üˆ}Ó Ò#Ð#Ð#Ü˜e ]°2Ñ%6Ô7ô ¨¸!Ô
<€CØ‡G�GŒH�M‰Mœ8Ÿ?™?Ð:J€GÔKà—+‘+œhŸm™mÓ,€KØ%(×%7Ñ%7¼¿¹Ó%FÖG š!ÐGÐÐGØ�I‰I”h—m‘m¤X§_¡_ÐDTˆIÓU€Eð ×!Ñ!Ü�M‰Mœ8Ÿ?™?Ð:Jð "ó 
öàò 	
ð€Mð ô Ð!Ó" bÒ(Ð(Ð(Ü˜kÐ+=¸bÑ+AÔBÜˆ}Ó Ò#Ð#Ð#Ü˜e ]°2Ñ%6Õ7ùòA DùâDùòùò  Hùòs   Ã2	MÄ=	MÆ*	MÊ	MË<	Mc                  óR  — t        t        «       ¬«      } dddœ}t        | |«      }|j                  t        j
                  t        j                  «       t        t        «       d¬«      } dddœ}t        | |«      }|j                  t        j
                  t        j                  «       y )N©Ú	estimator)r   r   )ra   Úestimator__max_depthr   ©rw   r#   )
r   r   r   r)   rJ   rL   rK   r	   r   rY   )ÚboostÚ
parametersr,   s      r-   Útest_gridsearchr|   ¡   s�   € ô Ô)?Ó)AÔB€EàØ &ñ€Jô �u˜jÓ
)€CØ‡G�GŒD�I‰I”t—{‘{Ô#ô Ô(=Ó(?ÈaÔP€EØ"(À&ÑI€JÜ
�u˜jÓ
)€CØ‡G�GŒH�M‰Mœ8Ÿ?™?Õ+r/   c                  ól  — dd l } t        «       }|j                  t        j                  t        j
                  «       |j                  t        j                  t        j
                  «      }| j                  |«      }| j                  |«      }t        |«      |j                  k(  sJ ‚|j                  t        j                  t        j
                  «      }||k(  sJ ‚t        d¬«      }|j                  t        j                  t        j
                  «       |j                  t        j                  t        j
                  «      }| j                  |«      }| j                  |«      }t        |«      |j                  k(  sJ ‚|j                  t        j                  t        j
                  «      }||k(  sJ ‚y r=   )Úpickler   r)   rJ   rL   rK   rM   ÚdumpsÚloadsÚtypeÚ	__class__r	   rY   )r~   ÚobjrM   rr   Úobj2Úscore2s         r-   Útest_pickler†   ³   s!  € ãô Ó
€CØ‡G�GŒD�I‰I”t—{‘{Ô#Ø�I‰I”d—i‘i¤§¡Ó-€EØ�‰�SÓ€Aà�<‰<˜‹?€DÜ�‹:˜Ÿ™Ò&Ð&Ð&Ø�Z‰ZœŸ	™	¤4§;¡;Ó/€FØ�FŠ?Ðˆ?ô ¨Ô
+€CØ‡G�GŒH�M‰Mœ8Ÿ?™?Ô+Ø�I‰I”h—m‘m¤X§_¡_Ó5€EØ�‰�SÓ€Aà�<‰<˜‹?€DÜ�‹:˜Ÿ™Ò&Ð&Ð&Ø�Z‰ZœŸ™¤x§¡Ó7€FØ�FŠ?Ð‰?r/   c            	      ó  — t        j                  ddddddd¬«      \  } }t        «       }|j                  | |«       |j                  }|j
                  d   dk(  sJ ‚|d d…t        j                  f   |dd  k\  j                  «       sJ ‚y )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Ø×*Ñ*€Kà×Ñ˜QÑ 2Ò%Ð%Ð%Ø˜˜˜œBŸJ™J˜Ñ'¨;°q°r¨?Ñ:×?Ñ?ÔAÐAÑAr/   c                  ó  — t        «       } t        j                  d«      }t        j                  t
        |¬«      5  | j                  t        t        t        j                  dg«      ¬«       d d d «       y # 1 sw Y   y xY w)Nz*sample_weight.shape == (1,), expected (6,)©Úmatchr   rb   )r   ÚreÚescapeÚpytestÚraisesÚ
ValueErrorr)   r(   r1   r%   r6   )r,   Úmsgs     r-   Ú,test_adaboost_classifier_sample_weight_errorr�   ã   sY   € ä
Ó
€CÜ
�)‰)Ð@Ó
A€CÜ	�‰”z¨Ô	-ñ <Ø�‰””7¬"¯*©*°b°TÓ*:ˆÔ;÷<÷ <ñ <ús   »1A5Á5A>c                  óN  — ddl m}  t         | «       «      }|j                  t        t
        «       t        t        «       «      }|j                  t        t        «       ddl m} t         |«       d¬«      }|j                  t        t
        «       t        t        «       d¬«      }|j                  t        t
        «       ddgddgddgddgg}g d¢}t        t        «       «      }t        j                  t        d¬«      5  |j                  ||«       d d d «       y # 1 sw Y   y xY w)	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ô Ñ3Ó5Ó
6€CØ‡G�GŒAŒvÔä
œS›UÓ
#€CØ‡G�GŒAŒwÔå6ä
Ñ1Ó3À!Ô
D€CØ‡G�GŒAŒvÔä
œC›E°Ô
2€CØ‡G�GŒAŒvÔð �!ˆf�q˜!�f˜q !˜f q¨! fÐ-€FÚ!€FÜ
œS›UÓ
#€CÜ	�‰”zÐ)<Ô	=ñ  Ø�‰�˜Ô÷ ÷  ñ  ús   Ã?DÄD$c                  óÞ   — d} t        dd¬«      }t        j                  t        | ¬«      5  |j	                  t
        j                  t
        j                  «       d d d «       y # 1 sw Y   y xY w)Nz+Sample weights have reached infinite valuesé   g      7@)ra   Úlearning_rater•   )r   r™   ÚwarnsÚUserWarningr)   rJ   rL   rK   )rœ   r,   s     r-   Útest_sample_weights_infiniter«     sL   € Ø
7€CÜ
¨"¸DÔ
A€CÜ	�‰”k¨Ô	-ñ (Ø�‰”—	‘	œ4Ÿ;™;Ô'÷(÷ (ñ (ús   «/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¬
«      j                  |	|«      }t         |«       d¬
«      j                  ||«      }|j                  |
«      }|j                  |«      }t        ||«       |j                  |
«      }|j                  |«      }t        ||«       |j                  |
«      }|j                  |«      }t        ||«       |j                  |
«      }|j                  |«      }t        ||«       |j                  |
|«      }|j                  ||«      }t        ||«       |j                  |
«      }|j                  |«      }t!        ||«      D ]  \  }}t        ||«       Œ |j#                  |
«      }|j#                  |«      }t!        ||«      D ]  \  }}t        ||«       Œ |j%                  |
«      }|j%                  |«      }t!        ||«      D ]  \  }}t        ||«       Œ |j'                  |
|«      }|j'                  ||«      }t!        ||«      D ]  \  }}t        ||«       Œ |j(                  D �cg c]  }|j*                  ‘Œ }}t-        ˆfd„|D «       «      sJ ‚y c c}w )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.c                 óL   •— t         ‰| �  |||¬«       t        |«      | _        | S ©z<Modification on fit caries data type for later verification.rb   ©Úsuperr)   r�   Ú
data_type_©Úselfr(   r‘   rc   r‚   s       €r-   r)   zEtest_sparse_classification.<locals>.CustomProbabilisticClassifier.fit!  ó%   ø€ ä‰G‰K˜˜1¨MˆKÔ:Ü" 1›gˆDŒOØˆKr/   rC   ©Ú__name__Ú
__module__Ú__qualname__Ú__doc__r)   Ú__classcell__©r‚   s   @r-   ÚCustomProbabilisticClassifierr¯     s   ø„ ÙU÷	ñ 	r/   r¿   r   é   é   é*   )Ú	n_classesrˆ   r‰   r#   r   r"   ry   c              3   ó6   •K  — | ]  }t        |‰«      –— Œ y ­wrC   ©Ú
issubclass©rE   ÚtÚexpected_internal_types     €r-   rG   z-test_sparse_classification.<locals>.<genexpr>r  ó   øè ø€ ÒD¸Œz˜!Ð3×4ÑDùó   ƒ)r   r   Úmake_multilabel_classificationr%   Úravelr   r   r)   r2   r   r9   r   Úpredict_log_probar*   rM   Ústaged_decision_functionÚziprh   ri   rj   rN   r´   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ÚiÚtypess    `                 r-   Útest_sparse_classificationrà     s  ø€ ô Ô(:ô ô ×2Ñ2Ø˜r¨a¸bô�D€A€qô 	�‰�‹€Aä'7¸¸1È1Ô'MÑ$€GˆV�W˜fá% gÓ.€NÙ$ VÓ,€Mô +Ù/Ó1Øô÷ 
�cˆ.˜'Ó"ð ô *Ù/Ó1Øô÷ 
�cˆ'�7Óð ð +×2Ñ2°=ÓAÐØ(×0Ñ0°Ó8ÐÜÐ)Ð+<Ô=ð +×<Ñ<¸]ÓKÐØ(×:Ñ:¸6ÓBÐÜÐ0Ð2CÔDð +×<Ñ<¸]ÓKÐØ(×:Ñ:¸6ÓBÐÜÐ0Ð2CÔDð +×8Ñ8¸ÓGÐØ(×6Ñ6°vÓ>ÐÜÐ0Ð2CÔDð +×0Ñ0°ÀÓGÐØ(×.Ñ.¨v°vÓ>ÐÜÐ0Ð2CÔDð +×CÑCÀMÓRÐØ(×AÑAÀ&ÓIÐÜ),Ð-?ÐARÓ)Sò AÑ%ˆ˜Ü! .°-Õ@ðAð +×9Ñ9¸-ÓHÐØ(×7Ñ7¸Ó?ÐÜ),Ð-?ÐARÓ)Sò :Ñ%ˆ˜Ü˜>¨=Õ9ð:ð +×?Ñ?ÀÓNÐØ(×=Ñ=¸fÓEÐÜ),Ð-?ÐARÓ)Sò AÑ%ˆ˜Ü! .°-Õ@ðAð +×7Ñ7¸ÀvÓNÐØ(×5Ñ5°f¸fÓEÐÜ),Ð-?ÐARÓ)Sò :Ñ%ˆ˜Ü˜>¨=Õ9ð:ð $5×#@Ñ#@ÖA˜aˆQ�\‹\ÐA€EÐAäÓD¸eÔDÔDÐDÑDùò Bs   Ê)Kc                 ó†  ‡—  G d„ dt         «      }t        j                  dddd¬«      \  }}t        ||d¬	«      \  }}}} | |«      }	 | |«      }
t	         |«       d¬
«      j                  |	|«      }t	         |«       d¬
«      j                  ||«      }|j                  |
«      }|j                  |«      }t        ||«       |j                  |
«      }|j                  |«      }t        ||«      D ]  \  }}t        ||«       Œ |j                  D �cg c]  }|j                  ‘Œ }}t        ˆfd„|D «       «      sJ ‚y c c}w )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.c                 óL   •— t         ‰| �  |||¬«       t        |«      | _        | S r±   r²   rµ   s       €r-   r)   z-test_sparse_regression.<locals>.CustomSVR.fitˆ  r·   r/   rC   r¸   r¾   s   @r-   Ú	CustomSVRrã   …  s   ø„ ÙF÷	ñ 	r/   rå   rÀ   é2   r   rÂ   )rˆ   r‰   Ú	n_targetsr#   r   r"   ry   c              3   ó6   •K  — | ]  }t        |‰«      –— Œ y ­wrC   rÅ   rÇ   s     €r-   rG   z)test_sparse_regression.<locals>.<genexpr>®  rÊ   rË   )r   r   Úmake_regressionr   r	   r)   r2   r   rh   rÐ   rN   r´   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Þ   rß   s    `                 r-   Útest_sparse_regressionrð   u  sR  ø€ ô ”Cô ô ×#Ñ#Ø ¨q¸rô�D€A€qô (8¸¸1È1Ô'MÑ$€GˆV�W˜fá% gÓ.€NÙ$ VÓ,€Mô )±9³;ÈQÔO×SÑSØ˜óÐô
 (±)³+ÈAÔN×RÑRØ�ó€Oð
 +×2Ñ2°=ÓAÐØ(×0Ñ0°Ó8ÐÜÐ1Ð3EÔFð +×9Ñ9¸-ÓHÐØ(×7Ñ7¸Ó?ÐÜ+.Ð/BÐDVÓ+Wò CÑ'ˆ˜Ü! /°>ÕBðCð $4×#?Ñ#?Ö@˜aˆQ�\‹\Ð@€EÐ@äÓD¸eÔDÔDÐDÑDùò As   ÄD>c                  óÔ   —  G d„ dt         «      } t         | «       d¬«      }|j                  t        t        «       t        |j                  «      t        |j                  «      k(  sJ ‚y)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y)ú=test_sample_weight_adaboost_regressor.<locals>.DummyEstimatorc                  ó   — y rC   © )r¶   r(   r‘   s      r-   r)   zAtest_sample_weight_adaboost_regressor.<locals>.DummyEstimator.fit¹  s   € Ør/   c                 óF   — t        j                  |j                  d   «      S )Nr   )r%   Úzerosr8   )r¶   r(   s     r-   r2   zEtest_sample_weight_adaboost_regressor.<locals>.DummyEstimator.predict¼  s   € Ü—8‘8˜AŸG™G A™JÓ'Ð'r/   N)r¹   rº   r»   r)   r2   rõ   r/   r-   ÚDummyEstimatorró   ¸  s   „ ò	ó	(r/   rø   r!   r`   N)r   r	   r)   r(   r>   r'   Úestimator_weights_Úestimator_errors_)rø   rz   s     r-   Ú%test_sample_weight_adaboost_regressorrû   ±  sQ   € ô(œô (ô ™nÓ.¸QÔ?€EØ	‡I�IŒa”ÔÜˆu×'Ñ'Ó(¬C°×0GÑ0GÓ,HÒHÐHÑHr/   c                  ó°  — t         j                  j                  d«      } | j                  ddd«      }| j	                  ddgd«      }| j                  d«      }t        t        d¬«      «      }|j                  ||«       |j                  |«       |j                  |«       t        t        «       «      }|j                  ||«       |j                  |«       y)zX
    Check that the AdaBoost estimators can work with n-dimensional
    data matrix
    r   é3   r!   r   Úmost_frequent)ÚstrategyN)r%   re   rf   ÚrandnÚchoicer   r   r)   r2   r*   r	   r   )rk   r(   ÚycÚyrrz   s        r-   Útest_multidimensional_Xr  Ä  s©   € ô
 �)‰)×
Ñ
 Ó
"€Cà�	‰	�"�a˜Ó€AØ	�‰�Q˜�F˜BÓ	€BØ	�‰�2‹€Bäœ¸ÔHÓI€EØ	‡I�Iˆa�ÔØ	‡M�M�!ÔØ	×Ñ˜ÔäœnÓ.Ó/€EØ	‡I�Iˆa�ÔØ	‡M�M�!Õr/   c                  óP  — t         j                  t         j                  }} t        t	        «       «      }t        |¬«      }dj                  |j                  j                  «      }t        j                  t        |¬«      5  |j                  | |«       d d d «       y # 1 sw Y   y xY w)Nrv   z {} doesn't support sample_weightr•   )rJ   rL   rK   r   r   r   Úformatr‚   r¹   r™   rš   r›   r)   )r(   r‘   rw   r,   Úerr_msgs        r-   Ú-test_adaboostclassifier_without_sample_weightr  Ù  sv   € Ü�9‰9”d—k‘k€q€AÜ%¤oÓ&7Ó8€IÜ
 yÔ
1€CØ0×7Ñ7¸	×8KÑ8K×8TÑ8TÓU€GÜ	�‰”z¨Ô	1ñ Ø�‰��1Œ÷÷ ñ ús   Â BÂB%c                  óö  — t         j                  j                  d«      } t        j                  ddd¬«      }d|z  dz   | j	                  |j
                  d   «      dz  z   }|j                  d	d
«      }|d	xx   dz  cc<   d|d	<   t        t        «       d
d¬«      }t        |«      }t        |«      }|j                  ||«       |j                  |d d	 |d d	 «       t        j                  |«      }d|d	<   |j                  |||¬«       |j                  |d d	 |d d	 «      }|j                  |d d	 |d d	 «      }|j                  |d d	 |d d	 «      }	||k  sJ ‚||	k  sJ ‚|t        j                  |	«      k(  sJ ‚y )NrÂ   r   éd   éè  )Únumgš™™™™™é?gš™™™™™É?g-Cëâ6?r   r   r]   i'  ©rw   ra   r#   rb   )r%   re   rf   ÚlinspaceÚrandr8   Úreshaper	   r
   r   r)   Ú	ones_likerM   r™   Úapprox)
rk   r(   r‘   Úregr_no_outlierÚregr_with_weightÚregr_with_outlierrc   Ú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¡G¨A¡JÓ/°&Ñ8Ñ9€AØ	�	‰	�"�aÓ€Að €bƒEˆR�KƒEØ€A€b�Eô (Ü"Ó$°1À1ô€Oô ˜_Ó-ÐÜ˜oÓ.Ðð ×Ñ˜!˜QÔØ×Ñ˜˜#˜2˜  # 2 Ô'Ü—L‘L “O€MØ€M�"ÑØ×Ñ˜˜A¨]ÐÔ;à*×0Ñ0°°3°B°¸¸3¸B¸Ó@ÐØ&×,Ñ,¨Q¨s°¨V°Q°s¸°VÓ<ÐØ(×.Ñ.¨q°°"¨v°q¸¸"°vÓ>ÐàÐ 0Ò0Ð0Ð0ØÐ 1Ò1Ð1Ð1ØœvŸ}™}Ð->Ó?Ò?Ð?Ñ?r/   c                  ó  — t        t        j                  d¬«      ddiŽ\  } }}}t        d¬«      }|j	                  | |«       t        t        j                  |j                  |«      d¬«      |j                  |«      «       y )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!    ss   € ô (8Ü	×	Ñ	¨Ô	.ð(Ø=?ñ(Ñ$€GˆV�W˜fô ¨BÔ/€EØ	‡I�Iˆg�wÔäÜ
�	‰	�%×%Ñ% fÓ-°AÔ6¸¿¹ÀfÓ8Mõr/   zmodel, X, yc                 óÄ   — t        j                  |«      }d|d<   d}t        j                  t        |¬«      5  | j                  |||¬«       d d d «       y # 1 sw Y   y xY w)Niöÿÿÿr   z1Negative values in data passed to `sample_weight`r•   rb   )r%   r  r™   rš   r›   r)   )r   r(   r‘   rc   r  s        r-   Ú#test_adaboost_negative_weight_errorr#    sU   € ô —L‘L “O€MØ€M�"ÑàA€GÜ	�‰”z¨Ô	1ñ 5Ø�	‰	�!�Q mˆ	Ô4÷5÷ 5ñ 5ús   ¸AÁAc                  ó‚  — t         j                  j                  d«      } | j                  d¬«      }| j	                  ddgd¬«      }t        j
                  |«      dz  }t        dd	¬
«      }t        |dd	¬«      }|j                  |||¬«       t        j                  |j                  «      j                  «       dk(  sJ ‚y)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  rb   N)r%   re   rf   Únormalr  r  r   r   r)   ÚisnanrŽ   Úsum)rk   r(   r‘   rc   ÚtreeÚ	ada_models         r-   ÚFtest_adaboost_numerically_stable_feature_importance_with_small_weightsr-  '  s£   € ô �)‰)×
Ñ
 Ó
#€CØ�
‰
˜
ˆ
Ó#€AØ�
‰
�A�q�6 ˆ
Ó%€AÜ—L‘L “O fÑ,€MÜ!¨B¸RÔ@€DÜ"¨TÀÐQSÔT€IØ‡M�M�!�Q m€MÔ4Ü�8‰8�I×2Ñ2Ó3×7Ñ7Ó9¸QÒ>Ð>Ñ>r/   c                 óô  — d}t        j                  |d| ¬«      \  }}t        d| ¬«      j                  ||«      }|j	                  |«      }t        |j                  d¬«      dd¬«       t        t        j                  |«      «      dd	|dz
  z  hk(  sJ ‚|j                  |«      D ]K  }t        |j                  d¬«      dd¬«       t        t        j                  |«      «      dd	|dz
  z  hk(  rŒKJ ‚ |j                  d
¬«      j                  ||«       |j	                  |«      }t        |j                  d¬«      dd¬«       |j                  |«      D ]   }t        |j                  d¬«      dd¬«       Œ" y)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#   rd   r  r   g:Œ0âŽyE>)Úatolr   rÁ   r`   N)r   r�   r   r)   r9   r   r*  rO   r%   r5   rÏ   Ú
set_params)Úglobal_random_seedrÃ   r(   r‘   r,   Úy_scores         r-   Útest_adaboost_decision_functionr4  8  sl  € ð €IÜ×'Ñ'Ø°!ÐBTô�D€A€qô ¨!Ð:LÔ
M×
QÑ
QÐRSÐUVÓ
W€Cà×#Ñ# AÓ&€GÜ�G—K‘K Q�KÓ'¨°Õ6ô Œr�y‰y˜Ó!Ó" q¨"°	¸A±Ñ*>Ð&?Ò?Ð?Ð?ð ×/Ñ/°Ó2ò DˆÜ˜Ÿ™¨˜Ó+¨Q°TÕ:ô ”2—9‘9˜WÓ%Ó&¨1¨b°IÀ±MÑ.BÐ*CÓCÐCÐCðDð ‡N�N €NÓ"×&Ñ& q¨!Ô,à×#Ñ# AÓ&€GÜ�G—K‘K Q�KÓ'¨°Õ6à×/Ñ/°Ó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   re   rf   rk   r(   r1   r>   r3   r4   r?   Ú	load_irisrJ   ÚpermutationrK   r_   ÚpermrL   Úload_diabetesrY   r.   r;   r@   rR   ÚmarkÚparametrizer[   rt   r|   r†   r“   r�   r¥   r«   rÐ   rà   rð   rû   r  r  r  r!  r#  r-  r4  rõ   r/   r-   ú<module>rG     sõ  ðÙ <ã 	ã Û å ß -ß 9ß Bß Eß Bß  ß FÝ !Ý 8÷ñ ÷
õ ð 	‡i�i×Ñ˜AÓ€ð 	ˆ"€X��Bˆx˜"˜b˜ A q 6¨A¨q¨6°A°q°6Ð:€Ú
(€Ú	€Øˆ"€X��1ˆv˜˜1�vÐ€Ú€	Ú€ð €x×ÑÓ€Ø
‡��t—{‘{×'Ñ'Ó(€Ù  §¡¨D¯K©KÀcÔJÑ €„	ˆ4Œ;ð "ˆ8×!Ñ!Ó#€Ù!(Ø‡M�M�8—?‘?°ô"Ñ €„ˆxŒò
Jò7ò1òYð, ‡�×Ñ˜Ò!DÓEñ
Yó Fð
Yò*8òZ,ò$ò6Bò*<ò ò8(ð ‡�×ÑØ.Ùð	
Øð	
àð	
ð ð	
ð ð		
ð
 ð	
ð 	˜˜^Ñ+Ñ+ó	óñWEóðWEðt ‡�×ÑØ.Ùð	
Øð	
àð	
ð ð	
ð ð		
ð
 ð	
ð 	˜˜^Ñ+Ñ+ó	óñ,Eóð,Eò^Iò&ò*ò#@òLð ‡�×ÑØá	Ó	˜tŸy™y¨$¯+©+Ð6Ù	Ó	˜hŸm™m¨X¯_©_Ð=ðóñ5óð5ò?ó"";r/   