Ë
    °Ó^jž!  ã                   óä   — d Z ddlZddlmZmZmZ ddlZddlm	Z	 ddl
mZmZmZ ddlmZmZmZ ddlmZmZ dd	lmZ d
dlmZ d
dlmZmZ dededdfd„Zdedededdfd„Zdeddfd„Z deddfd„Z!y)z#Tests for estimating the intercept.é    N)ÚDictÚListÚOptional)Úsoftmax)Úmake_classificationÚmake_multilabel_classificationÚmake_regressioné   )ÚBoosterÚDMatrixÚQuantileDMatrix)ÚXGBClassifierÚXGBRegressor)Útrainé   )Úget_basescore)ÚDeviceÚnon_increasingÚtree_methodÚdeviceÚreturnc                 óî  ‡ ‡— dt         j                  dt         j                  ddfˆˆ fd„}t        dd¬«      \  }} |||«       t        dd	d¬
«      \  }} |||«       	 ddt         j                  dt         j                  dt        t         j                     dt        t
           fˆˆ fd„}t        dd¬«      \  }} |||«       t        dd	dd¬«      \  }} |||«       t        ddddd¬«      \  }} |||«      }t         j                  j                  t        j                  t        |«      «      d«       t         j                  j                  t        j                  |«      dd¬«       t        j                  t        |«      dkD  «      sJ ‚t        j                  |t        j                  t        j                  |«      t        j                   t        j"                  t         j$                  «      j&                  g«      g«      ¬«      d   |j(                  d   z  }t         j                  j                  t        |«      |d¬«       t         j*                  j-                  d«      }|j/                  dd|j(                  d   f¬«      }	 ||||	«      }t         j                  j                  t        j                  t        |«      «      d«       t        j                  t        |«      dkD  «      sJ ‚y)zTest for init estimation.ÚXÚyr   Nc                 ó  •— t        ‰
dd‰	¬«      }|j                  | || |fg¬«       t        |«      }|j                  «       d   d   d   }|j                  dk(  rdn|j
                  d   }t        j                  |fdt        j                  ¬«      }t        ‰
‰	dd|¬	«      }|j                  | || |fg¬«       t        |«      }|j                  «       d   d   d   }t        j                  ||«      j                  «       rJ ‚||k  sJ ‚y )
Nr   ©r   Ú	max_depthÚn_estimatorsr   ©Úeval_setÚvalidation_0Úrmser   ç      à?©ÚshapeÚ
fill_valueÚdtype)r   r   r   r   Ú
base_score)r   Úfitr   Úevals_resultÚndimr%   ÚnpÚfullÚfloat32ÚiscloseÚany)r   r   ÚregÚbase_score_0Úscore_0Ú	n_targetsÚ	interceptÚbase_score_1Úscore_1r   r   s            €€úd/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/xgboost/testing/intercept.pyÚrun_regz$run_init_estimation.<locals>.run_reg   s  ø€ ÜØ#¨q¸qÈô
ˆð 	�‰��1  A ˜xˆÔ(Ü$ SÓ)ˆØ×"Ñ"Ó$ ^Ñ4°VÑ<¸QÑ?ˆàŸ™ 1š‘A¨!¯'©'°!©*ˆ	Ü—G‘G 9 ,¸3ÄbÇjÁjÔQˆ	ÜØ#ØØØØ ô
ˆð 	�‰��1  A ˜xˆÔ(Ü$ SÓ)ˆØ×"Ñ"Ó$ ^Ñ4°VÑ<¸QÑ?ˆÜ—:‘:˜l¨LÓ9×=Ñ=Ô?Ð?Ð?Ø˜Ò Ð Ñ ó    i   é   )Ú	n_samplesÚrandom_stateé   )r<   r4   r=   Úwc                 ó8  •— t        ‰dd‰
¬«      }|�|j                  | ||| |fg|g¬«       n|j                  | || |fg¬«       t        |«      }|j                  dk(  r|j	                  «       d   d   d   }n|j	                  «       d   d	   d   }|j
                  dk(  rdn|j                  d   }t        j                  |fd
t        j                  ¬«      }t        ‰dd‰
|¬«      }|�|j                  | ||| |fg|g¬«       n|j                  | || |fg¬«       t        |«      }|j                  dk(  r|j	                  «       d   d   d   }	n|j	                  «       d   d	   d   }	t        j                  ||«      j                  «       rJ ‚||	dz   k  sJ ‚|S )Nr   r   )Úsample_weightr    Úsample_weight_eval_setr   r
   r!   Úloglossr   Úmloglossr#   r$   )r   r   r   r   r(   g-Cëâ6?)r   r)   r   Ú
