Ë
    íì�iˆ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 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jR                  jU                  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Z/g d¢Z0g d¢Z1 ejd                  «       Z3e+ji                  e3jj                  jl                  «      Z7 ee3jp                  e3jj                  e+¬«      \  e3_8        e3_5         ejr                  «       Z: ee:jp                  e:jj                  e+¬«      \  e:_8        e:_5        d„ Z;d„ Z<d„ Z=d„ Z>ej~                  j�                  dg d¢«      d„ «       ZAd „ ZBd!„ ZCd"„ ZDd#„ ZEd$„ ZFd%„ ZGd&„ ZHej~                  j�                  d' eIg e%¢e&¢e(¢e$¢e'¢e%d(e&z  z   «      «      d)„ «       ZJej~                  j�                  d' eIg e%¢e&¢e(¢e$¢e'¢e%d(e&z  z   «      «      d*„ «       ZKd+„ ZLd,„ ZMd-„ ZNd.„ ZOd/„ ZPej~                  j�                  d0 e«       e3jp                  e3jj                  f e«       e:jp                  e:jj                  fg«      d1„ «       ZQd2„ ZRd3„ ZSy)4z6Testing for the boost module (sklearn.ensemble.boost).é    N)Údatasets)ÚBaseEstimatorÚclone)ÚDummyClassifierÚDummyRegressor)ÚAdaBoostClassifierÚAdaBoostRegressor)ÚLinearRegression)Ú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     ú�/var/www/ITT-ServiceAPI-Services/ITT-Document-Scan/mrzscanner/mrzenv/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   r1   r2   Úy_t_regrr9   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$   r4   ÚirisÚtargetr   r(   Údatar   r6   r)   r7   r&   r8   ÚscoreÚestimators_Úset)Úclassesr+   ÚprobarL   s       r,   Ú	test_irisrQ   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   )rR   r"   gš™™™™™á?r   c              3   ó4   K  — | ]  }|j                   –— Œ y ­wrB   r!   rC   s     r,   rF   z test_diabetes.<locals>.<genexpr>q   rG   rH   )	r	   r(   ÚdiabetesrK   rJ   rL   r&   rM   rN   )rR   ÚregrL   s      r,   Útest_diabetesrZ   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   ©r`   r"   )r$   ÚrandomÚRandomStateÚrandintrI   rJ   r7   rX   r   r(   rK   r1   Ústaged_predictr)   Ústaged_predict_probarL   Ústaged_scorer&   r   r	   )ÚrngÚiris_weightsÚdiabetes_weightsr+   ÚpredictionsÚpÚstaged_predictionsrP   Ústaged_probasrL   ÚsÚstaged_scoress               r,   Útest_staged_predictrs   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   )r`   Úestimator__max_depthr   ©rv   r"   )
