ó
    uñ:i "  ã            
       ó  • S r SSKJrJr  SSKrSSKrSSKJr  SSK	J
r
JrJr  SSKJrJr  SSKJr  S	S
KJr  S\S\S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4S jrS\S\S\S\SS4
S jrS\S\SS4S jrS\S\SS4S jrg)zTests for evaluation metrics.é    )ÚDictÚListNé   )Úconcat)ÚDMatrixÚQuantileDMatrixÚ_parse_eval_str)ÚXGBClassifierÚ	XGBRanker)Útrainé   )ÚDeviceÚtree_methodÚdeviceÚreturnc           
      óž  • [         R                  " S5      nUR                  SSSSS9u  p4[        R                  " UR
                  S9n[        SXS9nUR                  X4US	9  UR                  S
SSSS9u  p4UR                  SS9  [        UR                  5       R                  [        X45      S4/S95      nUS   S   n/ n	/ n
Sn/ n[        U5       Hx  nUR                  S
SSSS9u  p4U	R                  U5        U
R                  U5        [        R                  " UR
                  U[        R                   S9nUR                  U5        Mz     [#        U5      n[#        U	5      n[#        U
5      n[        UR                  5       R                  [        X4US	9S4/S95      nUS   S   R%                  S5      (       d   eUS   S   nXø:X  d   eg)z3Test for precision with ranking and classification.zsklearn.datasetsi   é   r   iç  )Ú	n_samplesÚ
n_featuresÚ	n_classesÚrandom_state)Úshape)Ún_estimatorsr   r   )Úqidi   éÊ  zpre@32)Úeval_metricÚXy)Úevalsr   é   )r   Ú
fill_valueÚdtyper   N)ÚpytestÚimportorskipÚmake_classificationÚnpÚzerosr   r   ÚfitÚ
set_paramsr	   Úget_boosterÚeval_setr   ÚrangeÚappendÚfullÚuint64r   Úendswith)r   r   ÚdatasetsÚXÚyr   ÚltrÚresultÚscore_0ÚX_listÚy_listÚn_query_groupsÚq_listÚiÚqÚscore_1s                   ÚZ/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/xgboost/testing/metrics.pyÚcheck_precision_scorer>      sÚ  € ô ×"Ò"Ð#5Ó6€Hà×'Ñ'Ø 1°Àð (ð �D€Aô �(Š(˜Ÿ™Ñ
!€Cä
 °Ñ
K€CØ‡G�GˆA�c€GÑð ×'Ñ'Ø !¨q¸tð (ð �D€Að ‡N�N˜x€NÑ(Ü˜SŸ_™_Ó.×7Ñ7ÄÈÃÈtÐ?TÐ>UÐ7ÐVÓW€FØ�Q‰i˜‰l€Gà€FØ€FØ€NØ!€FÜ�>Ö"ˆà×+Ñ+Ø a°1À4ð ,ð 
‰ˆð 	�‰�aÔØ�‰�aÔÜ�GŠG˜!Ÿ'™'¨a´r·y±yÑAˆØ�‰�aÖñ #ô �‹.€CÜˆv‹€AÜˆv‹€AäØ�‰Ó×"Ñ"¬7°1¸SÑ+AÀ4Ð*HÐ)IÐ"ÐJó€Fð �!‰9�Q‰<× Ñ  ×*Ñ*Ð*Ð*Ø�Q‰i˜‰l€GØÓÐÑó    c                 ó\  • SSK Jn  SSKJn  [        R
                  R                  S5      nU" SSUS9u  pV[        XV5      n0 n[        U SS	US
.UUS4/US9n	U	R                  U5      n
U" XjS	S9n[        R                  R                  US   S   S   U5        / SQn[        U SUSUS.UUS4/US9n	U	R                  U5      n
[        R                  " [        S5       Vs/ s H  oÓ" XjSS2U4   XÍ   S9PM     sn5      n[        R                  R                  US   S   S   U5        gs  snf )zTest for the `quantile` loss.r   )Úmake_regression)Úmean_pinball_lossé   é€   r   )r   Úquantileg333333Ó?)r   r   Úquantile_alphar   ÚTrain)r   Úevals_result)Úalphaéÿÿÿÿ)g      Ð?g      à?g      è?zreg:quantileerror)r   r   rF   Ú	objectiver   N)Úsklearn.datasetsrA   Úsklearn.metricsrB   r%   ÚrandomÚRandomStater   r   Úinplace_predictÚtestingÚassert_allcloseÚmeanr+   )r   r   rA   rB   Úrngr1   r2   r   rH   ÚboosterÚpredtÚlossrI   r:   s                 r=   Úcheck_quantile_errorrX   @   sO  € å0Ý1ä
�)‰)×
Ñ
 Ó