n_classes_r*   r+   r%   r,   r-   r.   r/   r0   )r   r   r?   Úclfr2   r3   r4   r5   r6   r7   r   r   s             €€r8   Úrun_clfz$run_init_estimation.<locals>.run_clf8   sÅ  ø€ ô Ø#¨q¸qÈô
ˆð ˆ=Ø�G‰GØ�1 A°!°Q°°ÐRSÐQTð õ ð �G‰G�A�q 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Ø�1 A°!°Q°°ÐRSÐQTð õ ð �G‰G�A�q Q¨ F 8ˆGÔ,Ü$ SÓ)ˆØ�>‰>˜QÒØ×&Ñ&Ó(¨Ñ8¸ÑCÀAÑF‰Gà×&Ñ&Ó(¨Ñ8¸ÑDÀQÑGˆGÜ—:‘:˜l¨LÓ9×=Ñ=Ô?Ð?Ð?Ø˜ 4™Ò'Ð'Ð'àÐr:   é   )r<   Ún_labelsÚ	n_classesr=   é   r   )r<   r=   rJ   Ún_informativeÚn_redundantç      ð?ç        g�íµ ÷Æ°>)Úatol)Úbins©ÚrtoléÊ  r   )ÚlowÚhighÚsize)N)r,   Úndarrayr	   r   r   Úfloatr   r   ÚtestingÚassert_allcloseÚsumr   ÚallÚ	histogramÚconcatenateÚuniqueÚarrayÚfinfor.   Úmaxr%   ÚrandomÚdefault_rngÚuniform)
r   r   r9   r   r   rG   r5   Únp_intÚrngr?   s
   ``        r8   Úrun_init_estimationri      sf  ù€ ð!”2—:‘:ð !¤"§*¡*ð !°ö !ô0  T¸Ô;�D€A€qÙˆAˆq„Mä T°QÀRÔH�D€A€qÙˆAˆq„Mð AEñ)Ü�:‰:ð)ÜŸ*™*ð)Ü)1´"·*±*Ñ)=ð)ä	Œe‰ö)ôX ¨¸BÔ?�D€A€qÙˆAˆq„MÜ)Ø ¨a¸bô�D€A€qñ ˆAˆq„Mô Ø R°1ÀBÐTUô�D€A€qñ ˜˜1“€Iä‡J�J×ÑœrŸv™v¤g¨iÓ&8Ó9¸3Ô?Ü‡J�J×ÑœrŸv™v iÓ0°#¸DÐÔAä�6‰6”'˜)Ó$ qÑ(Ô)Ð)Ð)ä
�‰Ø”B—N‘N¤B§I¡I¨a£L´"·(±(¼B¿H¹HÄRÇZÁZÓ<P×<TÑ<TÐ;UÓ2VÐ#WÓXô	
à
ñ	ð �'‰'�!‰*ñ	ð ô ‡J�J×Ñœw yÓ1°6ÀÐÔEä
�)‰)×
Ñ
 Ó
%€CØ�‰˜ ¨¯©°©¨ˆÓ6€AÙ˜˜1˜aÓ €IÜ‡J�J×ÑœrŸv™v¤g¨iÓ&8Ó9¸3Ô?Ü�6‰6”'˜)Ó$ qÑ(Ô)Ð)Ñ)r:   Úweightedc                 ó„  — t         j                  j                  d«      }ddlm} d}t        |d|¬«      \  }}|rL|j                  |¬«      }||j                  «       z  }t        |||¬«      }	d	d
i}
 |j                  ||fi |
¤Ž}n!t        ||«      }	t        j                  |«      }t        | |d|dœ|	d¬«      }t        | d|dœ|	d¬«      }t        j                  |j                  «       «      }t        j                  |j                  «       «      }t        |«      t        |«      k(  sJ ‚|j!                  d¬«      }t#        |¬«      }t        j                  |j                  «       «      }t        |«      t        |«      k(  sJ ‚t        | |dz   d|dœ|	d¬«      }t        j                  |j                  «       «      }t         j$                  j'                  t        |«      t        j(                  t        |«      «      dz   «       i }t        | |ddddœ|	d|	dfg|¬«       |d   d   }|d   dk  sJ ‚t+        |«      sJ ‚y)zTest for adaptive trees.rT   r   )Ústatsé   é   )r=   )rW   )ÚweightÚpercentile_ranké2   zreg:absoluteerror)r   r(   Ú	objectiver   r   ©Únum_boost_round)r   rr   r   Úubj)Ú
raw_format)Ú
model_filerN   çš™™™™™é?)r   r   rr   Ú	subsampleÚetaé
   ÚTrain)rt   Úevalsr*   Úmaeéÿÿÿÿg      4@N)r,   rd   ÚRandomStateÚsklearn.utilsrl   r	   ÚnormalÚminr   Ú_weighted_percentileÚmedianr   ÚjsonÚloadsÚsave_configr   Úsave_rawr   rZ   r[   Úasarrayr   )r   rj   r   rh   rl   r<   r   r   r?   ÚXyÚkwargsr(   Ú	booster_0Ú	booster_1Úconfig_0Úconfig_1Úraw_boosterÚ	booster_2Úconfig_2r*   r~   s                        r8   Úrun_adaptiver”   …   s]  € ä
