ó
    uñ:i×c  ã                   ó*  • S r SSKrSSKJrJr  SSKJ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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\R@                  S\
\!   4S j5       r"\S\RF                  S\
\!   4S j5       r"\S\	\$\4   S\
\!   4S j5       r"S\\R@                  \RF                  \	4   S\
\!   4S jr"S\$S\SS4S jr%S\$S\&S\SS4S jr'S\(S\(S\(S\$S\$SS4S jr)S\(S\(S\(S\(S\$S\&S\&SS4S jr*S \(S!\RV                  S"\RV                  S#\SS4
S$ jr,S\$S%\&SS4S& jr-S\$S\$SS4S' jr.\R^                  " \R`                  5      Rb                  r2S
r3S(\(S\(S)\(S\$S*\!S\$S+\&S,\&S-\&S\Rh                  4S. jr5S/\(S0\(S1\(S2\(S\$S\$S,\&SS4S3 jr6S/\(S0\(S2\(S\$S\$S,\&SS4S4 jr7S\$S\SS4S5 jr8S\$S\SS4S6 jr9S\$S\&S\SS4S7 jr:S8\	\$\4   S9\Rh                  S:\(S\	\$\4   4S; jr; " S< S=\Rx                  Rz                  5      r>g)>zTests for updaters.é    N)ÚpartialÚupdate_wrapper)Úascii_lowercase)ÚAnyÚDictÚListÚOptionalÚUnionÚoverload)Ú_parse_version)Úis_pd_cat_dtypeé   )ÚDataIteré   )ÚCatIter)ÚDeviceÚmodelÚreturnc                 ó   • g ©N© ©r   s    ÚZ/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/xgboost/testing/updater.pyÚget_basescorer      s   € Ø7:ó    c                 ó   • g r   r   r   s    r   r   r      s   € Ø69r   c                 ó   • g r   r   r   s    r   r   r      s   € Ø9<r   c                 ó(  • [        U [        R                  5      (       a  U R                  5       n [        U [        5      (       a  U S   S   S   nO-[
        R                  " U R                  5       5      S   S   S   n[
        R                  " U5      $ )z1Get base score from an XGBoost sklearn estimator.ÚlearnerÚlearner_model_paramÚ
base_score)Ú
isinstanceÚxgbÚXGBModelÚget_boosterÚdictÚjsonÚloadsÚsave_config)r   Ú
jintercepts     r   r   r   !   s€   € ô �%œŸ™×&Ñ&Ø×!Ñ!Ó#ˆä�%œ×ÑØ˜9Ñ%Ð&;Ñ<¸\ÑJ‰
ä—Z’Z × 1Ñ 1Ó 3Ó4°YÑ?Ð@UÑVØñ
ˆ
ô �:Š:�jÓ!Ð!r   Útree_methodÚdevicec                 óZ  ^ ^• SSK JnJnJn  S[        R
                  S[        R
                  SS4UU 4S jjnU" SS	S
9u  pgU" Xg5        U" SSS	S9u  pgU" Xg5         SS[        R
                  S[        R
                  S[        [        R
                     S[        [           4UU 4S jjjnU" SS	S
9u  pgU" Xg5        U" SSSS	S9u  pgU" Xg5        U" SS	SSSS9u  pgU" Xg5      n	[        R                  R                  [        R                  " U	5      S5        [        R                  " [        R                  " U	5      S:„  5      (       d   e[        R                  " U[        R                  " [        R                   " U5      [        R                  " [        R"                  " [        R$                  5      R&                  /5      /5      S9S   UR(                  S   -  n
[        R                  R                  Xš5        [        R*                  R-                  S5      nUR/                  SSUR(                  S   4S9nU" XgU5      n	[        R                  R                  [        R                  " U	5      S5        [        R                  " [        R                  " U	5      S:„  5      (       d   eg)zTest for init estimation.r   )Úmake_classificationÚmake_multilabel_classificationÚmake_regressionÚXÚyr   Nc                 ó,  >• [         R                  " T
SST	S9nUR                  XX4/S9  [        U5      nUR	                  5       S   S   S   nUR
                  S:X  a  SOUR                  S   n[        R                  " U4S[        R                  S9n[         R                  " T
T	SSUS	9nUR                  XX4/S9  [        U5      nUR	                  5       S   S   S   n[        R                  " X75      R                  5       (       a   eXH:  d   eg )
Nr   ©r+   Ú	max_depthÚn_estimatorsr,   ©Úeval_setÚvalidation_0Úrmser   ç      à?©ÚshapeÚ
fill_valueÚdtype)r+   r,   r5   r6   r!   )r#   ÚXGBRegressorÚfitr   Úevals_resultÚndimr=   ÚnpÚfullÚfloat32ÚiscloseÚany)r1   r2   ÚregÚbase_score_0Úscore_0Ú	n_targetsÚ	interceptÚbase_score_1Úscore_1r,   r+   s            €€r   Úrun_regÚ&check_init_estimation.<locals>.run_reg:   s  ø€ Ü×ÒØ#¨q¸qÈñ
ˆð 	�‰�  ˜xˆÑ(Ü$ SÓ)ˆØ×"Ñ"Ó$ ^Ñ4°VÑ<¸QÑ?ˆàŸ™ 1›‘A¨!¯'©'°!©*ˆ	Ü—G’G 9 ,¸3ÄbÇjÁjÑQˆ	Ü×ÒØ#ØØØØ ñ
ˆð 	�‰�  ˜xˆÑ(Ü$ SÓ)ˆØ×"Ñ"Ó$ ^Ñ4°VÑ<¸QÑ?ˆÜ—:’:˜lÓ9×=Ñ=×?Ñ?Ð?Ð?ØÓ Ð Ñ r   é   é   )Ú	n_samplesÚrandom_stateé   )rT   rL   rU   Úwc                 ó@  >• [         R                  " TSST
S9nUb  UR                  XX U4/U/S9  OUR                  XX4/S9  [        U5      nUR                  S:X  a  UR                  5       S   S   S   nOUR                  5       S   S	   S   nUR                  S:X  a  SOUR                  S   n[        R                  " U4S
[        R                  S9n[         R                  " TSST
US9nUb  UR                  XX U4/U/S9  OUR                  XX4/S9  [        U5      nUR                  S:X  a  UR                  5       S   S   S   n	OUR                  5       S   S	   S   n	[        R                  " XH5      R                  5       (       a   eXYS-   :  d   eU$ )Nr   r4   )Úsample_weightr8   Úsample_weight_eval_setr7   r   r9   Úloglossr   Úmloglossr;   r<   )r+   r5   r6   r,   r!   g-Cëâ6?)r#   ÚXGBClassifierrA   r   Ú
n_classes_rB   rC   r=   rD   rE   rF   rG   rH   )r1   r2   rW   ÚclfrJ   rK   rL   rM   rN   rO   r,   r+   s             €€r   Úrun_clfÚ&check_init_estimation.<locals>.run_clfY   sÀ  ø€ ô ×ÒØ#¨q¸qÈñ
ˆð ‰=Ø�G‰GØ A°Q°°ÐRSÐQTð ò ð �G‰G�A Q F 8ˆGÑ,Ü$ SÓ)ˆØ�>‰>˜QÓØ×&Ñ&Ó(¨Ñ8¸ÑCÀAÑF‰Gà×&Ñ&Ó(¨Ñ8¸ÑDÀQÑGˆGàŸ™ 1›‘A¨!¯'©'°!©*ˆ	Ü—G’G 9 ,¸3ÄbÇjÁjÑQˆ	Ü×ÒØ#ØØØØ ñ
ˆð ‰=Ø�G‰GØ A°Q°°ÐRSÐQTð ò ð �G‰G�A Q F 8ˆGÑ,Ü$ SÓ)ˆØ�>‰>˜QÓØ×&Ñ&Ó(¨Ñ8¸ÑCÀAÑF‰Gà×&Ñ&Ó(¨Ñ8¸ÑDÀQÑGˆGÜ—:’:˜lÓ9×=Ñ=×?Ñ?Ð?Ð?Ø 4™Ó'Ð'Ð'àÐr   é   )rT   Ún_labelsÚ	n_classesrU   é   )rT   rU   rd   Ún_informativeÚn_redundantç      ð?)ÚbinséÊ  r   ©ÚlowÚhighÚsizer   )Úsklearn.datasetsr.   r/   r0   rD   Úndarrayr	   r   ÚfloatÚtestingÚassert_allcloseÚsumÚallÚarrayÚ	histogramÚconcatenateÚuniqueÚfinforF   Úmaxr=   ÚrandomÚdefault_rngÚuniform)r+   r,   r.   r/   r0   rP   r1   r2   r`   rM   Únp_intÚrngrW   s   ``           r   Úcheck_init_estimationr�   2   s8  ù€ ÷ñ ð!”2—:‘:ð !¤"§*¡*ð !°÷ !ð !ñ0  T¸Ñ;�D€AÙˆA„Má T°QÀRÑH�D€AÙˆA„Mð AEñ)Ü�:‰:ð)ÜŸ*™*ð)Ü)1´"·*±*Ñ)=ð)ä	Œe‰÷)ñ )ñX ¨¸BÑ?�D€AÙˆA„MÙ)Ø ¨a¸bñ�D€Añ ˆA„MáØ R°1ÀBÐTUñ�D€Añ ˜“€IÜ‡J�J×ÑœrŸvšv iÓ0°#Ô6Ü�6Š6”"—(’(˜9Ó%¨Ñ)×*Ñ*Ð*Ð*ä
�ŠØ”B—N’N¤B§I¢I¨a£L´"·(²(¼B¿HºHÄRÇZÁZÓ<P×<TÑ<TÐ;UÓ2VÐ#WÓXñ	
à
ñ	ð �'‰'�!‰*ñ	ð ô ‡J�J×Ñ˜yÔ1ä
�)‰)×
Ñ
 Ó
%€CØ�‰˜ ¨¯©°©¨ˆÐ6€AÙ˜˜aÓ €IÜ‡J�J×ÑœrŸvšv iÓ0°#Ô6Ü�6Š6”"—(’(˜9Ó%¨Ñ)×*Ñ*Ð*Ñ*r   Úweightedc                 óv  • SSK Jn  SSKJn  SSKJn  SnSnSn[        R                  R                  S5      n	U" UUU	S9u  p«U(       a  U	R                  US	9nOS
n[        R                  " X«US9n[        R                  " SS/5      n[        R                  " UR                  [        R                  S9n0 n[        R                  " SU UUUS.UUUS4/US9nUR!                  USS9n["        R$                  " US   S   5      (       d   eUS   S   S   S:  d   e['        UR(                  5       Vs/ s H   nU" [+        [-        XLUU   S9U5      5      PM"     nn[        R.                  " UR                  5      n['        UR                  S   5       HÐ  nUU   n[        R                  " SU UUUU   S.UUUS4/UU   US9n["        R$                  " US   S   5      (       d   eUS   S   S   S:  d   e[        R0                  R3                  [        R                  " US   S   5      [        R                  " US   S   5      SSS9  UR!                  U5      US
S
2U4'   MÒ     ['        UR                  S   5       H1  n[        R0                  R3                  US
S
2U4   US
S
2U4   5        M3     g
s  snf )zTest for quantile loss.r   ©r0   )Úmean_pinball_loss)Ú_metric_decoratorrR   é   rj   )rT   Ú
n_featuresrU   ©rn   N©Úweightgš™™™™™¹?r;   )r=   r?   úreg:quantileerror)Ú	objectiver+   r,   Úquantile_alphar!   ÚTrain©Únum_boost_roundÚevalsrB   T)Ústrict_shapeÚquantileéÿÿÿÿç      4@)rY   Úalpha)r‘   r’   Úcustom_metricrB   g      >@r…   g�íµ ÷Æ°>)ÚatolÚrtol)ro   r0   Úsklearn.metricsr…   Úxgboost.sklearnr†   rD   r|   ÚRandomStater#   ÚQuantileDMatrixrv   Úzerosr=   rF   ÚtrainÚpredictÚtmÚnon_increasingÚrangern   r   r   Úemptyrr   rs   )r+   r‚   r,   r0   r…   r†   rT   rˆ   r6   r€   r1   r2   r‹   ÚXyr—   r!   rB   Úbooster_multiÚpredt_multiÚiÚmetricsÚpredtsÚaÚ	booster_is                           r   Úcheck_quantile_lossr®   ¢   sØ  € å0Ý1å1à€IØ€JØ€Lä
�)‰)×
Ñ
 Ó
%€CáØØØñ�D€Aö
 Ø—‘ �Ð+‰àˆä	×	Ò	˜Q¨&Ñ	1€Bä�HŠH�c˜3�ZÓ €Eô —’ §¡´2·:±:Ñ>€JØ$&€LÜ—I’Ià,Ø&ØØ#Ø$ñ	
ð 	Ø$Ø�Gˆ}ˆoØ!ñ€Mð  ×'Ñ'¨¸Ð'Ð>€Kä×Ò˜\¨'Ñ2°:Ñ>×?Ñ?Ð?Ð?Ø˜Ñ  Ñ,¨RÑ0°4Ó7Ð7Ð7ô �u—z‘zÔ"óò #ˆAñ 	ÜÜÐ)ÀuÈQÁxÑPØ!óö	
ñ #ð ð ô �XŠX�k×'Ñ'Ó(€FÜ�5—;‘;˜q‘>Ö"ˆØ�!‰Hˆä—I’Ià0Ø*Ø Ø"#Ø(¨™mñð Ø(Ø˜�=�/Ø! !™*Ø%ñ
ˆ	ô × Ò  ¨gÑ!6°zÑ!B×CÑCÐCÐCØ˜GÑ$ ZÑ0°Ñ4°tÓ;Ð;Ð;Ü
�
‰
×"Ñ"Ü�HŠH�\ 'Ñ*¨:Ñ6Ó7Ü�HŠH�\ 'Ñ*Ð+>Ñ?Ó@ØØð	 	#ñ 	
ð !×(Ñ(¨Ó,ˆŠq�!ˆt‹ñ3 #ô6 �5—;‘;˜q‘>Ö"ˆÜ
�
‰
×"Ñ" 6ª!¨Q¨$¡<°ºQÀ¸TÑ1BÖCò #ùòMs   Ä3'J6Ún_samples_per_batchrˆ   Ú	n_batchesc           	      óÊ  • [         R                  " [         R                  " XX$S:g  5      SSS.6n[        R                  " U5      nUSUSS/S.n[        R
                  " Xv5      nUR                  5       u  pšn[        R                  " XšUS	9n[        R
                  " X|5      nUR                  U5      nUR                  U5      n[        R                  R                  Xþ5        g
)z2Check external memory with the quantile objective.ÚcpuÚcacheF©r³   Úon_hostrŒ   gš™™™™™É?çš™™™™™é?)r+   r�   r,   rŽ   rŠ   N)r¢   ÚIteratorForTestÚmake_batchesr#   ÚDMatrixr    Ú	as_arraysr¡   rD   rr   rs   )r¯   rˆ   r°   r+   r,   ÚitÚXy_itÚparamsÚ
booster_itr1   r2   rW   r¦   ÚboosterÚpredt_itÚpredts                   r   Úcheck_quantile_loss_extmemrÂ   ü   sÀ   € ô 
×	Ò	Ü	�ŠÐ,¸)ÈuÁ_Ó	UØØò
€Bô
 �KŠK˜‹O€Eà"Ø(ØØ ˜*ñ	€Fô —’˜6Ó)€JØ�l‰l‹n�G€Aˆ!Ü	�Š�Q !Ñ	$€BÜ�iŠi˜Ó#€Gà×!Ñ! %Ó(€HØ�O‰O˜BÓ€Eä‡J�J×Ñ˜uÕ/r   Ún_binsrµ   Úis_catc                óÄ  • U(       a  [        U UUSSSSUSS9	nO-[        R                  " [        R                  " XX$S:g  S9SUS	.6n[        R
                  " XsUS
9n[        R                  " [        SS9   [        R                  " USUS.USS9n	SSS5        [        R                  " XCS.USS9n	U(       a  [        U UUSSSSUSS9	nO,[        R                  " [        R                  " XX$S:g  S9SS06n[        R                  " XsUS
9n
[        R                  " XCS.U
S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        U	R                  U5      nUR                  U
5      n[        R                  R                  Xï5        g! , (       d  f       GNG= f)z+Basic test for the `ExtMemQuantileDMatrix`.rb   ç        r;   Fr³   )	r¯   rˆ   r°   Ún_catsÚsparsityÚ	cat_ratioÚonehotr,   r³   r²   ©Úuse_cupyr´   ©Úmax_binÚenable_categoricalzOnly the `hist`)ÚmatchÚapprox)r,   r+   rÎ   r‡   ©r‘   N)r,   rÎ   r   r   )r   r¢   r·   r¸   r#   ÚExtMemQuantileDMatrixÚpytestÚraisesÚ
ValueErrorr    rž   Úget_quantile_cutrD   rr   rs   r¡   )r¯   rˆ   r°   rÃ   r,   rµ   rÄ   r»   r¼   r¾   r¦   r¿   Úcut_itÚcutrÀ   rÁ   s                   r   Úcheck_extmem_qdmrÚ     sÎ  € ö ÜØ 3Ø!ØØØØØØØñ

‰ô ×ÒÜ�_Š_Ø#°ÈuÁ_ñð Øò
ˆô ×%Ò% bÈVÑT€EÜ	�Š”zÐ):Ó	;Ü—Y’YØ¨hÀ6ÑJØØñ
ˆ
÷ 
<ô —’ØÑ-¨uÀañ€Jö ÜØ 3Ø!ØØØØØØØñ

‰ô ×ÒÜ�_Š_Ø#°ÈuÁ_ñð
ð ñ	
ˆô 
×	Ò	˜RÀFÑ	K€BÜ�iŠi 6Ñ=¸rÐSTÑU€Gà×#Ñ#Ó%€FØ
×
Ñ
Ó
€CÜ‡J�J×Ñ˜v a™y¨#¨a©&Ô1Ü‡J�J×Ñ˜v a™y¨#¨a©&Ô1à×!Ñ! %Ó(€HØ�O‰O˜BÓ€EÜ‡J�J×Ñ˜xÕ/÷O 
<Ö	;ús   Á5GÇ
GÚ	n_entriesÚindptrÚdataÚdtypesc                 óÄ  • UR                   S   US   :X  d   eUR                   S   U :X  d   eUR                  [        R                  :X  d   e[	        SUR
                  5       Hy  n[        XS-
     5      n[        X   5      n[	        US-   U5       HF  nX'   X'S-
     :”  d   e[        UR                  US-
     5      (       d  M4  X'   X'S-
     S-   :X  a  MF   e   M{     g)zCheck the cut values.r   r•   r   N)	r=   r?   rD   Úuint64r¤   rn   Úintr   Úiloc)rÛ   rÜ   rÝ   rÞ   r©   ÚbegÚendÚjs           r   Ú	check_cutræ   g  s×   € ð �:‰:�a‰=˜F 2™JÓ&Ð&Ð&Ø�:‰:�a‰=˜IÓ%Ð%Ð%à�<‰<œ2Ÿ9™9Ó$Ð$Ð$Ü�1�f—k‘kÖ"ˆÜ�&˜Q™‘-Ó ˆÜ�&‘)‹nˆÜ�s˜Q‘w Ö$ˆAØ‘7˜T a¡%™[Ó(Ð(Ð(Ü˜vŸ{™{¨1¨q©5Ñ1×2Ó2Ø‘w $¨1¡u¡+°¡/Õ1Ð1Ð1ó %ò #r   rÌ   c           	      ó€  • SSK nSnSnSnUR                  [        R                  /U-  5      n[        R
                  " X4US9u  pxn	[        R                  " XxX•S9n
U
R                  5       u  p¼[        US-   U-  X¼U5        [        R                  " XxU	S	9n
[        R                  " XS
.U
5        U
R                  5       u  p¼[        US-   U-  X¼U5        SnSn[        R                  " [        R                  " XäXÑ5      SSS.6n[        R                  " U5      n[        R                  " XS
.U
5        U
R                  5       u  p¼[        US-   U-  X¼U5        Sn[        R                  " X4USSS9u  pxU(       a*  SSKnSSKnUR#                  U5      nUR%                  U5      n[        R                  " XxUSS9nUR                  5       u  p¼[        UU-  X¼UR&                  5        [        R                  " XxSS9n[        R                  " XS
.U5        UR                  5       u  p¼[        UU-  X¼UR&                  5        [        R                  " X4USSSS9u  px[)        UR&                   Vs/ s H  n[+        U5      (       d  M  SPM     sn5      nUU-
  nUU-  US-   U-  -   n[        R                  " XxUSS9nUR                  5       u  p¼[        UX¼UR&                  5        [        R                  " XxSS9n[        R                  " XS
.U5        UR                  5       u  p¼[        UX¼UR&                  5        gs  snf )zCheck with optional cupy.r   Ni   é   é   rË   )r‹   rÎ   r   rŠ   )r+   rÎ   rV   é   r³   Fr´   é    r¶   )rÊ   rÈ   TrÍ   ©rÏ   r;   )rÊ   rÈ   rÉ   )ÚpandasÚSeriesrD   rF   r¢   r0   r#   rž   r×   ræ   r¹   r    r·   r¸   Úmake_categoricalÚcudfÚcupyÚfrom_pandasrv   rÞ   Úlenr   )r+   rÌ   ÚpdrT   rˆ   rÎ   rÞ   r1   r2   rW   ÚXywrÜ   rÝ   r°   r¯   r»   r¦   Ún_categoriesrð   Úcpr?   Ún_cat_featuresÚn_num_featuresrÛ   s                           r   Úcheck_get_quantile_cut_devicerú   x  sã  € ãà€IØ€JØ€GØ�Y‰YœŸ
™
�| jÑ0Ó1€Fô × Ò  ÀÑJ�G€Aˆ!ä×*Ò*¨1¸ÑK€CØ×'Ñ'Ó)�L€FÜˆw˜‰{˜jÑ(¨&¸Ô?ä
�+Š+�a 1Ñ
%€CÜ‡I‚I˜kÑ>ÀÔDØ×'Ñ'Ó)�L€FÜˆw˜‰{˜jÑ(¨&¸Ô?à€IØÐÜ	×	Ò	Ü	�ŠÐ,¸)Ó	NØØò
€Bô
 —k’k "“o€BÜ‡I‚I˜kÑ>ÀÔDØ×'Ñ'Ó)�L€FÜˆw˜‰{˜jÑ(¨&¸Ô?ð €LÜ×ÒØ˜|°EÀCñ�D€Aö ÛÛà×Ñ˜QÓˆØ�H‰H�Q‹Kˆä	×	Ò	˜Q¨7ÀtÑ	L€BØ×&Ñ&Ó(�L€FÜˆl˜ZÑ'¨°q·x±xÔ@ä	�Š�Q¨dÑ	3€BÜ‡I‚I˜kÑ>ÀÔCØ×&Ñ&Ó(�L€FÜˆl˜ZÑ'¨°q·x±xÔ@ô ×ÒØ˜|°EÀCÐSVñ�D€Aô ¨¯ªÓLª ´_ÀU×5KŸ!©ÑLÓM€NØ .Ñ0€NØ˜~Ñ-°¸1±ÀÑ0NÑN€Iä	×	Ò	˜Q¨7ÀtÑ	L€BØ×&Ñ&Ó(�L€FÜˆi˜ q§x¡xÔ0ä	�Š�Q¨dÑ	3€BÜ‡I‚I˜kÑ>ÀÔCØ×&Ñ&Ó(�L€FÜˆi˜ q§x¡xÕ0ùò Ms   É,L;ÊL;c                 óf   • UR                  S5      n[        U S5        U(       a  [        U S5        gg)zCheck the quantile cut getter.ÚcudaFTN)Ú
startswithrú   )r+   r,   rÌ   s      r   Úcheck_get_quantile_cutrþ   À  s0   € ð × Ñ  Ó(€HÜ! +¨uÔ5ÞÜ% k°4Õ8ð r   rT   rÇ   rÈ   rÊ   ÚextmemrÏ   c                óT  • [        [        SU 5      S5      n	[        X	-  UU	USUUUU(       a  SOS S9	n
U(       aG  US:X  a  [        R                  " X¨S9nU$ US:X  a  [        R
                  " X¨S9nU$ [        S	U S
35      eU
R                  5       u  pÍ[        R
                  " XÍUS9nU$ )Nr   r   rh   r³   )r°   rÈ   rÉ   rÇ   rÊ   r,   r³   Úhistrì   rÑ   ztree_method z not supported.)r{   Úminr   r#   rÓ   r¹   rÖ   Úxy)rT   rˆ   rÇ   r,   rÈ   r+   rÊ   rÿ   rÏ   r°   r»   r¦   ÚcatÚlabels                 r   Ú_create_dmatrixr  Í  sÂ   € ô ”C˜˜9Ó% qÓ)€IÜ	ØÑØØØØØØØÞ‰g Tñ

€Bö Ø˜&Ó Ü!×7Ò7ØñˆBð €Ið ˜HÓ$Ü—’˜RÑGˆBð €Iô	 ˜|¨K¨=¸ÐHÓIÐIà—U‘U“W‰
ˆÜ�[Š[˜Ð8JÑKˆØ€Ir   ÚrowsÚcolsÚroundsÚcatsc                 ó   • 0 n0 nU[         US.n	[        U UUUSSUUSS9	n
[        R                  " U	U
UU
S4/US9  [        U UUUSUSUSS9	n[        R                  " U	UUUS4/US9  [        R
                  R                  [        R                  " US   S	   5      [        R                  " US   S	   5      S
S9  [        R                  " US   S	   5      (       d   e0 n[        U	S'   SU	S'   [        R                  " U	UUUS4/US9  US   S	   nUS   S	   n[        XÞ5       H  u  nnUU:¼  a  M   e   SU	S'   0 n[        R                  " U	USUS4/US9  [        R                  " US   S	   5      (       d   U5       eg)z0Test for one-hot encoding with categorical data.)r+   Úmax_cat_to_onehotr,   rÆ   TF)rÇ   r,   rÈ   rÊ   r+   rÿ   rÏ   r�   r�   )rÇ   r,   rÈ   r+   rÊ   rÿ   rÏ   r:   gü©ñÒMbP?©rš   r  r   Ú
reg_lambdarh   rë   N)Ú
USE_ONEHOTr  r#   r    rD   rr   rs   rv   r¢   r£   ÚUSE_PARTÚzip)r  r  r	  r
  r,   r+   rÿ   Úby_etl_resultsÚby_builtin_resultsÚ
parametersÚ	Xy_onehotÚXy_catÚby_groupingÚrmse_ohÚ
rmse_groupr¬   Úbs                    r   Úcheck_categorical_oher  ô  sý  € ð 9;€NØ<>Ðð #ä'Øñ	"€Jô  ØØØØØØØØØ ñ
€Iô ‡I‚IØØØØ˜7Ð#Ð$Ø#òô ØØØØØØØØØñ
€Fô ‡I‚IØØØØ˜Ð Ð!Ø'òô ‡J�J×ÑÜ
�Š� Ñ(¨Ñ0Ó1Ü
�ŠÐ# GÑ,¨VÑ4Ó5Øð ñ ô
 ×ÒÐ/°Ñ8¸Ñ@×AÑAÐAÐAà57€Kä&.€JÐ"Ñ#Ø €Jˆ|ÑÜ‡I‚IØØØØ˜Ð Ð!Ø òð ! Ñ)¨&Ñ1€GØ˜WÑ% fÑ-€Jä�GÖ(‰ˆˆ1Ø�A�vˆˆvñ )ð  #€Jˆ|ÑØ€KÜ‡I‚IØØØØ˜Ð Ð!Ø òô ×Ò˜[¨Ñ1°&Ñ9×:Ñ:ÐG¸KÓGÑ:r   c                ó¨   ^^^	• XCS.m	[        U UUSUUSUSS9	mTR                  5       mS[        SS4UUU	4S	 jjnU" [        5        U" [        5        g)
z+Check categorical data with missing values.©r+   r,   r;   FT)rÇ   rÈ   r,   r+   rÊ   rÿ   rÏ   r  r   Nc                 ó.  >• U TS'   0 n[         R                  " TTSTS4/US9n[        R                  " US   S   5      (       d   eUR	                  T5      n[        R
                  " TU5      n[        R                  R                  XAS   S   S   SS9  g )	Nr  ré   r�   r�   r:   r•   gñhãˆµøô>r  )	r#   r    r¢   r£   r¡   Úroot_mean_squarerD   rr   rs   )r  rB   r¿   Úy_predtr:   r¦   r  r  s        €€€r   ÚrunÚ&check_categorical_missing.<locals>.runq  s    ø€ à*;ˆ
Ð&Ñ'à(*ˆÜ—)’)ØØØØ˜�=�/Ø%ñ
ˆô × Ò  ¨gÑ!6°vÑ!>×?Ñ?Ð?Ð?Ø—/‘/ "Ó%ˆä×"Ò" 5¨'Ó2ˆÜ
�
‰
×"Ñ" 4°gÑ)>¸vÑ)FÀrÑ)JÐQUÐ"ÒVr   )r  Ú	get_labelrá   r  r  )
r  r  r
  r,   r+   rÿ   r!  r¦   r  r  s
          @@@r   Úcheck_categorical_missingr$  Y  sm   ú€ ð 2=Ñ!O€JÜ	ØØØØØØØØØñ

€Bð �L‰L‹N€EðWœsð W t÷ Wñ Wñ& Œ
„Oñ Œ…Mr   c                 ó  • SSK n[        R                  R                  S5      nSnSnUR	                  [        U5       Vs/ s H/  nSR                  UR                  [        [        5      SS95      PM1     snSS	9SU R                  5       n[        R                  " S
U USS9nUR	                  [        U5      5      n	UR                  XyXy4/S9  [        R                  " UR!                  5       S   S   5      (       d   egs  snf )z6Test data with size smaller than number of categories.r   Néd   rb   Ú rV   r‰   Úcategory)r?   Té
   )rÏ   r+   r,   r6   )r1   r2   r8   r9   r:   )rí   rD   r|   r}   rî   r¤   ÚjoinÚchoiceÚlistr   Úto_framer#   r@   rA   r¢   r£   rB   )
r+   r,   rô   r€   Ún_catÚnr©   r1   rI   r2   s
             r   Úrun_max_catr0  Š  sø   € ãä
�)‰)×
Ñ
 Ó
"€CØ€EØ	€Aà
�	‰	ÜEJÈ5Ä\ÓRÂ\Àˆ�‰�—‘œD¤Ó1¸�Ð:Ö	;Á\ÑRØð 	ð 	ð 	€qð	
÷ ‰(‹*ð ô
 ×
Ò
ØØØØñ	€Cð 	�	‰	”%˜“(Ó€AØ‡G�Gˆa  ˜x€GÑ(Ü×Ò˜S×-Ñ-Ó/°Ñ?ÀÑG×HÑHÐHÑHùò 	Ss   Á 6Dc                 óÔ  • [         R                  R                  5       nUR                  SSSS9R	                  SS5      nUR                  SSSS9n[         R                  " [         R                  5      R                  S-   US	'   [        R                  " X4S
/S-  S9n[        R                  " [        5         [        R                  " XS.U5        SSS5        SUS	'   [        R                  " X4S
/S-  S9n[        R                  " [        5         [        R                  " XS.U5        SSS5        UR                  SSSS9R	                  SS5      nUR                  SSSS9n[        R                  " X4S
/S-  S9n[        R                  " [        5         [        R                  " XS.U5        SSS5        US:X  ab  SSKnUR!                  U5      UR!                  U5      pC[        R                  " [        5         [        R"                  " X4S
/S-  S9nSSS5        gg! , (       d  f       GNY= f! , (       d  f       GN= f! , (       d  f       N›= f! , (       d  f       g= f)z%Test with invalid categorical inputs.r   é   iè  rk   r&  r)  r   )ÚlocÚscalern   )é   é   Úc)Úfeature_typesr  Ni   rü   )rD   r|   r}   ÚintegersÚreshapeÚnormalÚiinfoÚint32r{   r#   r¹   rÔ   rÕ   rÖ   r    rñ   rv   rž   )r+   r,   r€   r1   r2   r¦   r÷   s          r   Úrun_invalid_categoryr>  ¢  sÏ  € ä
�)‰)×
Ñ
Ó
!€Cà�‰˜ ¨ˆÐ.×6Ñ6°s¸BÓ?€AØ�
‰
�q ¨ˆ
Ð,€AÜ�xŠxœŸ™Ó!×%Ñ%¨Ñ)€A€e�Hô 
�Š�Q¨#¨°©Ñ	4€BÜ	�Š”zÕ	"Ü�	Š	 +Ñ@À"ÔE÷ 
#ð €A€e�HÜ	�Š�Q¨#¨°©Ñ	4€BÜ	�Š”zÕ	"Ü�	Š	 +Ñ@À"ÔE÷ 
#ð 	�
‰
�q ¨ˆ
Ð-×5Ñ5°c¸2Ó>€AØ�
‰
�q ¨ˆ
Ð,€Aä	�Š�Q¨#¨°©Ñ	4€BÜ	�Š”zÕ	"Ü�	Š	 +Ñ@À"ÔE÷ 
#ð �ÓÛà�x‰x˜‹{˜BŸH™H Q›Kˆ1Ü�]Š]œ:Õ&Ü×$Ò$ Q¸#¸À¹ÑDˆB÷ 'Ð&ð	 ÷! 
#Ö	"ú÷
 
#Ö	"ú÷ 
#Õ	"ú÷ 'Õ&ús0   Â8H$ÄH6ÆIÈ IÈ$
H3È6
IÉ
IÉ
I'c                 óp  • [         R                  R                  S5      nSSKJn  SSKJn  SSKJn  SnU" USUS9u  p‰U(       ap  UR                  US	9n
XªR                  5       -  n
[        R                  " X‰U
S
9n[        U5      u  u  pÍ  nUS:”  d  US:¼  a  SS0nOSS0nUR                  " Xš40 UD6nO,[        R                  " X‰5      n[         R                  " U	5      n[        R                   " U USUS.USS9n[        R                   " U SUS.USS9n["        R$                  " UR'                  5       5      n["        R$                  " UR'                  5       5      n[)        U5      [)        U5      :X  d   eUR+                  SS9n[        R,                  " US9n["        R$                  " UR'                  5       5      n[)        U5      [)        U5      :X  d   e[        R                   " U US-   SUS.USS9n["        R$                  " UR'                  5       5      n[         R.                  R1                  [)        U5      [         R2                  " [)        U5      5      S-   5        0 n[        R                   " U USSSS.USUS4/US9  US   S   nUS   S:  d   e[4        R6                  " U5      (       d   eg )!zTest for adaptive trees.rj   r   )Ú__version__r„   )Ústatsrê   ré   )rU   r‰   rŠ   r   r6  Úpercentile_ranké2   Ú
percentilezreg:absoluteerror)r+   r!   r�   r,   rÒ   )r+   r�   r,   Úubj)Ú
raw_format)Ú
model_filerh   r¶   )r+   r,   r�   Ú	subsampleÚetar)  r�   r�   Úmaer•   r–   N)rD   r|   r�   Úsklearnr@  ro   r0   Úsklearn.utilsrA  r;  r  r#   r¹   r   Ú_weighted_percentileÚmedianr    r'   r(   r)   r   Úsave_rawÚBoosterrr   rs   Úasarrayr¢   r£   )r+   r‚   r,   r€   Úsklearn_versionr0   rA  rT   r1   r2   rW   r¦   Úsk_majorÚsk_minorÚ_Úkwargsr!   Ú	booster_0Ú	booster_1Úconfig_0Úconfig_1Úraw_boosterÚ	booster_2Úconfig_2rB   rJ  s                             r   Úrun_adaptiver^  Ä  s¢  € ä
�)‰)×
Ñ
 Ó
%€CÝ6Ý0Ý#à€IÙØ�2 Cñ�D€Aö Ø�J‰J˜IˆJÐ&ˆØ	�U‰U‹W‰ˆÜ�[Š[˜ aÑ(ˆä%3°OÓ%DÑ"Ñˆ˜Q Ø�a‹<˜8 q›=Ø'¨Ð,‰Fà" BÐ'ˆFØ×/Ò/Øñ
Øñ
‰
ô �[Š[˜ÓˆÜ—Y’Y˜q“\ˆ
ä—	’	à&Ø$Ø,Øñ		
ð 	Øñ	€Iô —	’	à&Ø,Øñ	
ð
 	Øñ€Iô �zŠz˜)×/Ñ/Ó1Ó2€HÜ�zŠz˜)×/Ñ/Ó1Ó2€Hä˜Ó"¤m°HÓ&=Ó=Ð=Ð=à×$Ñ$°Ð$Ð6€KÜ—’ {Ñ3€IÜ�zŠz˜)×/Ñ/Ó1Ó2€HÜ˜Ó"¤m°HÓ&=Ó=Ð=Ð=ä—	’	à&Ø$ sÑ*Ø,Øñ		
ð 	Øñ	€Iô �zŠz˜)×/Ñ/Ó1Ó2€HÜ‡J�J×ÑÜ�hÓ¤§¢¬M¸(Ó,CÓ!DÀqÑ!Hôð 02€LÜ‡I‚Ià&ØØ,ØØñ	
ð 	ØØ�Gˆ}ˆoØ!òð �wÑ
 Ñ
&€CØˆr‰7�T‹>Ðˆ>Ü×Ò˜S×!Ñ!Ð!Ñ!r   ÚparamÚdmatÚ
num_roundsc           	      ó&  • 0 n[         R                  " U UUUS4/SUS9nUR                  5       UR                  5       :X  d   eUR	                  5       U:X  d   eUR
                  UR
                  :X  d   eUR                  UR                  :X  d   eU$ )z-Get training result from parameters and data.r    F)r’   Úverbose_evalrB   )r#   r    Únum_featuresÚnum_colÚnum_boosted_roundsÚfeature_namesr8  )r_  r`  ra  Úresultr¿   s        r   Útrain_resultri    sŸ   € ð  €FÜ�iŠiØØØØ�gˆÐØØñ€Gð ×ÑÓ! T§\¡\£^Ó3Ð3Ð3Ø×%Ñ%Ó'¨:Ó5Ð5Ð5Ø× Ñ  D×$6Ñ$6Ó6Ð6Ð6Ø× Ñ  D×$6Ñ$6Ó6Ð6Ð6à€Mr   c                   óF   • \ rS rSrSrS\R                  S\S\S\	4S jr
Srg	)
ÚResetStrategyi4  z"Callback for testing multi-output.r   ÚepochÚ	evals_logr   c                 ód   • US-  S:X  a  UR                  SS05        gUR                  SS05        g)Nr   r   Úmulti_strategyÚmulti_output_treeÚone_output_per_treeF)Ú	set_param)Úselfr   rl  rm  s       r   Úafter_iterationÚResetStrategy.after_iteration7  s=   € Ø�1‰9˜‹>Ø�O‰OÐ-Ð/BÐCÔDð ð �O‰OÐ-Ð/DÐEÔFØr   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r#   rP  rá   r&   Úboolrt  Ú__static_attributes__r   r   r   rk  rk  4  s+   † Ù,ð S§[¡[ð ¸ð Èð ÐRV÷ r   rk  )?rz  r'   Ú	functoolsr   r   Ústringr   Útypingr   r   r   r	   r
   r   ÚnumpyrD   rÔ   Úxgboostr#   Úxgboost.testingrr   r¢   Úxgboost.corer   Úxgboost.datar   Úcorer   Ú	data_iterr   Úutilsr   r$   rq   r   rP  Ústrr�   r{  r®   rá   rÂ   rÚ   rp   ræ   rú   rþ   r<  r=  r{   r  r  r¹   r  r  r$  r0  r>  r^  ri  ÚcallbackÚTrainingCallbackrk  r   r   r   Ú<module>r‹     s  ðÙ ã ß -Ý "ß =× =ã Û ã Ý Ý 'Ý (å Ý Ý ð 
Ø :˜Ÿ™Ð :¨$¨u©+Ó :ó 
Ø :ð 
Ø 9˜Ÿ™Ð 9¨¨e©Ó 9ó 
Ø 9ð 
Ø <˜˜c 3˜h™Ð <¨D°©KÓ <ó 
Ø <ð"Ø�—‘˜sŸ{™{¨DÐ0Ñ1ð"à	ˆ%�[ô"ð"l+ sð l+°Fð l+¸tô l+ð`WD Sð WD°Dð WDÀ&ð WDÈTô WDðt0Øð0àð0ð ð0ð ð	0ð
 ð0ð 
ô0ð>I0ØðI0àðI0ð ð	I0ð
 ðI0ð ðI0ð ðI0ð ðI0ð 
ôI0ðX2Øð2ØŸJ™Jð2Ø.0¯j©jð2ØBEð2à	ô2ð"E1¨sð E1¸dð E1Àtô E1ðP9¨ð 9°Sð 9¸Tô 9ð �XŠX�b—h‘hÓ×#Ñ#€
Ø€ð$Øð$àð$ð ð	$ð
 ð$ð ð$ð ð$ð ð$ð ð$ð ð$ð 	‡[�[ô$ðNbHà
ðbHð ðbHð ð	bHð
 ðbHð ðbHð ðbHð ðbHð 
ôbHðJ.Ø
ð.à
ð.ð ð.ð
 ð.ð ð.ð ð.ð 
ô.ðbI˜Sð I¨&ð I°Tô Ið0E cð E°6ð E¸dô EðDX"˜cð X"¨Tð X"¸6ð X"Àdô X"ðvØ��S�‰>ðØ!$§¡ðØ:=ðà	ˆ#ˆsˆ(�^ôô*�C—L‘L×1Ñ1õ r   