o
    Ú­jT  ã                   @   sx   d 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
ededdfdd„Zd
ededdfdd„ZdS )zTests for parsing trees.é    Né   )ÚDMatrix)ÚXGBRegressor)Útrainé   )Úmake_categorical)ÚDeviceÚtree_methodÚdeviceÚreturnc           	      C   st   t ddddd�\}}t||dd�}t| |dœ|dd	�}| ¡ }| ¡ D ]\}}|d
 dkr7t|d ƒdks7J ‚q#dS )z+Tests tree_to_df with categorical features.éd   é
   é   F©ÚonehotT)Úenable_categorical)r	   r
   )Únum_boost_roundÚFeatureÚLeafÚCategoryr   N)r   r   r   Útrees_to_dataframeÚiterrowsÚlen)	r	   r
   ÚXÚyÚXyÚboosterÚdfÚ_Úx© r    úW/var/www/html/CropPilot/venv/lib/python3.10/site-packages/xgboost/testing/parse_tree.pyÚrun_tree_to_df_categorical   s   ÿ€þr"   c                 C   st   t ddddd�\}}t| d|d�}| ||¡ tjtdd	�� | ¡ jd
dd� W d  ƒ dS 1 s3w   Y  dS )z7Tests split_value_histograms with categorical features.iè  r   é   Fr   T)r	   r   r
   zdoesn't)ÚmatchÚ3é   )ÚbinsN)r   r   ÚfitÚpytestÚraisesÚ
ValueErrorÚget_boosterÚget_split_value_histogram)r	   r
   r   r   Úregr    r    r!   Úrun_split_value_histograms   s   "ÿr/   )Ú__doc__r)   Úcorer   Úsklearnr   Útrainingr   Údatar   Úutilsr   Ústrr"   r/   r    r    r    r!   Ú<module>   s    