#€Cá˜3 °Ñ4�D€AÜ	˜Ó	€BØ$&€LÜà&Ø%Ø!Øñ		
ð 	Ø�Gˆ}ˆoØ!ñ
€Gð ×#Ñ# AÓ&€EÙ˜Q¨SÑ1€DÜ‡J�J×Ñ˜|¨GÑ4°ZÑ@ÀÑDÀdÔKâ€EÜà&Ø%Ø#Ø,Øñ	
ð 	Ø�Gˆ}ˆoØ!ñ€Gð ×#Ñ# AÓ&€EÜ�7Š7ÜDIÈ!ÄHÓMÂH¸qÐ	˜1¢A q D™k°±Ô	:ÁHÑMó€Dô ‡J�J×Ñ˜|¨GÑ4°ZÑ@ÀÑDÀdÕKùò 	Ns   ÃD)r   c                 óŽ  • SSK Jn  SSKJn  [        R
                  R                  S5      nSnU" UUUSUS9u  px[        Xx5      n	[        U USSS	.U	S
S9n
U
R                  U	5      nU" X‹5      n[        U
R                  U	5      R                  S5      S
   5      n[        R                  R                  XÍSS9  UR                  " UR                   6 nU
R                  [        U5      5      nU" X‹5      n[        U
R                  [        Xx5      5      R                  S5      S
   5      n[        R                  R                  XÍSS9  g)z6TestROC AUC metric on a binary classification problem.r   ©r$   ©Úroc_auc_scorer   é
   )Ún_informativeÚn_redundantr   Úauczbinary:logistic)r   r   r   rK   r   ©Únum_boost_roundÚ:ç�íµ ÷Æ°>©ÚrtolN)rL   r$   rM   r\   r%   rN   rO   r   r   ÚpredictÚfloatÚevalÚsplitrQ   rR   Úrandnr   )r   r   r   r$   r\   rT   r   r1   r2   r   rU   ÚscoreÚskl_aucr`   s                 r=   Úrun_roc_auc_binaryrn   m   s*  € å4Ý-ä
�)‰)×
Ñ
 Ó
%€CØ€JáØØØ ØØñ�D€Aô 
�‹€BÜà&ØØ Ø*ñ		
ð 	Øñ	€Gð �O‰O˜BÓ€EÙ˜AÓ%€GÜ
�—‘˜RÓ ×&Ñ& sÓ+¨AÑ.Ó
/€CÜ‡J�J×Ñ˜w°$ÐÑ7à�	Š	�1—7‘7Ð€AØ�O‰OœG A›JÓ'€EÙ˜AÓ%€GÜ
�—‘œW Q›]Ó+×1Ñ1°#Ó6°qÑ9Ó
:€CÜ‡J�J×Ñ˜w°$ÐÒ7r?   c                 óB  • SSK Jn  U" SSSSSS9u  p4[        U S	S
US9nUR                  X4X44/S9  UR	                  5       S   S
   S   n[        U SS
US9nUR                  X4X44/S9  UR	                  5       S   S
   S   n[
        R                  R                  SUSS9  g)z?Test for PR AUC metric on a multi-class classification problem.r   rZ   é@   é   é   r   r   )r^   r   r   r   Úaucpr©r   r   r   r   ©r*   Úvalidation_0rJ   r]   g      ð?ç{®Gáz„?re   N)rL   r$   r
   r'   rH   r%   rQ   rR   )r   r   r$   r1   r2   ÚclfrH   s          r=   Úrun_pr_auc_multiry   “   sÁ   € å4á˜r 2°QÀ!ÐRVÑW�D€AÜ
Ø¨a¸WÈVñ€Cð ‡G�GˆA˜Q˜F˜8€GÑ$Ø×#Ñ#Ó% nÑ5°gÑ>¸rÑB€Lô Ø¨b¸gÈfñ€Cð ‡G�GˆA˜Q˜F˜8€GÑ$Ø×#Ñ#Ó% nÑ5°gÑ>¸rÑB€LÜ‡J�J×Ñ˜s L°tÐÒ<r?   Úweightedc           
      ó  • SSK Jn  SSKJn  [        R
                  R                  S5      nSnSnU" UUUSUUS9u  pšU(       a6  UR                  U5      nX»R                  5       -  nX»R                  5       -  nOSn[        XšUS	9n[        U S
SUUS.USS9nUR                  U5      nU" X®SUSS9n[        UR                  U5      R                  S5      S   5      n[        R                   R#                  UUSS9  UR                  " U	R$                  6 n	UR                  [        X›S	95      nU" X®SUSS9n[        UR                  [        XšUS	95      R                  S5      S   5      n[        R                   R#                  UUSS9  g)z@Test for ROC AUC metric on a multi-class classification problem.r   rZ   r[   r   r]   r   )r^   r_   r   r   N)Úweightr`   zmulti:softprob)r   r   rK   Ú	num_classr   r   ra   rz   Úovr)ÚaverageÚsample_weightÚmulti_classrc   rd   re   gñhãˆµøä>)rL   r$   rM   r\   r%   rN   rO   rk   ÚminÚmaxr   r   rg   rh   ri   rj   rQ   rR   r   )r   r   rz   r   r$   r\   rT   r   r   r1   r2   Úweightsr   rU   rl   rm   r`   s                    r=   Úrun_roc_auc_multir…   §   sŠ  € õ 5Ý-ä
�)‰)×
Ñ
 Ó
%€CØ€JØ€IáØØØ ØØØñ�D€Aö Ø—)‘)˜IÓ&ˆØ—;‘;“=Ñ ˆØ—;‘;“=Ñ ‰àˆä	�˜gÑ	&€BÜà&Ø Ø)Ø"Øñ	
ð 	Øñ
€Gð �O‰O˜BÓ€EÙØ	˜*°GÈñ€Gô �—‘˜RÓ ×&Ñ& sÓ+¨AÑ.Ó
/€CÜ‡J�J×Ñ˜w¨°$ÐÑ7à�	Š	�1—7‘7Ð€Aà�O‰OœG AÑ6Ó7€EÙØ	˜*°GÈñ€Gô �—‘œW Q°'Ñ:Ó;×AÑAÀ#ÓFÀqÑIÓ
J€CÜ‡J�J×Ñ˜w¨°$ÐÒ7r?   c                 óÞ   • SSK Jn  U" SSSSS9u  p4[        U SS	S
US9n[        R                  " / SQ5      nUR                  UUUX44/U/S9  UR                  5       S   S
   nUS   S:¼  d   eg)z,Test for PR AUC metric on a ranking problem.r   rZ   rD   r   r   r   ©r   r   rq   zrank:pairwisers   )r   r   rK   r   r   )é    rˆ   rp   )Úgroupr*   Ú
eval_grouprv   rJ   ç®Gáz®ï?N)rL   r$   r   r%   Úarrayr'   rH   )r   r   r$   r1   r2   r3   ÚgroupsÚresultss           r=   Úrun_pr_auc_ltrr�   Þ   s’   € å4á˜s A°ÀÑF�D€AÜ
ØØØ!ØØñ€Cô �XŠX’lÓ#€FØ‡G�GØ	Ø	ØØ�&�Ø�8ð ñ ð ×ÑÓ  Ñ0°Ñ9€GØ�2‰;˜$ÓÐÑr?   c                 óâ  • SSK Jn  SSKJnJn  U" SSSSS9u  pV[        U S	S
US9nUR                  XVXV4/S9  UR                  5       S   S
   S   nUR                  U5      SS2S	4   n	U" Xi5      u  p«nU" Xº5      n[        R                  R                  XØSS9  [        U SS
US9nUR                  XVXV4/S9  UR                  5       S   S
   S   n[        R                  R                  SUSS9  g)z:Test for PR AUC metric on a binary classification problem.r   rZ   )r`   Úprecision_recall_curverD   r   r   r   r‡   r   rs   rt   ru   rv   rJ   Nrw   re   r]   r‹   )rL   r$   rM   r`   r‘   r
   r'   rH   Úpredict_probar%   rQ   rR   )r   r   r$   r`   r‘   r1   r2   rx   rH   Úy_scoreÚ	precisionÚrecallÚ_Úpraucs                 r=   Úrun_pr_auc_binaryr˜   ö   s
  € å4ß;á˜s A°ÀÑF�D€AÜ
