
    =[g	                     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                  R/var/www/html/bid-api/venv/lib/python3.12/site-packages/xgboost/testing/metrics.pycheck_precision_scorer9      s   ""#56H''1 ( DAq ((
!C
--QK
@CGGAqcG ''!qt ( DAq NNxN(""3;;q!+<d*C)D"EF QilGFFN!F>"++a14 , 
1 	aaGG!''aryyAa # .CvAvA""3;;q!+Et*L)M"NF !9Q<  ***QilG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)alphaN)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4DAq			Q	"B$&Lii#JRUV
G}o!	G ##A&EQS1DJJ|G4Z@Dd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:   