Ë
    °Ó^jî  ã                   óX  — d Z ddlmZmZmZ ddlZddlZddlm	Z	 ddl
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mZ dededej2                  dej2                  dee   ddfd„Zdedededej2                  dej2                  dee   ddfd„Z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 compatiblity with sklearn.é    )ÚCallableÚOptionalÚTypeN)Úsoftmaxé   )ÚDMatrix)ÚXGBClassifierÚXGBRegressorÚXGBRFRegressoré   )Úget_california_housingÚmake_batches)Úmake_recoded)ÚDeviceÚassert_allcloseÚtree_methodÚdeviceÚXÚyÚas_frameÚreturnc                 óš  — t        ddd| |¬«      }|j                  ||¬«       |j                  |d¬«      }|� ||«      }t        ddd| |¬«      }|j                  |||¬	«       |j                  ||¬
«      }t        ddd| |¬«      }	|	j                  ||¬«       |	j                  |«      }
t        j                  j                  ||
«       y)z•
    Parameters
    ----------

    as_frame: A callable function to convert margin into DataFrame, useful for different
    df implementations.
    ç333333Ó?r   é   ©Úlearning_rateÚrandom_stateÚn_estimatorsr   r   ©r   r   T©Úoutput_marginN©r   r   Úbase_margin©r#   é   )r	   ÚfitÚpredictÚnpÚtestingr   )r   r   r   r   r   Úmodel_0ÚmarginÚmodel_1Úpredictions_1Úcls_2Úpredictions_2s              úc/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/xgboost/testing/with_skl.pyÚ run_boost_from_prediction_binaryr1      sÝ   € ô ØØØØØô€Gð ‡K�K�!�q€KÔØ�_‰_˜Q¨dˆ_Ó3€FØÐÙ˜&Ó!ˆäØØØØØô€Gð ‡K�K�!�q f€KÔ-Ø—O‘O A°6�OÓ:€MäØØØØØô€Eð 
‡I�I��Q€IÔØ—M‘M !Ó$€MÜ‡J�J×Ñ˜}¨mÕ<ó    Ú	estimatorc                 ój  —  | ddd||¬«      }|j                  ||¬«       |j                  «       j                  |d¬«      }|� ||«      } | ddd||¬«      }|j                  |||¬	«       |j                  «       j                  t	        ||¬
«      d¬«      }	 | ddd||¬«      }
|
j                  ||¬«       |
j                  «       j                  |d¬«      }t        |	d«      r|	j                  «       }	t        |d«      r|j                  «       }t        j                  j                  |	|d¬«       y)z.Boosting from prediction with multi-class clf.r   r   r   r   r   r+   )Úpredict_typeNr"   r$   Tr    r%   Úgetç�íµ ÷Æ°>©Úatol)
r&   Úget_boosterÚinplace_predictr'   r   Úhasattrr6   r(   r)   r   )r3   r   r   r   r   r   r*   r+   r,   r-   Úmodel_2r/   s               r0   Ú&run_boost_from_prediction_multi_clasasr>   B   sH  € ñ ØØØØØô€Gð ‡K�K�!�q€KÔØ× Ñ Ó"×2Ñ2°1À8Ð2ÓL€FØÐÙ˜&Ó!ˆáØØØØØô€Gð ‡K�K�!�q f€KÔ-Ø×'Ñ'Ó)×1Ñ1Ü�˜vÔ&°dð 2ó €Mñ ØØØØØô€Gð ‡K�K�!�q€KÔØ×'Ñ'Ó)×9Ñ9¸!È(Ð9ÓS€Mäˆ}˜eÔ$Ø%×)Ñ)Ó+ˆÜˆ}˜eÔ$Ø%×)Ñ)Ó+ˆÜ‡J�J×Ñ˜}¨mÀ$ÐÕGr2   c                 ó  — ddl m} ddlm} t	        «       \  }}t
        j                  j                  d«      } |dd|¬«      }|j                  ||«      D ]P  \  }}	t        d| |¬	«      j                  ||   ||   «      }