�)‰)×
Ñ
 Ó
%€CÝ#à€IÜØ�2 Cô�D€A€qñ Ø�J‰J˜IˆJÓ&ˆØ	ˆQ�U‰U‹W‰ˆÜ�Q˜ !Ô$ˆà# RÐ(ˆØ/�U×/Ñ/Øˆqñ
Øñ
‰
ô �Q˜‹]ˆÜ—Y‘Y˜q“\ˆ
ô à&Ø$Ø,Øñ		
ð 	Øô	€Iô à&Ø,Øñ	
ð
 	Øô€Iô �z‰z˜)×/Ñ/Ó1Ó2€HÜ�z‰z˜)×/Ñ/Ó1Ó2€Hä˜Ó"¤m°HÓ&=Ò=Ð=Ð=ð ×$Ñ$°Ð$Ó6€KÜ ;Ô/€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Ü	à&ØØ,ØØñ	
ð 	ØØ�Gˆ}ˆoØ!õð �wÑ
 Ñ
&€CØˆr‰7�TŠ>Ðˆ>Ü˜#ÔÐÑr:   c                 óø  — t        ddddg¬«      \  }}t        ||«      }t        d| dœ|d¬	«      }t        d
| dœ|d¬	«      }t        d| dœ|d¬	«      }t        j                  j                  |||fD �cg c]  }t        |«      ‘Œ c}|j                  «       «       t        ddgd¬«      \  }}t        dd| dœt        ||«      d¬	«      }t        |«      }t        j                  j                  |dd¬«       yc c}w )z!Exp family has a closed solution.é€   r
   rx   gš™™™™™É?)r<   rJ   Úweightsúbinary:logistic©rr   r   r   rs   zreg:logisticzbinary:logitrawié  )r—   r=   g      @)rr   Úscale_pos_weightr   r#   gü©ñÒMbP?rR   N)r   r   r   r,   rZ   r[   r   Úmean)	r   r   r   r‹   rF   r1   Úclf1ÚmÚscores	            r8   Úrun_exp_familyrŸ   Þ   sû   € ä¨¸ÀCÈÀ:ÔN�D€A€qÜ	˜˜AÓ	€BÜ
Ø'°6Ñ:¸BÐPQô€Cô ˜n¸Ñ?ÀÐUVÔ
W€CÜØ'°6Ñ:¸BÐPQô€Dô ‡J�J×Ñ¸3ÀÀTÐ:JÖK°Q¤¨aÕ 0ÒKÈQÏVÉVËXÔVä¨¨S zÀÔE�D€A€qÜ
Ø'¸SÈFÑSÜ˜˜1ÓØô€Cô
 ˜#Ó€EÜ‡J�J×Ñ˜u c°ÐÕ5ùò  Ls   Á3C7c                 óB   ‡ — dt         ddfˆ fd„} |d«        |d«       y)z3Test https://github.com/dmlc/xgboost/issues/11499 .Úvr   Nc                 óœ   •— t        t        j                  dgdgg«      | | g¬«      }t        d‰dœ|d«      }t	        |«      }|d   | k(  sJ ‚y )NrN   )Úlabelr˜   r™   r   r   )r   r,   rŠ   r   r   )r¡   ÚdtrainÚbstr5   r   s       €r8   Úrunz$run_logistic_degenerate.<locals>.runù   sZ   ø€ ÜœŸ™ c U¨S¨E NÓ3¸A¸q¸6ÔBˆÜØ+°vÑ>ØØó
ˆô
 " #Ó&ˆ	Ø˜‰|˜qÒ Ð Ñ r:   rO   rN   )rY   )r   r¦   s   ` r8   Úrun_logistic_degenerater§   ö   s&   ø€ ð!Œuð !˜õ !ñ ˆ„HÙˆ…Hr:   )"Ú__doc__r†   Útypingr   r   r   Únumpyr,   Úscipy.specialr   Úsklearn.datasetsr   r   r	   Úcorer   r   r   Úsklearnr   r   Útrainingr   Úupdaterr   Úutilsr   r   Ústrri   Úboolr”   rŸ   r§   © r:   r8   ú<module>rµ      s¡   ðÙ )ã ß 'Ñ 'ã Ý !÷ñ ÷ 5Ñ 4ß 1Ý Ý "ß )ðk* Sð k*°&ð k*¸Tó k*ð^V˜cð V¨Tð V¸6ð VÀdó Vðr6˜6ð 6 dó 6ð0 Fð ¨tô r:   