ó
    uñ:i`  ã                   óJ  • S r SSKrSSKrSSKrSSKrSSKrSSKJrJ	r	J
r
Jr  SSKrSSKrSSKJr  S\R$                  S\SS4S jrS	\S
\\R*                     S\S\SS4
S jr\R.                  S.S\S\S\R$                  S\S\S
\\R*                     S\R$                  4S jjrg)z#Testing code shared by other tests.é    N)ÚAnyÚCallableÚDictÚType)Ú	ArrayLikeÚleafÚnum_parallel_treeÚreturnc           	      ó>  • [        U R                  S   5       H�  n[        U R                  S   5       Hb  n[        U R                  S   5       HC  nXX4SS24   nUR                  S   U:X  d   e[        R                  " XUS   :H  5      (       a  MC   e   Md     Mƒ     g)z'Validate output for predict leaf tests.r   é   é   N)ÚrangeÚshapeÚnpÚall)r   r	   ÚiÚjÚkÚ
tree_groups         ÚY/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/xgboost/testing/shared.pyÚvalidate_leaf_outputr      s‹   € ä�4—:‘:˜a‘=Ö!ˆÜ�t—z‘z !‘}Ö%ˆAÜ˜4Ÿ:™: a™=Ö)�Ø! Qª1 *Ñ-�
Ø!×'Ñ'¨Ñ*Ð.?Ó?Ð?Ð?ä—v’v˜j°q©MÑ9×:Ó:Ð:Ð:ó	 *ó &ò "ó    ÚdmatrixÚmodelÚXÚyc                 ó$  ^^• U R                   mS/mS[        S[        S[        4UU4S jjnX@l         U" SS9R                  X#X#4/S9  TS   S:X  d   eSTS'   UR	                  5       nU" SS9R                  X#X%4/S9  TS   S	:X  d   eTU l         g
)z/Assert that we don't create duplicated DMatrix.r   ÚselfÚkwargsr
   c                 ó0   >• TS==   S-  ss'   T" U 40 UD6$ )Nr   r   © )r   r   ÚcountÚold_inits     €€r   Únew_initÚ.validate_data_initialization.<locals>.new_init$   s    ø€ Øˆa‹�A‰‹Ù˜Ñ' Ñ'Ð'r   r   )Ún_estimators)Úeval_setr   N)Ú__init__r   r   ÚfitÚcopy)r   r   r   r   r$   Úy_copyr"   r#   s         @@r   Úvalidate_data_initializationr,      s²   ù€ ð
 ×Ñ€HØˆC€Eð(”sð (¤cð (¬h÷ (ð (ð  ÔÙ	�qÑ×Ñ˜a¨q¨f¨XÐÑ6à�‰8�q‹=Ðˆ=Ø€Eˆ!�Hà�V‰V‹X€FÙ	�qÑ×Ñ˜a¨q¨k¨]ÐÑ;Ø�‰8�q‹=Ðˆ=à€GÕr   )r   ÚfwÚparser_pathÚtree_methodc                 ó®  • [         R                  " 5        nSnU" UUUS9nUR                  X5        [        R                  R                  US5      n	UR                  U	5        [        U	SSS9 n
[        R                  " U
5      nSSS5        [        R                  R                  SU5      nUc   e[        R                  R                  U5      nUR                  c   eUR                  R                  U5        UR!                  U5      n0 nS	nUR"                   H™  n[%        UR&                  5      nUU-  n[)        U5       Hm  nUR+                  U5      (       a  M  UR-                  UR/                  U5      S5      c  S
XßR/                  U5      '   MR  XßR/                  U5      ==   S
-  ss'   Mo     M›     [0        R2                  " [5        UR7                  5       5      5      n[9        UR7                  5       5      n[9        [;        U6 5      u  nn[<        R>                  " UUS
S9nUsSSS5        $ ! , (       d  f       GN¶= f! , (       d  f       g= f)z*Get feature weights using the demo parser.g      à?)r/   Úcolsample_bynodeÚfeature_weightsz
model.jsonÚrzutf-8)ÚencodingNÚ
JsonParserr   r   )Údeg) ÚtempfileÚTemporaryDirectoryr)   ÚosÚpathÚjoinÚ
save_modelÚopenÚjsonÚloadÚ	importlibÚutilÚspec_from_file_locationÚmodule_from_specÚloaderÚexec_moduleÚModelÚtreesÚlenÚnodesr   Úis_leafÚgetÚsplit_indexÚcollectionsÚOrderedDictÚsortedÚitemsÚlistÚzipr   Úpolyfit)r   r   r-   r.   r/   r   Útmpdirr1   ÚregÚ
model_pathÚfdÚspecÚjsonmÚsplitsÚtotal_nodesÚtreeÚn_nodesÚnÚodÚtuplesr   ÚvÚws                          r   Úget_feature_weightsrc   6   sä  € ô 
×	$Ò	$Ô	&¨&ØÐÙØ#Ø-Øñ
ˆð 	�‰�ŒÜ—W‘W—\‘\ &¨,Ó7ˆ
Ø�‰�zÔ"Ü�*˜c¨GÒ4¸Ü—I’I˜b“MˆE÷ 5ô �~‰~×5Ñ5°lÀKÓPˆØÑÐÐÜ—‘×/Ñ/°Ó5ˆØ�{‰{Ñ&Ð&Ð&Ø�‰×Ñ Ô&Ø—‘˜EÓ"ˆØ!#ˆØˆØ—K”KˆDÜ˜$Ÿ*™*“oˆGØ˜7Ñ"ˆKÜ˜7–^�Ø—<‘< —?‘?ÙØ—:‘:˜d×.Ñ.¨qÓ1°4Ó8Ñ@Ø23�F×+Ñ+¨AÓ.Ó/à×+Ñ+¨AÓ.Ó/°1Ñ4Õ/ó $ñ  ô ×$Ò$¤V¨F¯L©L«NÓ%;Ó<ˆÜ�b—h‘h“jÓ!ˆÜ”C˜�LÓ!‰ˆˆ1Ü�JŠJ�q˜! Ñ#ˆØ÷K 
'Ñ	&÷ 5Ö4ú÷ 
'Õ	&ús%   –AIÁ.H4ÂF%IÈ4
I	È>IÉ
I)Ú__doc__rM   Úimportlib.utilr@   r>   r9   r7   Útypingr   r   r   r   Únumpyr   ÚxgboostÚxgbÚxgboost._typingr   ÚndarrayÚintr   ÚXGBModelr,   ÚXGBRegressorÚstrrc   r!   r   r   Ú<module>rp      sâ   ðÙ )ó Û Û Û 	Û ß ,Ó ,ã ã Ý %ð;˜rŸz™zð ;¸cð ;Àdô ;ð Øð Ø˜sŸ|™|Ñ,ð Ø1:ð Ø?Hð à	ô ðB !$× 0Ñ 0ò/àð/ð ð/ð 	�
‰
ð	/ð
 ð/ð ð/ð �—‘Ñð/ð ‡Z�Zö/r   