|
j                  ||	   «      }||	   } |||«      d
k  rŒPJ ‚ t        |¬«      }t        j                  t        «      5  |j                  d¬«       |j                  ||«       ddd«       y# 1 sw Y   yxY w)z"Testwith the cali housing dataset.r   )Úmean_squared_error)ÚKFoldéÊ  r   T)Ún_splitsÚshuffler   é*   )r   r   r   é#   ©r   é
   )Úearly_stopping_roundsN)Úsklearn.metricsr@   Úsklearn.model_selectionrA   r   r(   ÚrandomÚRandomStateÚsplitr   r&   r'   ÚpytestÚraisesÚNotImplementedErrorÚ
set_params)r   r   r@   rA   r   r   ÚrngÚkfÚtrain_indexÚ
test_indexÚ	xgb_modelÚpredsÚlabelsÚrfregs                 r0   Úrun_housing_rf_regressionr[   u   sü   € å2Ý-ä!Ó#�D€A€qÜ
�)‰)×
Ñ
 Ó
%€CÙ	˜ 4°cÔ	:€BØ#%§8¡8¨A¨q£>ò 6Ñˆ�ZÜ"Ø¨¸Vô
ç
‰#ˆa�‰n˜a ™nÓ
-ð 	ð ×!Ñ! ! J¡-Ó0ˆØ�:‘ˆÙ! %¨Ó0°2Ó5Ð5Ð5ð6ô  &Ô)€EÜ	�‰Ô*Ó	+ñ Ø×Ñ¨rÐÔ2Ø�	‰	�!�QŒ÷÷ ñ ús   Ã%C<Ã<Dc                 ó¶  — t        | d¬«      \  }}}}}t        dd| ¬«      }|j                  ||||fg¬«       |j                  «       }|j	                  «       }|j                  «       j                  «       rJ ‚t        dd| ¬«      }|j                  |||||fg¬«       |j                  «       }|j	                  «       }|j                  «       dk(  sJ ‚|j                  «       j                  «       rJ ‚t        dd| ¬«      }|j                  ||||fg¬«       |j                  «       }	t        j                  j                  |	d	   d
   |d	   d
   |d	   d
   z   «       t        j                  j                  |j                  |«      |j                  |«      «       t        j                  j                  |j                  |«      |j                  |«      «       y)z)Test re-coding for training continuation.é   )Ú
