ó
    uñ:i¥  ã                   ó¤   • S r SSKJrJrJ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
\S\S\\   S\\\4   SS4
S jjrS
\S\S\SS4S jrg)z"Tests for interaction constraints.é    )ÚOptionalÚSequenceÚUnionNé   )ÚFeatureNames)ÚDMatrix)Útrainé   )ÚDeviceÚtree_methodÚdeviceÚfeature_namesÚinteraction_constraintsÚreturnc                 ó`  ^^^^• [         R                  R                  SSSS9m[         R                  R                  SSSS9m[         R                  R                  / SQSSS9nTT-   U-   TT-  U-  -   [         R                  R                  SSSS9-   S[         R                  " T5      -  -   n[         R
                  " TTU45      n[        XeTS	9nSS
SUU US.nSn	[        X‡X—S4/S9mS[        S[         R                  4UUUU4S jjn
S Vs/ s H
  oº" U5      PM     nnUS   US   -
  n[         R                  " [         R                  " XÝS   -
  5      S:  5      (       d   eUS   US   -
  n[         R                  " [         R                  " XîS   -
  5      S:  5      (       d   egs  snf )z5Tests interaction constraints on a synthetic dataset.g      ð?éè  )ÚlocÚscaleÚsize)r
   r   é   T)r   Úreplacegü©ñÒMbP?r   )Úlabelr   çš™™™™™¹?r   )Ú	max_depthÚetaÚnthreadr   r   r   é   r	   )ÚevalsÚxr   c           
      ó’   >• [        [        R                  " TT[        R                  " U S5      45      TS9nTR	                  U5      $ )Nr   )r   )r   ÚnpÚcolumn_stackÚrepeatÚpredict)r   ÚtmatÚbstr   Úx1Úx2s     €€€€Új/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/xgboost/testing/interaction_constraints.pyÚfÚ&run_interaction_constraints.<locals>.f/   s>   ø€ ÜÜ�OŠO˜R ¤R§Y¢Y¨q°$Ó%7Ð8Ó9Èñ
ˆð �{‰{˜4Ó Ð ó    r
   r   g-Cëâ6?N)r!   ÚrandomÚnormalÚchoiceÚsinr"   r   r	   ÚintÚndarrayÚallÚabs)r   r   r   r   Úx3ÚyÚXÚdtrainÚparamsÚnum_boost_roundr*   r   ÚpredsÚdiff1Údiff2r&   r'   r(   s     `            @@@r)   Úrun_interaction_constraintsr>      sÃ  û€ ô 
�‰×	Ñ	˜c¨°4Ð	Ð	8€BÜ	�‰×	Ñ	˜c¨°4Ð	Ð	8€BÜ	�‰×	Ñ	š)¨$¸Ð	Ð	=€Bà
Ø
ñ	à
ñ	ð ˆr‰'�B‰,ñ	ô �)‰)×
Ñ
˜u¨C°dÐ
Ð
;ñ		<ð
 Œb�fŠf�R‹j‰.ñ	ð ô 	�Š˜˜R ˜Ó%€AÜ�Q¨}Ñ=€Fð ØØØ#:Ø"Øñ€Fð €Oä
� ÀÐ8IÐ7JÑ
K€Cð!ŒSð !”R—Z‘Z÷ !ò !ñ %Ó%š9�aˆQˆqŽT™9€EÐ%ð
 �!‰H�u˜Q‘xÑ€EÜ�6Š6”"—&’&˜ q¡Ñ)Ó*¨TÑ1×2Ñ2Ð2Ð2Ø�!‰H�u˜Q‘xÑ€EÜ�6Š6”"—&’&˜ q¡Ñ)Ó*¨TÑ1×2Ñ2Ð2Ñ2ùò &s   ÄF+Údpathc                 óf  • SSK Jn  [        US-   5      n[        US-   5      nSSSU USS	.nS
nSUS'   [        XdU5      nUR	                  U5      S:  n	U" UR                  5       U	5      S:  d   eSUS'   [        XdU5      nUR	                  U5      S:  n	U" UR                  5       U	5      S:  d   eg)z#Test accuracy, reused by GPU tests.r   )Úaccuracy_scorez0agaricus.txt.train?indexing_mode=1&format=libsvmz/agaricus.txt.test?indexing_mode=1&format=libsvmr
   é   zbinary:logisticz[[1,2], [2,3,4]])r   r   Ú	objectiver   r   r   é   Ú	lossguideÚgrow_policyg      à?r   Ú	depthwiseN)Úsklearn.metricsrA   r   r	   r$   Ú	get_label)
r   r?   r   rA   r8   Údtestr9   r:   r&   Ú
pred_dtests
             r)   Útraining_accuracyrL   @   sÏ   € å.ä�UÐOÑOÓP€FÜ�EÐMÑMÓN€EàØØ&Ø"ØØ#5ñ€Fð €Oà'€Fˆ=ÑÜ
� Ó
0€CØ—‘˜UÓ# cÑ)€JÙ˜%Ÿ/™/Ó+¨ZÓ8¸3Ó>Ð>Ð>à'€Fˆ=ÑÜ
� Ó
0€CØ—‘˜UÓ# cÑ)€JÙ˜%Ÿ/™/Ó+¨ZÓ8¸3Ó>Ð>Ñ>r,   )Nz[[0, 1]])Ú__doc__Útypingr   r   r   Únumpyr!   Ú_typingr   Úcorer   Útrainingr	   Úutilsr   Ústrr>   rL   © r,   r)   Ú<module>rV      sˆ   ðÙ (ç ,Ñ ,ã å "Ý Ý Ý ð -1Ø4>ñ	03Øð03àð03ð ˜LÑ)ð03ð # 3¨ =Ñ1ð	03ð
 
õ03ðf? 3ð ?¨sð ?¸Fð ?Àtõ ?r,   