ó
    uñ:i<  ã                   óÆ   • S r SSKrSSKJr  SSKJrJrJr  SSKJ	r	  SSK
JrJr  SSKJrJr  S	S
KJr  S\S\S\S\SS4
S jrS\\\\4      4S jrS\S\S\S\S\SS4S jrg)zTests for callback functions.é    N)Úproduct)ÚDictÚListÚTupleé   )ÚLearningRateScheduler)ÚBoosterÚDMatrix)ÚcvÚtrainé   )ÚDeviceÚtree_methodÚdtrainÚdtestÚdeviceÚreturnc           
      óâ  • [         nUS4US4/nSnSSSSU US.n0 n[        UUUUU" / S	Q5      /US
9n	[        [        [        US   S   5      5      n
[        U	[        5      (       d   eU
S   U
S   :”  d   eSSSSU US.n0 n[        UUUUU" / S	Q5      /US
9n	[        [        [        US   S   5      5      n[        U	[        5      (       d   eUS   US   :”  d   eSSSU US.n0 n[        UUUUU" / SQ5      /US
9n	[        [        [        US   S   5      5      n[        U	[        5      (       d   eUS   US   :X  d   eU4S[        S[        S[        4S jjn0 n[        UUUUU" U5      /US
9n	[        [        [        US   S   5      5      n[        U	[        5      (       d   eUS   US   :X  d   e[        S[        U
5      5       H  nXï   XÏ   :w  a  M   e   [        XqXd" U5      /S9  g)z=Test learning rate scheduler, used by both CPU and GPU tests.Úevalr   é   r   r   úbinary:logisticÚerror)Ú	max_depthÚetaÚ	objectiveÚeval_metricr   r   )gš™™™™™é?gffffffæ?g333333ã?g      à?)ÚevalsÚ	callbacksÚevals_resultéÿÿÿÿ)r   Úlearning_rater   r   r   r   ©r   r   r   r   r   )r   r   r   r   ÚithroundÚnum_boost_roundr   c                 ó   • XS-   -  $ ©Nr   © )r#   r$   s     Ú\/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/xgboost/testing/callbacks.pyÚ	eta_decayÚ run_eta_decay.<locals>.eta_decay^   s   € Ø¨Q¡,Ñ/Ð/ó    r   )r   N)r   r   ÚlistÚmapÚfloatÚ
isinstancer	   ÚintÚrangeÚlenr   )r   r   r   r   Ú	schedulerÚ	watchlistÚ	num_roundÚparamr   ÚbstÚeval_errors_0Úeval_errors_1Úeval_errors_2r)   Úeval_errors_3Úis                   r(   Úrun_eta_decayr=      s�  € ô &€Ià˜� 6¨7Ð"3Ð4€IØ€Ið
 ØØ&ØØ"Øñ€Eð %'€LÜ
ØØØØÙÒ1Ó2Ð3Ø!ñ€Cô œœU L°Ñ$8¸Ñ$AÓBÓC€MÜ�cœ7×#Ñ#Ð#Ð#à˜Ñ˜m¨BÑ/Ó/Ð/Ð/ð ØØ&ØØ"Øñ€Eð €Lä
ØØØØÙÒ1Ó2Ð3Ø!ñ€Cô œœU L°Ñ$8¸Ñ$AÓBÓC€MÜ�cœ7×#Ñ#Ð#Ð#à˜Ñ˜m¨BÑ/Ó/Ð/Ð/ð Ø&ØØ"Øñ€Eð €LÜ
ØØØØÙš\Ó*Ð+Ø!ñ€Cô œœU L°Ñ$8¸Ñ$AÓBÓC€MÜ�cœ7×#Ñ#Ð#Ð#à˜Ñ˜}¨RÑ0Ó0Ð0Ð0ð 9Bñ 0œCð 0´#ð 0Äeõ 0ð €LÜ
ØØØØÙ˜YÓ'Ð(Ø!ñ€Cô œœU L°Ñ$8¸Ñ$AÓBÓC€Mä�cœ7×#Ñ#Ð#Ð#à˜Ñ˜}¨QÑ/Ó/Ð/Ð/ä�1”c˜-Ó(Ö)ˆØÑ =Ñ#3Õ3Ð3Ð3ñ *ô €u�i¨I°iÓ,@Ð+AÓBr+   c                  ó4   • [        [        SS// SQ5      5      $ )z)Test parameters for the leaf output test.ÚapproxÚhist)r   zreg:absoluteerrorúreg:quantileerror)r,   r   r'   r+   r(   Útree_methods_objsrB   v   s$   € äÜØ�vÐòó	
ó	ð 	r+   r   c           	      óx  ^• Sm[         nUS4US4/nSUSU US.nUS:X  a  SUS	'   S
[        S[        4U4S jjn[        UUTUU" U5      /S9n	S
[        S[        4U4S jjn
[        UUTUU" U
5      /S9nU	R	                  SS9nUR	                  SS9n[
        R                  " U5      n[
        R                  " U5      nUS   S   S   S   S   nUS   S   S   S   S   nUS   US   :X  d   eUS   US   :X  d   eUS   S   S   S   S   nUS   S   S   S   S   nUS   US   :w  d   eUS   US   :w  d   eg)z&check decay has effect on leaf output.r   r   r   r   r   r"   rA   g333333Ó?Úquantile_alphar<   r   c                 ó   >• TU S-   -  $ r&   r'   ©r<   r5   s    €r(   Úeta_decay_0Ú.run_eta_decay_leaf_output.<locals>.eta_decay_0—   s   ø€ Ø˜A ™EÑ"Ð"r+   )r   r   c                 ó"   >• U S:”  a  gTU S-   -  $ )Nr   g      @r'   rF   s    €r(   Úeta_decay_1Ú.run_eta_decay_leaf_output.<locals>.eta_decay_1¢   s   ø€ Øˆq‹5ØØ˜A ™EÑ"Ð"r+   Újson)Ú
raw_formatÚlearnerÚgradient_boosterÚmodelÚtreesÚbase_weightsÚsplit_conditionsé   N)r   r0   r.   r   Úsave_rawrL   Úloads)r   r   r   r   r   r3   r4   r6   rG   Úbst0rJ   Úbst1Ú	bst_json0Ú	bst_json1Új0Új1Ú
tree_2th_0Ú
tree_2th_1Ú
tree_3th_0Ú
tree_3th_1r5   s                       @r(   Úrun_eta_decay_leaf_outputra   „   sÖ  ø€ ð €IÜ%€Ià˜� 6¨7Ð"3Ð4€Ið ØØØ"Øñ€Eð Ð'Ó'Ø"%ˆÐÑð#”sð #œu÷ #ô ØØØØÙ˜[Ó)Ð*ñ€Dð#”sð #œu÷ #ô
 ØØØØÙ˜[Ó)Ð*ñ€Dð —‘¨�Ð0€IØ—‘¨�Ð0€Iä	�Š�IÓ	€BÜ	�Š�IÓ	€Bà�I‘Ð1Ñ2°7Ñ;¸GÑDÀQÑG€JØ�I‘Ð1Ñ2°7Ñ;¸GÑDÀQÑG€JØ�nÑ%¨°NÑ)CÓCÐCÐCØÐ(Ñ)¨ZÐ8JÑ-KÓKÐKÐKà�I‘Ð1Ñ2°7Ñ;¸GÑDÀQÑG€JØ�I‘Ð1Ñ2°7Ñ;¸GÑDÀQÑG€JØ�nÑ%¨°NÑ)CÓCÐCÐCØÐ(Ñ)¨ZÐ8JÑ-KÓKÐKÑKr+   )Ú__doc__rL   Ú	itertoolsr   Útypingr   r   r   Úcallbackr   Úcorer	   r
   Útrainingr   r   Úutilsr   Ústrr=   rB   ra   r'   r+   r(   Ú<module>rj      s¯   ðá #ã Ý ß $Ñ $å ,ß #ß  Ý ðeCØðeCØ%ðeCØ.5ðeCØ?EðeCà	ôeCðP˜4  c¨3 h¡Ñ0ô ð8LØð8LØ!$ð8LØ.5ð8LØ>Eð8LØOUð8Là	õ8Lr+   