n_featuresTr   )Úenable_categoricalr   r   )Úeval_set)rW   r`   r   Úvalidation_0ÚrmseN)r   r
   r&   Úevals_resultr:   Úget_categoriesÚemptyÚnum_boosted_roundsr(   r)   r   r'   Úapply)
r   ÚencÚreencr   Ú_ÚregÚ	results_0ÚboosterÚ	results_1Ú	results_2s
             r0   Úrun_recodingrp   ‹   s¤  € ä& v¸"Ô=Ñ€Cˆ��1�aÜ
¨$¸QÀvÔ
N€CØ‡G�GˆC�˜u a˜j˜\€GÔ*Ø× Ñ Ó"€Ià�o‰oÓ€GØ×%Ñ%Ó'×-Ñ-Ô/Ð/Ð/ä
¨$¸QÀvÔ
N€CØ‡G�GˆE�1 °C¸°8°*€GÔ=Ø× Ñ Ó"€Ià�o‰oÓ€GØ×%Ñ%Ó'¨1Ò,Ð,Ð,Ø×%Ñ%Ó'×-Ñ-Ô/Ð/Ð/ä
¨$¸QÀvÔ
N€CØ‡G�GˆC�˜u a˜j˜\€GÔ*Ø× Ñ Ó"€Iä‡J�J×ÑØ�.Ñ! &Ñ)Ø�.Ñ! &Ñ)¨I°nÑ,EÀfÑ,MÑMôô
 ‡J�J×Ñ˜sŸ{™{¨5Ó1°3·;±;¸sÓ3CÔDÜ‡J�J×Ñ˜sŸy™y¨Ó/°·±¸3³Õ@r2   c                 óÞ  — ddl m}m} t        dddd¬«      D �cg c]  }|d   ‘Œ	 c}\  }}}t	        | ¬«      }|j                  |||¬	«       |j                  }|j                  t        j                  k(  sJ ‚|d   d
k  sJ ‚t	        d| ¬«      }|j                  |||¬	«       |j                  }t        |t        j                  «      sJ ‚|j                  t        j                  k(  sJ ‚|d   d
k  sJ ‚d}	 |ddd|	dd¬«      \  }}t        dd| ¬«      }
|
j                  ||«       |
j                  }t        |t        j                  «      sJ ‚t        |«      dk(  sJ ‚t        |«      dk\  j                  «       sJ ‚t        j                   j#                  t%        |«      dd¬«       t        j                   j#                  t%        t        |«      «      d«       t        j&                  |	t        j                  ¬«      |	z  }| dk(  rddl}|j+                  |«      }t        d|¬«      }
|
j                  ||«       t#        | ||
j                  «        |ddd|	¬«      \  }}t        j&                  |	t        j                  ¬«      dz  }| dk(  rddl}|j+                  |«      }t        |¬«      }
|
j                  ||«       t#        | ||
j                  «       |
j,                  d k(  sJ ‚yc c}w )!zTests for the intercept.r   )Úmake_classificationÚmake_multilabel_classificationé   é   r   F)Úuse_cupyrG   )Úsample_weightg      à?Úgblinear)rm   r   r   rB   é€   r]   )r   Ú	n_samplesr^   Ú	n_classesÚn_informativeÚn_redundantÚgbtreezmulti:softprob)rm   Ú	objectiver   g        r7   r8   g      ð?)ÚshapeÚdtypeÚcudaN)r   Ú
base_score)r   rz   r^   r{   r   )rƒ   zbinary:logistic)Úsklearn.datasetsrr   rs   r   r
   r&   Ú
intercept_r�   r(   Úfloat32Ú
isinstanceÚndarrayr	   Úlenr   Úallr)   r   ÚsumÚonesÚcupyÚarrayr   )r   rr   rs   Úvr   r   Úwrk   Úresultr{   ÚclfÚ	interceptÚcps                r0   Úrun_interceptr•   ª   s‡  € çTä)¨#¨q°!¸eÔDÖE˜ˆq�‹tÒE�G€A€qˆ!Ü
˜fÔ
%€CØ‡G�GˆAˆq €GÔ"Ø�^‰^€FØ�<‰<œ2Ÿ:™:Ò%Ð%Ð%Ø�!‰9�sŠ?Ðˆ?ä
˜z°&Ô
9€CØ‡G�GˆAˆq €GÔ"Ø�^‰^€FÜ�fœbŸj™jÔ)Ð)Ð)Ø�<‰<œ2Ÿ:™:Ò%Ð%Ð%Ø�!‰9�sŠ?Ðˆ?à€IÙØØØØØØô�D€A€qô  Ð4DÈVÔ
T€CØ‡G�GˆAˆq„MØ�^‰^€FÜ�fœbŸj™jÔ)Ð)Ð)Üˆv‹;˜!ÒÐÐä�F‹O˜sÑ"×'Ñ'Ô)Ð)Ð)Ü‡J�J×Ñœs 6›{¨C°dÐÔ;Ü‡J�J×Ñœs¤7¨6£?Ó3°SÔ9ô —‘˜y´·±Ô<¸yÑH€IØ�ÒÛà—H‘H˜YÓ'ˆ	ä
Ð"2¸yÔ
I€CØ‡G�GˆAˆq„MÜ�F˜I s§~¡~Ô6á)Ø S°RÀ9ô�D€A€qô
 —‘˜y´·±Ô<¸qÑ@€IØ�ÒÛà—H‘H˜YÓ'ˆ	ä
 9Ô
-€CØ‡G�GˆAˆq„MÜ�F˜I s§~¡~Ô6Ø�=‰=Ð-Ò-Ð-Ñ-ùòy Fs   šK*)Ú__doc__Útypingr   r   r   Únumpyr(   rO   Úscipy.specialr   Úcorer   Úsklearnr	   r
   r   Údatar   r   Úordinalr   Úutilsr   r   Ústrrˆ   r1   r>   r[   rp   r•   © r2   r0   ú<module>r¡      s  ðá *ç +Ñ +ã Û Ý !å ß AÑ Aß 6Ý !ß *ð.=Øð.=àð.=ð 
‡z�zð.=ð 
‡z�zð	.=ð
 �xÑ ð.=ð 
ó.=ðb0HØð0Hàð0Hð ð0Hð 
‡z�zð	0Hð
 
‡z�zð0Hð �xÑ ð0Hð 
ó0Hðf¨3ð ¸ð À4ó ð,A˜ð A Dó Að>@.˜&ð @. Tô @.r2   