ó
    uñ:i\1  ã                   ó  • S r SSKJrJrJrJrJrJr  SSKr	SSK
rSSKJr  SSKJr  SSKJrJr  SSKJr  SSKJr  SSKrSSKJr  SS	KJr  SS
K J!r!  SSK"Jr#  SSK$J%r%  SSKJ&r&  SSK'J(r(  SSK)J*r*  SSK)J+r,  SSK-J.r.  SSK/J0r0J1r1  S\2S\S   S\SS4S jr3S\2S\S   S\SS4S jr4S\2S\S   S\SS4S jr5S\S\2S\S   S\6SS4
S jr7S\6S\6S\2S \8S!\9SS4S" jr:S\S\6S\4S# jr;S\S\\2   4S$ jr<S\S%\6S&\6S'\6S(\6S\2S\\Rz                  \R|                  \R|                  4   4S) jr?S\S\2SS4S* jr@S+\	R‚                  S,.S\S%\6S&\6S-\6S.\9S/\	R                  R„                  S\\Rz                  \R|                  4   4S0 jjr+S\S\0SS4S1 jrCg)2z0Tests for dask shared by different test modules.é    )ÚAnyÚListÚLiteralÚTupleÚTypeÚcastN)Úarray)Ú	dataframe)ÚClientÚ
get_worker)Úparse)Úmake_classification)Úconcat)Úget_basescoreé   )Údask)ÚEvalsLog)Ú_get_rabit_args)Ú_DASK_VERSIONé   )Úmake_batches)Úmake_categorical)Úmake_recoded)ÚDeviceÚassert_allcloseÚtree_methodÚdevice)ÚcpuÚcudaÚclientÚreturnc                 ó¾  • [        SSSS9u  p4[        R                  " SSXS9nUR                  X45        [	        U5      n[
        R                  " U5      R                  SS9n[
        R                  " U5      R                  S	S9n[        R                  " SSU US9n	X)l
        U	R                  Xx5        [	        U	5      n
[        R                  R                  Xj5        g
)z%Test init estimation for classsifier.é    é    éÊ  ©Ú	n_samplesÚ
n_featuresÚrandom_stater   ©Ún_estimatorsÚ	max_depthr   r   ©r$   N©Úchunks©r$   N)r   ÚxgbÚXGBClassifierÚfitr   ÚdaÚ
from_arrayÚrechunkÚdxgbÚDaskXGBClassifierr    ÚnpÚtestingr   )r   r   r    ÚXÚyÚclfÚ
base_scoreÚdxÚdyÚdclfÚdbase_scores              ÚW/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/xgboost/testing/dask.pyÚcheck_init_estimation_clfrD      sÅ   € ô ¨¸bÈtÑT�D€AÜ
×
Ò
Ø !°ñ€Cð ‡G�GˆA„MÜ˜sÓ#€Jä	�Š�qÓ	×	!Ñ	!¨Ð	!Ð	4€BÜ	�Š�qÓ	×	!Ñ	!¨Ð	!Ð	/€BÜ×!Ò!ØØØØñ	€Dð „KØ‡H�HˆRÔÜ Ó%€KÜ‡J�J×Ñ˜zÕ7ó    c                 óÂ  • SSK Jn  U" SSSS9u  pE[        R                  " SSXS9nUR	                  XE5        [        U5      n[        R                  " U5      R                  S	S
9n[        R                  " U5      R                  SS
9n	[        R                  " SSXS9n
X*l        U
R	                  X‰5        [        U
5      n[        R                  R                  X{5        g)z#Test init estimation for regressor.r   )Úmake_regressionr#   r$   r%   r&   r   r*   r-   r.   r0   N)Úsklearn.datasetsrG   r1   ÚXGBRegressorr3   r   r4   r5   r6   r7   ÚDaskXGBRegressorr    r9   r:   r   )r   r   r    rG   r;   r<   Úregr>   r?   r@   ÚdregrB   s               rC   Úcheck_init_estimation_regrM   6   sÅ   € õ 1ñ  X¸"È4ÑP�D€AÜ
×
Ò
Ø !°ñ€Cð ‡G�GˆA„MÜ˜sÓ#€Jä	�Š�qÓ	×	!Ñ	!¨Ð	!Ð	4€BÜ	�Š�qÓ	×	!Ñ	!¨Ð	!Ð	/€BÜ× Ò Ø !°ñ€Dð „KØ‡H�HˆRÔÜ Ó%€KÜ‡J�J×Ñ˜zÕ7rE   c                 ó4   • [        XU5        [        XU5        g)zTest init estimation.N)rM   rD   )r   r   r    s      rC   Úcheck_init_estimationrO   O   s   € ô ˜k°6Ô:Ü˜k°6Õ:rE   Ú	n_workersc           	      óü  • US:¼  d   eU R                  5          [        R                  " XS9n[        R                  " [        S5      [        SSS5      S.5      n[        R                  " / S/S-  QS/S-  Q5      n[        R                  UR                  S	S
S2S4'   U R                  US9  UR                  [        R                  " XSS9[        R                  " XcS95        S	S	S	5        g	! , (       d  f       g	= f)z0Issue #9271, not every worker has missing value.r   )r   r   i'  r   éÿÿÿÿ)ÚaÚbiˆ  r   Ni¸  iè  rS   )rP   ©Únpartitions)Ú
as_currentr7   r8   ÚpdÚ	DataFrameÚrangeÚSeriesr9   ÚnanÚlocÚwait_for_workersr3   ÚddÚfrom_pandas)r    r   r   rP   r=   r;   r<   s          rC   Úcheck_uneven_nanra   W   sÎ   € ð ˜‹>Ðˆ>à	×	Ñ	Õ	Ü×$Ò$°ÑLˆÜ�LŠLœu U›|´%¸¸qÀ"Ó2EÑFÓGˆÜ�IŠIÐ0˜˜˜d™
Ð0 a S¨4¡ZÐ0Ó1ˆä!#§¡ˆ�‰ˆjˆt�Dˆj˜#ˆoÑà×Ñ¨)ÐÑ4à�‰Ü�NŠN˜1Ñ4Ü�NŠN˜1Ñ4ô	
÷ 
×	Ö	ús   ™CC-Ã-
C;Ú	worker_idÚ	comm_argsÚis_qdmc                 ó  • SnSnSnUS:g  n[        5       R                  R                  n	[        R                  R
                  " SSS0UD6   [        R                  " [        UUUUU S9SS06n
U(       a  [        R                  " X©S	9nO[        R                  " X©S	9n0 n[        R                  " S
X’S.UUS4/SUS9  [        R                  " [        [        [           US   S   5      5      (       d   e SSS5        / / / pþn[!        U5       HG  n[        UUUUUS9u  nnnUR#                  U5        UR#                  U5        UR#                  U5        MI     [%        U5      n[%        U5      n[%        U5      nU(       a  [        R&                  " UUUU	S9nO[        R                  " UUUU	S9n0 n[        R                  " S
X’S.UUS4/SUS9  [(        R*                  R-                  WS   S   US   S   SS9  g! , (       d  f       GN= f)z-Basic checks for distributed external memory.r$   é   é   r   Údmlc_communicatorÚrabit)Úuse_cupyr)   Úcache)ÚnthreadÚhist)r   rl   r   ÚTrain)ÚevalsÚnum_boost_roundÚevals_resultÚrmseN)Úweightrl   g-Cëâ6?©Úrtol© )r   ÚstateÚnthreadsr1   Ú
collectiveÚCommunicatorContextÚtmÚIteratorForTestr   ÚExtMemQuantileDMatrixÚDMatrixÚtrainÚnon_increasingr   r   ÚfloatrZ   Úextendr   ÚQuantileDMatrixr9   r:   r   )rb   rP   r   rc   rd   Ún_samples_per_batchr(   Ú	n_batchesrj   Ú	n_threadsÚitÚXyÚresultsÚlxÚlyÚlwÚiÚxr<   Úwr;   ÚyconcatÚwconcatÚresults_locals                           rC   Úcheck_external_memoryr“   l   s  € ð ÐØ€JØ€IØ˜‰€Hä“×"Ñ"×+Ñ+€IÜ	�‰×	+Ò	+Ñ	S¸gÐ	SÈÓ	SÜ×ÒÜØ#ØØØ!Ø&ñð	
ð ñ	
ˆö Ü!×7Ò7¸ÑN‰Bä—’˜RÑ3ˆBØˆÜ�	Š	Ø"¨yÑKØØ˜�=�/ØØ ò	
ô × Ò ¤¤d¬5¡k°7¸7Ñ3CÀFÑ3KÓ!L×MÑMÐMÑM÷/ 
Tð2 �R˜ˆB€BÜ�9ÖˆÜØØØØØñ
‰ˆˆ1ˆað 	�	‰	�!ŒØ
�	‰	�!ŒØ
�	‰	�!Žñ ô 	ˆr‹
€AÜ�R‹j€GÜ�R‹j€GÞÜ× Ò   G°GÀYÑO‰ä�[Š[˜˜G¨G¸YÑGˆà €MÜ‡I‚IØ¨9ÑGØ
Ø�Gˆ}ˆoØØ"òô ‡J�J×ÑØ�Ñ˜Ñ  -°Ñ"8¸Ñ"@Àtð ò ÷m 
TÖ	Sús   ÁB*G=Ç=
Hc                 ó.   • U R                  [        X5      $ )z6Get RABIT collective communicator arguments for tests.)Úsyncr   )r    rP   s     rC   Úget_rabit_argsr–   µ   s   € à�;‰;”¨Ó:Ð:rE   c                 ó˜   • [        5       [        S5      :¼  a  SS0O0 nU R                  " S0 UD6S   n[        UR	                  5       5      $ )zGet workers from a dask client.z2025.4.0rP   rR   Úworkersrv   )r   Úparse_versionÚscheduler_infoÚlistÚkeys)r    Úkwargsr˜   s      rC   Úget_client_workersrž   º   sF   € ä"/£/´]À:Ó5NÓ"Nˆk˜2ÑÐTV€FØ×#Ò#Ñ- fÑ-¨iÑ8€GÜ�—‘“ÓÐrE   r'   r(   Ún_query_groupsÚmax_relc                óž  ^^^^• [        U 5      nU[        U5      -  nUS:X  a  SSKJm  OSSKJm  S[
        S[
        S[        R                  4UUUU4S jjn/ n	Sn
[        SX5       H9  nU R                  X‡X¶U
[        U5      -     /S9nU	R                  U5        U
S	-  n
M;     X[        U5      -  -
  nUS:w  a-  U R                  X�U[        U5      -  S
9nU	R                  U5        U" S	S5      n[        R                  " XžS9n[        U[        R                  5      (       d   eUR                  SS/S	S9UR                  UR                  4$ )z'Synthetic dataset for learning to rank.r   r   )rY   ÚnÚseedr!   c                 óê   >• [         R                  R                  U5      n[        U T
T
ST	S9u  p4UR	                  U 4STS9nT" U[        T
5       Vs/ s H  nSU 3PM
     snS9nXWS'   XGS'   U$ s  snf )Nr   )Ún_informativeÚn_redundantÚ	n_classes)ÚsizeÚlowÚhighÚf)ÚcolumnsÚqidr<   )r9   ÚrandomÚdefault_rngr   ÚintegersrZ   )r¢   r£   Úrngr;   r<   r­   r�   ÚdfÚDFr    r(   rŸ   s           €€€€rC   ÚmakeÚmake_ltr.<locals>.makeÓ   s‡   ø€ Ü�i‰i×#Ñ# DÓ)ˆÜ"Øˆz¨ÀÈgñ
‰ˆð �l‰l  ¨!°.ˆlÐAˆÙ�¬U°:Ô->Ó?Ò->¨˜a ˜s›GÑ->Ñ?Ñ@ˆØˆ5‰	Øˆ3‰Øˆ	ùò @s   ÁA0
)r¢   r£   r˜   r   )r¢   r£   ©Úmetar­   r<   )Úaxis)rž   ÚlenÚpandasrY   ÚcudfÚintrX   rZ   ÚsubmitÚappendr_   Úfrom_delayedÚ
isinstanceÚdropr<   r­   )r    r'   r(   rŸ   r    r   r˜   Ún_samples_per_workerr´   Úfuturesr�   ÚkÚfutÚlastr·   r²   r³   s     ```           @rC   Úmake_ltrrÇ   Á   sC  û€ ô ! Ó(€GØ$¬¨G«Ñ4Ðà�ƒÞ*å(ð	”ð 	œ3ð 	¤2§<¡<÷ 	ò 	ð €GØ	€AÜ�1�iÖ6ˆØ�m‰mØ¨qÀ1ÄsÈ7Ã|ÑCSÑ;TÐ:Uð ð 
ˆð 	�‰�sÔØ	ˆQ‰Šñ 7ð ¬s°7«|Ñ;Ñ<€DØˆqƒyØ�m‰m˜DÐ/CÄcÈ'ÃlÑ/RˆmÐSˆØ�‰�sÔá��1‹:€DÜ	�Š˜Ñ	,€BÜ�bœ"Ÿ,™,×'Ñ'Ð'Ð'Ø�7‰7�E˜3�< aˆ7Ð(¨"¯$©$°·±Ð6Ð6rE   c           	      óÂ  • [        U SSSSUS9u  p#n[        U SSSSUS9u  pVn[        R                  " SSUS	S
9nUR                  UUUX$4XW4/X6/SS9  UR                  S:X  d   eUR
                  S   UR                  :X  d   eUR                  5       S   S   n	[        R                  " U	SS SS9(       d   U	5       e[        R                  R                  U	S   SSS9  g)z)Test for the allow_group_split parameter.i   é€   rf   é   )rŸ   r    r   i   Fé$   zrank:pairwise)Úallow_group_splitr+   r   Ú	objectiveT)r­   Úeval_setÚeval_qidÚverboser   Úvalidation_0zndcg@32Nrg   g{®Gáz„?)Ú	tolerancerR   g      ð?rt   )rÇ   r7   ÚDaskXGBRankerr3   Ún_features_in_Úshaperq   r{   Únon_decreasingr9   r:   r   )
r    r   ÚX_trÚq_trÚy_trÚX_vaÚq_vaÚy_vaÚltrÚndcgs
             rC   Úcheck_no_group_splitrß   ò   s  € äØ��c¨!°Q¸vñÑ€D�ô  Ø��c¨!°Q¸vñÑ€D�ô ×
Ò
ØØØØ!ñ	€Cð ‡G�GØØØØ�,  Ð-Ø�Øð ñ ð ×Ñ Ó$Ð$Ð$Ø�:‰:�a‰=˜C×.Ñ.Ó.Ð.Ð.Ø×ÑÓ˜nÑ-¨iÑ8€DÜ×Ò˜T # 2˜Y°$×7Ð=¸Ó=Ð7Ü‡J�J×Ñ˜t B™x¨°4ÐÒ8rE   F)ÚonehotÚ	cat_dtypeÚn_categoriesrà   rá   c                ó  • [        U 5      n[        U5      n/ nS[        S[        R                  4S jn	U	" SUUSUS9n
[        U5       HO  u  p¼[        X-  XX-  -  -
  5      nUS:X  a  US:X  a  SnU R                  U	UUUUSU/S9nUR                  U5        MQ     [        [        R                  [        R                  " XŠS	95      nUS
   nXÿR                  R                  S
/5         nU(       a  [        R                  " U5      U4$ UU4$ )z&Synthesize categorical data with dask.r�   r!   c                  ó(   • [        S0 U D6u  pX!S'   U$ )NÚlabelrv   )Úmake_cat_local)r�   r;   r<   s      rC   ÚpackÚmake_categorical.<locals>.pack  s   € ÜÑ' Ñ'‰ˆØˆ'‰
ØˆrE   r   F)r'   r(   râ   rà   rá   r   )r'   r(   râ   rá   rà   r˜   r¶   rå   )rž   r¹   r   r_   rY   Ú	enumerateÚminr½   r¾   r   r¿   r¬   Ú
differenceÚget_dummies)r    r'   r(   râ   rà   rá   r˜   rP   Údfsrç   r·   r�   ÚworkerÚl_n_samplesÚfuturer²   r<   r;   s                     rC   r   r     s'  € ô ! Ó(€GÜ�G“€IØ
€Cð”sð œrŸ|™|ô ñ
 ØØØ!ØØñ€Dô ˜wÖ'‰	ˆÜØÑ" I°YÑ5KÑ0LÑ$Ló
ˆð ˜‹>˜a 1›fØˆKØ—‘ØØ!Ø!Ø%ØØØ�Hð ð 
ˆð 	�
‰
�6Öñ! (ô$ œBŸL™L¬"¯/ª/¸#Ñ*IÓJ€BØ
ˆ7‰€AØ
�:‰:× Ñ  ' Ó+Ñ,€AæÜ�~Š~˜aÓ  !Ð#Ð#Øˆaˆ4€KrE   c                 ó  ^ ^^• S[         [        R                     S[        S[        S[        R                  4S jmS[         [        R                     SS4U UU4S jjn[        R                  [        R                  4 H  nU" U5        M     g)z+Run re-coding test with the Dask interface.ÚDMatrixTÚargsr�   r!   c                 ó”   • U [         R                  L a  UR                  SS 5      nU " USU0UD6$ UR                  SS 5        U " U0 UD6$ )NÚref)r7   ÚDaskQuantileDMatrixÚpop)rò   ró   r�   rõ   s       rC   Úcreate_dmatrixÚ"run_recode.<locals>.create_dmatrixK  sU   € ð ”t×/Ñ/Ò/Ø—*‘*˜U DÓ)ˆCÙ˜TÐ5 sÐ5¨fÑ5Ð5à�
‰
�5˜$ÔÙ˜Ð( Ñ(Ð(rE   Nc           	      ó  >• [        TSS9u  pn  n[        T5      n[        R                  " USS9R	                  US9[        R                  " USS9R	                  US9[
        R                  " X3R                  S   S-  4S9R	                  US9p‡nT" U TXhSS	9n	T" U TXxSU	S
9n
[        R                  " TST0XšS4/S9nT" U TXhSS	9n	T" U TXxSU	S
9n
[        R                  " TST0U	U
S4/US   S9nT" U TXxSS	9n	T" U TXhSU	S
9n
[        R                  " TST0U	U
S4/US   S9n[        R                  R                  US   S   S   US   S   S   5        [        R                  " TX¶5      R                  5       n[        R                  " TX·5      R                  5       n[        TXï5        [        R                  " TX¹5      R                  5       n[        R                  " TXº5      R                  5       n[        TXï5        g )Né`   )r(   é   rU   )r˜   r   r.   T)Úenable_categorical)rý   rõ   r   ÚValid)ro   Úbooster)ro   Ú	xgb_modelÚhistoryrr   )r   rž   r_   r`   Úpersistr4   r5   rÕ   r7   r   r9   r:   r   Úinplace_predictÚcomputeÚpredict)rò   ÚencÚreencr<   Ú_ÚtoÚdencÚdreencr@   rˆ   ÚXy_validr‰   Ú	results_1Ú	results_2Úpredt_0Úpredt_1r    rø   r   s                   €€€rC   ÚrunÚrun_recode.<locals>.runU  s=  ø€ Ü*¨6¸bÑAÑˆ�A�q˜!Ü Ó'ˆô �NŠN˜3¨AÑ.×6Ñ6¸rÐ6ÐBÜ�NŠN˜5¨aÑ0×8Ñ8ÀÐ8ÐDÜ�MŠM˜!§W¡W¨Q¡Z°1¡_Ð$6Ñ7×?Ñ?ÈÐ?ÐKð ˆñ ˜H f¨dÈ4ÑPˆÙ!Ø�f˜f¸TÀrñ
ˆô —*’*Ø�X˜vÐ&¨¸gÐ3FÐ2Gñ
ˆñ
 ˜H f¨dÈ4ÑPˆÙ!Ø�f˜f¸TÀrñ
ˆô —J’JØØ�vÐØØ˜gÐ&Ð'Ø˜iÑ(ñ
ˆ	ñ ˜H f¨fÈTÑRˆÙ!Ø�f˜d¸4ÀRñ
ˆô —J’JØØ�vÐØØ˜gÐ&Ð'Ø˜iÑ(ñ
ˆ	ô 	�
‰
×"Ñ"Ø�iÑ  Ñ)¨&Ñ1°9¸YÑ3GÈÑ3PÐQWÑ3Xô	
ô ×&Ò& v¨wÓ=×EÑEÓGˆÜ×&Ò& v¨wÓ?×GÑGÓIˆÜ˜ Ô1ä—,’,˜v wÓ3×;Ñ;Ó=ˆÜ—,’,˜v wÓ9×AÑAÓCˆÜ˜ Õ1rE   )r   r7   ÚDaskDMatrixr   rö   )r    r   r  rò   rø   s   ``  @rC   Ú
run_recoder  H  s‚   ú€ ð)Ü”t×'Ñ'Ñ(ð)Ü14ð)Ü@Cð)ä	×	Ñ	ô)ð62”dœ4×+Ñ+Ñ,ð 62°÷ 62ñ 62ôp ×%Ñ%¤t×'?Ñ'?Ó@ˆÙˆHŽò ArE   )DÚ__doc__Útypingr   r   r   r   r   r   Únumpyr9   rº   rX   r   r	   r4   r
   r_   Údistributedr   r   Úpackaging.versionr   r™   rH   r   Úxgboostr1   Úxgboost.testingr:   r{   Úxgboost.compatr   Úxgboost.testing.updaterr   Ú r7   Ú_typingr   r   Ú
dask.utilsr   Údatar   r   ræ   Úordinalr   Úutilsr   r   ÚstrrD   rM   rO   r¼   ra   ÚdictÚboolr“   r–   rž   rY   r[   rÇ   rß   Úint64Ú	DTypeLiker  rv   rE   rC   Ú<module>r)     sv  ðá 6ç 8× 8ã Û Ý Ý  ß *Ý 4Ý 0ã Ý Ý !Ý 1å Ý Ý "Ý &Ý Ý 4Ý !ß *ð8Øð8Ø% mÑ4ð8Ø>Dð8à	ô8ð28Øð8Ø% mÑ4ð8Ø>Dð8à	ô8ð2;Øð;Ø% mÑ4ð;Ø>Dð;à	ô;ð
Øð
Ø!$ð
Ø.5°mÑ.Dð
ØQTð
à	ô
ð*FØðFàðFð ðFð ð	Fð
 ðFð 
ôFðR;˜6ð ;¨cð ;°cô ;ð
 ˜vð  ¨$¨s©)ô  ð.7Øð.7àð.7ð ð.7ð
 ð.7ð ð.7ð ð.7ð ˆ2�<‰<˜Ÿ™ B§I¡IÐ-Ñ.ô.7ðb9 ð 9°ð 9¸ô 9ðJ Ø%'§X¡Xò3Øð3àð3ð ð3ð ð	3ð ð3ð �y‰y×"Ñ"ð3ð ˆ2�<‰<˜Ÿ™Ð"Ñ#õ3ðnF�vð F vð F°$õ FrE   