ó
    uñ:i¡  ã                   ó`   • S r SSKrSSKrSSKJr  SSKrSSKJ	r	J
r
  S\SS4S jrS\SS4S	 jrg)
zQuantileDMatrix related tests.é    N)Útrain_test_splité   )Úmake_batchesÚmake_categoricalÚdeviceÚreturnc           	      ó,  • S [        SSSU R                  S5      S9 5       u  pn[        X5      u  pEpg[        R                  " XF5      n[        R                  " XWUS9n	UR                  5       n
U	R                  5       n[        R                  R                  U
S   US   5        [        R                  R                  U
S   US   5        [        R                  " XW5      n	U	R                  5       n[        R                  " U
S   US   5      (       a   eg	)
z6Check obtaining the same cut values given a reference.c              3   ó,   #   • U  H
  nUS    v •  M     g7f)r   N© )Ú.0Údatas     Úc/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/xgboost/testing/quantile_dmatrix.pyÚ	<genexpr>Ú)check_ref_quantile_cut.<locals>.<genexpr>   s   é € ð ò
ˆDð 	ˆQŽò
ùs   ‚i    é   r   Úcuda)Ún_samples_per_batchÚ
n_featuresÚ	n_batchesÚuse_cupy)Úrefr   N)
r   Ú
startswithr   ÚxgbÚQuantileDMatrixÚget_quantile_cutÚnpÚtestingÚassert_allcloseÚallclose)r   ÚXÚyÚ_ÚX_trainÚX_validÚy_trainÚy_validÚXy_trainÚXy_validÚ	cut_trainÚ	cut_valids               r   Úcheck_ref_quantile_cutr+      sø   € ñä Ø $ØØØ×&Ñ& vÓ.ò	
ó�G€Aˆ!ô *:¸!Ó)?Ñ&€G�gÜ×"Ò" 7Ó4€HÜ×"Ò" 7¸ÑB€Hà×)Ñ)Ó+€IØ×)Ñ)Ó+€Iä‡J�J×Ñ˜y¨™|¨Y°q©\Ô:Ü‡J�J×Ñ˜y¨™|¨Y°q©\Ô:ä×"Ò" 7Ó4€HØ×)Ñ)Ó+€IÜ�{Š{˜9 Q™<¨°1©×6Ñ6Ð6Ð6Ð6ó    c           
      ó†  • U S:X  a  [         R                  " S5      nO[         R                  " S5      nSn[        SSUS[        R                  SS	S
9u  p4UR                  U5      n[        R                  " X4S	S9nUR                  5       S:X  d   eUR                  5       nUS   nUS   n[        S[        U5      5       H~  n	U	S-
  n
[        X3R                  U
      R                  UR                  5      (       d  M>  Xz   Xy   pËX‹U n[        R                   R#                  U[        R$                  " SU5      5        M€     g)zCheck string inputs.ÚcpuÚpandasÚcudfé    i   é   Fg      à?T)ÚonehotÚ	cat_dtypeÚ	cat_ratioÚshuffle)Úenable_categoricalr   r   N)ÚpytestÚimportorskipr   r   Ústr_Ú	DataFramer   r   Únum_colr   ÚrangeÚlenÚ
isinstanceÚcolumnsÚdtypeÚCategoricalDtyper   r   Úarange)r   ÚpdÚn_categoriesr    r!   ÚXyÚcutsÚindptrÚvaluesÚiÚf_idxÚbegÚendÚcols                 r   Úcheck_categorical_stringsrO   '   s  € à�ƒÜ× Ò  Ó*‰ä× Ò  Ó(ˆà€LÜØØ	ØØÜ—'‘'ØØñ�D€Að 	�‰�Q‹€Aä	×	Ò	˜Q°dÑ	;€BØ�:‰:‹<˜1ÓÐÐØ×ÑÓ €DØ�!‰W€FØ�!‰W€FÜ�1”c˜&“kÖ"ˆØ�A‘ˆÜ�aŸ	™	 %Ñ(Ñ)×/Ñ/°×1DÑ1D×EÓEØ‘} f¡i�Ø˜S�/ˆCÜ�J‰J×&Ñ& s¬B¯IªI°a¸Ó,FÖGò #r,   )Ú__doc__Únumpyr   r8   Úsklearn.model_selectionr   Úxgboostr   r   r   r   Ústrr+   rO   r   r,   r   Ú<module>rU      s@   ðÙ $ã Û Ý 4ã ç 0ð7 3ð 7¨4ô 7ð6H cð H¨dõ Hr,   