Ë
    <�Dj¥	  ã                   óh   — d Z ddlmZmZ ddlZddlZddlZddl	m
Z
 ddlmZ deddfd„Zdeddfd	„Zy)
zTests for evaluation metrics.é    )ÚDictÚListN)Úconcat)Ú_parse_eval_strÚtree_methodÚreturnc           	      ó  — t        j                  d«      }|j                  dddd¬«      \  }}t        j                  |j
                  ¬«      }t        j                  d| ¬«      }|j                  |||¬	«       |j                  d
ddd¬«      \  }}|j                  d¬«       t        |j                  «       j                  t        j                  ||«      dfg¬«      «      }|d   d   }g }g }	d}
g }t        |
«      D ]}  }|j                  d
ddd¬«      \  }}|j                  |«       |	j                  |«       t        j                   |j
                  |t        j"                  ¬«      }|j                  |«       Œ t%        |«      }t%        |«      }t%        |	«      }t        |j                  «       j                  t        j                  |||¬	«      dfg¬«      «      }|d   d   j'                  d«      sJ ‚|d   d   }||k(  sJ ‚y)z3Test for precision with ranking and classification.zsklearn.datasetsi   é   é   iç  )Ú	n_samplesÚ
n_featuresÚ	n_classesÚrandom_state)Úshape)Ún_estimatorsr   )Úqidi   iÊ  zpre@32)Úeval_metricÚXy)Úevalsé   é   )r   Ú
fill_valueÚdtyper   N)ÚpytestÚimportorskipÚmake_classificationÚnpÚzerosr   ÚxgbÚ	XGBRankerÚfitÚ
set_paramsr   Úget_boosterÚeval_setÚDMatrixÚrangeÚappendÚfullÚuint64r   Úendswith)r   ÚdatasetsÚXÚyr   ÚltrÚresultÚscore_0ÚX_listÚy_listÚn_query_groupsÚq_listÚiÚqÚscore_1s                  ú[C:\Crop_Prediction\Backend\crop-ai-system\venv\Lib\site-packages\xgboost/testing/metrics.pyÚcheck_precision_scorer9      s÷  € ä×"Ñ"Ð#5Ó6€Hà×'Ñ'Ø 1°Àð (ó �D€A€qô �(‰(˜Ÿ™Ô
!€Cä
�-‰- Q°KÔ
@€CØ‡G�GˆAˆq�c€GÔð ×'Ñ'Ø !¨q¸tð (ó �D€A€qð ‡N�N˜x€NÔ(ÜØ�‰Ó×"Ñ"¬3¯;©;°q¸!Ó+<¸dÐ*CÐ)DÐ"ÓEó€Fð �Q‰i˜‰l€Gà€FØ€FØ€NØ!€FÜ�>Ó"ò ˆà×+Ñ+Ø a°1À4ð ,ó 
‰ˆˆ1ð 	�‰�aÔØ�‰�aÔÜ�G‰G˜!Ÿ'™'¨a´r·y±yÔAˆØ�‰�aÕðô �‹.€CÜˆv‹€AÜˆv‹€AäØ�‰Ó×"Ñ"¬3¯;©;°q¸!ÀÔ+EÀtÐ*LÐ)MÐ"ÓNó€Fð �!‰9�Q‰<× Ñ  Ô*Ñ*Ø�Q‰i˜‰l€GØ�gÒÑÐó    c                 óp  — ddl m} ddlm} t        j
                  j                  d«      } |dd|¬«      \  }}t        j                  ||«      }i }t        j                  | dd	d
œ||dfg|¬«      }|j                  |«      }	 |||	d	¬«      }
t        j                  j                  |d   d   d   |
«       y)zTest for the `quantile` loss.r   )Úmake_regression)Úmean_pinball_lossé   é€   r   )r   Úquantileg333333Ó?)r   r   Úquantile_alphaÚTrain)r   Úevals_result)ÚalphaéÿÿÿÿN)Úsklearn.datasetsr<   Úsklearn.metricsr=   r   ÚrandomÚRandomStater   ÚQuantileDMatrixÚtrainÚinplace_predictÚtestingÚassert_allclose)r   r<   r=   Úrngr,   r-   r   rC   ÚboosterÚpredtÚlosss              r8   Úcheck_quantile_errorrS   >   s°   € å0Ý1ä
�)‰)×
Ñ
 Ó
#€Cá˜3 °Ô4�D€A€qÜ	×	Ñ	˜Q Ó	"€BØ$&€LÜ�i‰iØ#°JÐRUÑVØ
Ø�Gˆ}ˆoØ!ô	€Gð ×#Ñ# AÓ&€EÙ˜Q ¨SÔ1€DÜ‡J�J×Ñ˜|¨GÑ4°ZÑ@ÀÑDÀdÕKr:   )Ú__doc__Útypingr   r   Únumpyr   r   Úxgboostr   Úxgboost.compatr   Úxgboost.corer   Ústrr9   rS   © r:   r8   ú<module>r\      sD   ðÙ #ç ã Û ã Ý !Ý (ð. sð .¨tó .ðbL cð L¨dô Lr:   