r   r   r   r(   rI   rK   rJ   r	   r   rX   )Ú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(   rI   rK   rJ   rL   ÚdumpsÚloadsÚtypeÚ	__class__r	   rX   )r}   ÚobjrL   rq   Ú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_r7   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   ra   )r   ÚreÚescapeÚpytestÚraisesÚ
ValueErrorr(   r'   r0   r$   r5   )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   r0   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@)r`   Úlearning_rater”   )r   r˜   ÚwarnsÚUserWarningr(   rI   rK   rJ   )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
¬«      d¬«      j                  |	|«      }t         |d
¬«      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-        |D �cg c]  }||k(  ‘Œ	 c}«      sJ ‚y c c}w c c}w )Nc                   ó$   ‡ — e Zd ZdZdˆ fd„	Zˆ xZS )ú-test_sparse_classification.<locals>.CustomSVCz8SVC variant that records the nature of the training set.c                 óL   •— 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(   z1test_sparse_classification.<locals>.CustomSVC.fit!  ó%   ø€ ä‰G‰K˜˜1¨MˆKÔ:Ü" 1›gˆDŒOØˆKr.   rB   ©Ú__name__Ú
__module__Ú__qualname__Ú__doc__r(   Ú__classcell__©r�   s   @r,   Ú	CustomSVCr®     ó   ø„ ÙF÷	ñ 	r.   r¾   r   é   é   é*   )Ú	n_classesr‡   rˆ   r"   r   r!   T)Úprobabilityrx   )r   r   Úmake_multilabel_classificationr$   Úravelr   r   r(   r1   r   r8   r   Úpredict_log_probar)   rL   Ústaged_decision_functionÚziprg   rh   ri   rM   r³   r�   )Úsparse_containerÚexpected_internal_typer¾   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ÚtypesÚts                       r,   Útest_sparse_classificationrÛ     s&  € ô ”Cô ô ×2Ñ2Ø˜r¨a¸bô�D€A€qô 	�‰�‹€Aä'7¸¸1È1Ô'MÑ$€GˆV�W˜fá% gÓ.€NÙ$ VÓ,€Mô +Ù¨Ô-Øô÷ 
�cˆ.˜'Ó"ð ô *Ù¨Ô-Øô÷ 
�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ä°UÖ;°�Ð+Ó+Ò;Ô<Ð<Ñ<ùò Bùâ;s   Ê,K Ë
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        |D �cg c]  }||k(  ‘Œ	 c}«      sJ ‚y c c}w 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.   rB   r·   r½   s   @r,   Ú	CustomSVRrÞ   …  r¿   r.   rà   rÀ   é2   r   rÂ   )r‡   rˆ   Ú	n_targetsr"   r   r!   rx   )r   r   Úmake_regressionr   r	   r(   r1   r   rg   rÉ   rM   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Ù   rÚ   s                       r,   Útest_sparse_regressionrê   u  s_  € ô ”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Ð@ä°UÖ;°�Ð+Ó+Ò;Ô<Ð<Ñ<ùò Aùâ;s   ÄEÄ/E
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 rB   © )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$   Úzerosr7   )rµ   r'   s     r,   r1   zEtest_sample_weight_adaboost_regressor.<locals>.DummyEstimator.predict¼  s   € Ü—8‘8˜AŸG™G A™JÓ'Ð'r.   N)r¸   r¹   rº   r(   r1   rï   r.   r,   ÚDummyEstimatorrí   ¸  s   „ ò	ó	(r.   rò   r    r_   N)r   r	   r(   r'   r=   r&   Úestimator_weights_Úestimator_errors_)rò   ry   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$   rd   re   ÚrandnÚchoicer   r   r(   r1   r)   r	   r   )rj   r'   ÚycÚyrry   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)Nru   z {} doesn't support sample_weightr”   )rI   rK   rJ   r   r   r   Úformatr�   r¸   r˜   r™   rš   r(   )r'   r�   rv   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'  ©rv   r`   r"   ra   )r$   rd   re   ÚlinspaceÚrandr7   Úreshaper	   r
   r   r(   Ú	ones_likerL   r˜   Úapprox)
rj   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¡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)   r1   )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”   ra   )r$   r  r˜   r™   rš   r(   )r  r'   r�   rb   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  ra   N)r$   rd   re   Únormalrû   r  r   r   r(   Úisnanr�   Úsum)rj   r'   r�   rb   Ú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"   rc   r  r   g:Œ0âŽyE>)Úatolr   rÁ   r_   N)r   rŒ   r   r(   r8   r   r$  rN   r$   r4   rÈ   Ú
set_params)Úglobal_random_seedrÃ   r'   r�   r+   Úy_scores         r,   Útest_adaboost_decision_functionr.  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.   )Tr»   r–   Únumpyr$   r˜   Úsklearnr   Úsklearn.baser   r   Úsklearn.dummyr   r   r¡   r   r	   Úsklearn.linear_modelr
   Ú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   rd   re   rj   r'   r0   r=   r2   r3   r>   Ú	load_irisrI   ÚpermutationrJ   r^   ÚpermrK   Úload_diabetesrX   r-   r:   r?   rQ   ÚmarkÚparametrizerZ   rs   r{   r…   r’   rœ   r¤   rª   rÉ   rÛ   rê   rõ   rþ   r  r  r  r  r'  r.  rï   r.   r,   ú<module>rA     sñ  ðÙ <ã 	ã Û å ß -ß 9ß BÝ 1ß 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=óðW=ðt ‡�×ÑØ.Ùð	
Øð	
àð	
ð ð	
ð ð		
ð
 ð	
ð 	˜˜^Ñ+Ñ+ó	óñ,=óð,=ò^Iò&ò*ò#@òLð ‡�×ÑØá	Ó	˜tŸy™y¨$¯+©+Ð6Ù	Ó	˜hŸm™m¨X¯_©_Ð=ðóñ5óð5ò?ó"";r.   