o
    Ú­j4  ã                   @   s’   d Z ddlmZ ddlZddlmZ ddlmZ ddl	m
Z
 dd	lmZ dd
lmZ ddlmZ dedee dejfdd„Zdeddfdd„ZdS )zTests for inference.é    )ÚTypeN)Úlogité   )ÚDMatrix)Útrainé   )Úvalidate_leaf_output)Úget_basescore)ÚDeviceÚdeviceÚDMatrixTÚreturnc                 C   s‚  d}d}d}d}d}t j d¡}| ||¡}|jd||d�}	|||	ƒ}
t||dd	œ|
|d
�}| d| i¡ |t jd|fd�ƒ}|j|dd�}|j	d dksOJ ‚|j|
ddd�}|j	d |ks`J ‚|j	d |ksiJ ‚|j	d |ksrJ ‚|j	d |ks{J ‚t
||ƒ t  d¡}|j|
dd|fdd�}|d }t  |j	¡|| | ks¢J ‚tddid|
d�}| d| i¡ |j|
dd�j	|fks¿J ‚|S )z$Run tests for leaf index prediction.éd   é   é   é
   iÊ  r   )ÚlowÚhighÚsizeÚhist)Únum_parallel_treeÚ	num_classÚtree_method)Únum_boost_roundr   )ÚshapeT)Ú	pred_leaf)r   Ústrict_shaper   r   é   )r   Úiteration_ranger   )r   .r   )r   Údtrain)ÚnpÚrandomÚRandomStateÚrandnÚrandintr   Ú	set_paramÚonesÚpredictr   r   Úint32Úprod)r   r   ÚrowsÚcolsÚclassesr   r   ÚrngÚXÚyÚmÚboosterÚemptyÚ
empty_leafÚleafÚn_itersÚslicedÚfirst© r8   úT/var/www/html/CropPilot/venv/lib/python3.10/site-packages/xgboost/testing/predict.pyÚrun_predict_leaf   sP   
ýù


ür:   c           
      C   sÆ   ddl m} d}|dd�\}}t|d| dœt||ƒdd	�}tj t|ƒ|¡ | t||ƒ¡}tj	|j
t|ƒtjd
�}t|||d�}tdd| dœ|dd	�}tj t|ƒd¡ | |¡}	tj ||	¡ dS )z/Test for the relation between score and margin.r   )Úmake_classificationg      à?ié  )Úrandom_statezbinary:logistic)Ú
base_scoreÚ	objectiver   r   )r   r   )Ú
fill_valueÚdtype)Úbase_margingš™™™™™É?N)Úsklearn.datasetsr;   r   r   r    ÚtestingÚassert_allcloser	   r'   Úfullr   r   Úfloat32)
r   r;   Ú	interceptr.   r/   r1   Úpredt_0ÚmarginÚXyÚpredt_1r8   r8   r9   Úrun_base_margin_vs_base_scoreF   s(   
ý
ý
rL   )Ú__doc__Útypingr   Únumpyr    Úscipy.specialr   Úcorer   Útrainingr   Úsharedr   Úupdaterr	   Úutilsr
   Úndarrayr:   rL   r8   r8   r8   r9   Ú<module>   s    6