ó
    uñ:iH  ã                   ó¨   • S r SSKJrJr  SSKrSSKJr  SSK	J
r
  SSKJrJrJrJr  SS	KJr  S
\SS4S jrS
\SS4S jrS
\SS4S jr " S S\5      rg)z*Tests related to the `DataIter` interface.é    )ÚCallableÚOptionalN)Útestingé   )Úimport_cupy)ÚDataIterÚDMatrixÚExtMemQuantileDMatrixÚQuantileDMatrixé   )Úpredictor_equalÚdeviceÚreturnc                 ó¾  • [         R                  " SSS5      u  pnU R                  S5      (       a  [         R                  " SSSS5      u  pEO[         R                  " SSSS5      u  pE[         R                  " SSS	S5      u  pgXU/nX%U/n	U R                  S5      (       a*  [	        5       n
U Vs/ s H  oºR                  U5      PM     nn[         R                  " X‰S
S
SS9n[        U5      n[         R                  " SSSS5      u  pEXU/nX%U/n	[        R                  " USS9n[        R                  " U	SS9n[        Xï5      n[        UU5      (       d   eg
s  snf )zCheck QDM with mixed batches.é€   é   FÚcudaé   gš™™™™™¹?Té   gÍÌÌÌÌÌì?N©ÚcacheÚon_hostr   )Úaxis)ÚtmÚmake_regressionÚ
startswithÚmake_sparse_regressionr   ÚarrayÚIteratorForTestr   ÚnpÚconcatenater   )r   ÚX_0Úy_0Ú_ÚX_1Úy_1ÚX_2Úy_2ÚXÚyÚcpÚbatchÚitÚXy_0ÚX_arrÚy_arrÚXy_1s                    Ú\/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/xgboost/testing/data_iter.pyÚrun_mixed_sparsityr3      sE  € ä×$Ò$ S¨"¨eÓ4�K€CˆaØ×Ñ˜× Ñ Ü×,Ò,¨S°"°c¸4Ó@‰ˆˆSä×,Ò,¨S°"°c¸5ÓA‰ˆÜ×(Ò(¨¨b°#°tÓ<�H€CØ	�3ˆ€AØ	�3ˆ€Aà×Ñ˜× Ñ Ü‹]ˆá*+Ó,ª! �X‰X�eŽ_©!ˆÐ,ä	×	Ò	˜A $¨d¸EÑ	B€BÜ˜2Ó€Dä×(Ò(¨¨b°#°tÓ<�H€CØ	�3ˆ€AØ	�3ˆ€AÜ�NŠN˜1 1Ñ%€EÜ�NŠN˜1 1Ñ%€EÜ˜5Ó(€Dä˜4 ×&Ñ&Ð&Ñ&ùò -s   Â0Ec                 ó�  ^ •  " U 4S jS[         5      nU" 5       nSSKnUR                  [        SS9   [	        USS9  SSS5        UR                  [        SS9   [        USS9  SSS5        UR                  [        S	S9   [        USS9  SSS5        g! , (       d  f       N]= f! , (       d  f       NG= f! , (       d  f       g= f)
z3Check error message for inconsistent feature types.c                   óP   >^ • \ rS rSrSU 4S jjrS\S\4U4S jjrSS jrSr	U =r
$ )	Ú2check_invalid_cat_batches.<locals>._InvalidCatIteré.   r   c                 ó.   >• [         TU ]  S S9  SU l        g )N©Úcache_prefixr   )ÚsuperÚ__init__Ú_it)ÚselfÚ	__class__s    €r2   r<   Ú;check_invalid_cat_batches.<locals>._InvalidCatIter.__init__/   s   ø€ Ü‰GÑ¨$ÐÑ/ØˆD�Hó    Ú
input_datac           	      ó  >• U R                   S:X  a  g[        R                  " SSSSSU R                   S:X  a  SOSS	9u  p#TS
:X  a*  SS KnSS KnUR                  U5      nUR                  U5      nU" X#S9  U =R                   S-  sl         g)Nr   Fé@   é   é   g      à?r   g      ð?)ÚonehotÚsparsityÚ	cat_ratior   ©ÚdataÚlabelr   T)r=   r   Úmake_categoricalÚcudfÚcupyÚ	DataFramer   )r>   rB   r)   r*   rN   rO   r   s         €r2   ÚnextÚ7check_invalid_cat_batches.<locals>._InvalidCatIter.next3   s„   ø€ Ø�x‰x˜1‹}ØÜ×&Ò&ØØØØØØ!%§¡¨Q£™#°Cñ‰DˆAð ˜ÓÛÛà—N‘N 1Ó%�Ø—J‘J˜q“M�á˜AÒ'Ø�HŠH˜‰M�HØrA   c                 ó   • SU l         g ©Nr   ©r=   ©r>   s    r2   ÚresetÚ8check_invalid_cat_batches.<locals>._InvalidCatIter.resetI   s	   € ØˆD�HrA   rU   ©r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r<   r   ÚboolrQ   rW   Ú__static_attributes__Ú__classcell__)r?   r   s   @€r2   Ú_InvalidCatIterr6   .   s%   ù† ÷	ð	 8ð 	°÷ 	÷,	ò 	rA   ra   r   Nz)Inconsistent number of categories between)ÚmatchT)Úenable_categoricalzInconsistent feature types)r   ÚpytestÚraisesÚ
ValueErrorr
   r   r	   )r   ra   r-   rd   s   `   r2   Úcheck_invalid_cat_batchesrg   +   s¤   ø€ ÷œ(ô ñ< 
Ó	€BÛà	�‰”zÐ)TˆÒ	UÜ˜b°TÒ:÷ 
Vð 
�‰”zÐ)TˆÒ	UÜ˜¨tÒ4÷ 
Vð 
�‰”zÐ)EˆÒ	FÜ� tÒ,÷ 
GÐ	F÷ 
VÕ	Uú÷ 
VÕ	Uú÷ 
GÕ	Fús#   ³BÁB&ÂB7Â
B#Â&
B4Â7
Cc           	      óæ  • S Vs/ s H  n[         R                  " USU S:H  S9PM     nn[        [        U6 5      n[         R                  " US   US   SSS	S
9n[        U5      nUR                  5       S:X  d   eUR                  5       [        S US    5       5      :X  d   e[        U5      nUR                  5       S:X  d   eUR                  5       [        S US    5       5      :X  d   egs  snf )z'Tests for having irregular data shapes.)r   r   i   r   r   )Úuse_cupyr   r   Nr   Tr   c              3   ó>   #   • U  H  oR                   S    v •  M     g7f©r   N©Úshape©Ú.0Úxs     r2   Ú	<genexpr>Ú%check_uneven_sizes.<locals>.<genexpr>d   ó   é € Ð<²8¨aŸw™w qžz²8ùó   ‚c              3   ó>   #   • U  H  oR                   S    v •  M     g7frk   rl   rn   s     r2   rq   rr   h   rs   rt   )
r   r   ÚlistÚzipr   r	   Únum_colÚnum_rowÚsumr
   )r   Ú	n_samplesÚbatchesÚunzipr-   ÚXys         r2   Úcheck_uneven_sizesr   Y   sî   € ñ *óâ)ˆIô 	×Ò˜9 b°6¸VÑ3CÔDÙ)ð ð ô ”�g�Ó€EÜ	×	Ò	˜E !™H e¨A¡h°¸GÈTÑ	R€Bä	�‹€BØ�:‰:‹<˜2ÓÐÐØ�:‰:‹<œ3Ñ<°5¸²8Ó<Ó<Ó<Ð<Ð<ä	˜rÓ	"€BØ�:‰:‹<˜2ÓÐÐØ�:‰:‹<œ3Ñ<°5¸²8Ó<Ó<Ó<Ð<Ñ<ùòs   …#C.c                   óˆ   ^ • \ rS rSrSrS\S\S\S\S\S\S	\S
\S\	\   SS4U 4S jjr
S\4S jrS\S\4S jrSS jrSrU =r$ )ÚCatIterék   z-An iterator for testing categorical features.Ún_samples_per_batchÚ
n_featuresÚ	n_batchesÚn_catsrH   rI   rG   r   r   r   Nc          	      ó‚  >• [         TU ]  U	S9  X0l        X€l        X-  n
[        R
                  " U
UUUUUS9u  p¼/ / píSn[        U5       HS  n[        XU-
  5      nUR                  XÿU-   2S S 24   nUR                  U5        UR                  XÏUU-    5        Xñ-  nMU     XÐl
        Xàl        X°l        XÀl        SU l        g )Nr9   )Ún_categoriesrG   rI   rH   r   )r;   r<   r…   r   r   rM   ÚrangeÚminÚilocÚappendÚxsÚysrp   r*   r=   )r>   rƒ   r„   r…   r†   rH   rI   rG   r   r   r{   Úcatr*   r�   rŽ   Úprevr$   Únr)   r?   s                      €r2   r<   ÚCatIter.__init__n   sÖ   ø€ ô 	‰Ñ eÐÑ,Ø"ŒØŒà'Ñ3ˆ	Ü×$Ò$ØØØØØØñ
‰ˆð �RˆBàˆÜ�yÖ!ˆAÜÐ'°TÑ)9Ó:ˆAØ—‘˜ q¡˜ª!Ð+Ñ,ˆAØ�I‰I�aŒLØ�I‰I�a˜t a™xÐ(Ô)ØÑ'ŠDñ "ð ŒØŒàŒØŒàˆ�rA   c                 ó2   • U R                   U R                  4$ )zReturn the concatenated data.)rp   r*   rV   s    r2   ÚxyÚ
CatIter.xyš   s   € à�v‰v�t—v‘vˆ~ÐrA   rB   c                 óF  • U R                   U R                  :X  a  gU R                  U R                      U R                  U R                      p2U R                  S:X  a*  SS KnSS KnUR                  U5      nUR                  U5      nU" X#S9  U =R                   S-  sl         g)NFr   r   rJ   r   T)	r=   r…   r�   rŽ   r   rN   rO   rP   r   )r>   rB   r)   r*   rN   rO   s         r2   rQ   ÚCatIter.nextž   s{   € Ø�8‰8�t—~‘~Ó%Øà�w‰w�t—x‘xÑ  $§'¡'¨$¯(©(Ñ"3ˆ1Ø�;‰;˜&Ó ÛÛà—‘˜qÓ!ˆAØ—
‘
˜1“ˆAÙ˜Ò#Ø�Š�A‰�ØrA   c                 ó   • SU l         g rT   rU   rV   s    r2   rW   ÚCatIter.reset­   s	   € Øˆ�rA   )r=   r   r…   rp   r�   r*   rŽ   rY   )rZ   r[   r\   r]   Ú__doc__ÚintÚfloatr^   Ústrr   r<   Útupler”   r   rQ   rW   r_   r`   )r?   s   @r2   r�   r�   k   s›   ø† Ù7ð*à ð*ð ð*ð
 ð*ð ð*ð ð*ð ð*ð ð*ð ð*ð ˜‰}ð*ð 
÷*ðX�Eô ð˜xð ¨Dô ÷ò rA   r�   )rš   Útypingr   r   Únumpyr    Úxgboostr   r   Úcompatr   Úcorer   r	   r
   r   Úutilsr   r�   r3   rg   r   r�   © rA   r2   Ú<module>r¦      se   ðÙ 0ç %ã å !å  ß LÓ LÝ "ð'˜sð ' tô 'ð:+- cð +-¨dô +-ð\=˜sð = tô =ô$Cˆhõ CrA   