Ø¨a¸WÈVñ€Cð ‡G�GˆA˜Q˜F˜8€GÑ$Ø×#Ñ#Ó% nÑ5°gÑ>¸rÑB€Là×Ñ Ó"¢1 a 4Ñ(€GÙ1°!Ó=Ñ€I�qÙ�Ó"€Eô ‡J�J×Ñ˜u¸ÐÑ>ä
Ø¨b¸gÈfñ€Cð ‡G�GˆA˜Q˜F˜8€GÑ$Ø×#Ñ#Ó% nÑ5°gÑ>¸rÑB€LÜ‡J�J×Ñ˜t \¸ÐÒ=r?   )Ú__doc__Útypingr   r   Únumpyr%   r"   Úcompatr   Úcorer   r   r	   Úsklearnr
   r   Útrainingr   Úutilsr   Ústrr>   rX   Úintrn   ry   Úboolr…   r�   r˜   © r?   r=   Ú<module>r¥      sþ   ðÙ #ç ã Û å ß <Ñ <ß .Ý Ý ð.Øð.Ø$ð.à	ô.ðb*L cð *L°6ð *L¸dô *LðZ#8 Cð #8°Cð #8Àð #8ÈDô #8ðL= #ð =¨vð =¸$ô =ð(48Øð48Ø!$ð48Ø04ð48Ø>Dð48à	ô48ðn ð ¨Vð ¸ô ð0> 3ð >°ð >¸4õ >r?   