
    Гh`                     J   S r SSKrSSKrSSKrSSKrSSKrSSKJrJ	r	J
r
Jr  SSKrSSKrSSKJr  S\R$                  S\SS4S jrS	\S
\\R*                     S\S\SS4
S jr\R.                  S.S\S\S\R$                  S\S\S
\\R*                     S\R$                  4S jjrg)z#Testing code shared by other tests.    N)AnyCallableDictType)	ArrayLikeleafnum_parallel_treereturnc           	      >   [        U R                  S   5       H  n[        U R                  S   5       Hb  n[        U R                  S   5       HC  nXX4SS24   nUR                  S   U:X  d   e[        R                  " XUS   :H  5      (       a  MC   e   Md     M     g)z'Validate output for predict leaf tests.r         N)rangeshapenpall)r   r	   ijk
tree_groups         iC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\xgboost/testing/shared.pyvalidate_leaf_outputr      s    4::a=!tzz!}%A4::a=)!Q1*-
!''*.????vvjqM9::::	 * & "    dmatrixmodelXyc                 $  ^^ U R                   mS/mS[        S[        S[        4UU4S jjnX@l         U" SS9R                  X#X#4/S9  TS   S:X  d   eSTS'   UR	                  5       nU" SS9R                  X#X%4/S9  TS   S	:X  d   eTU l         g
)z/Assert that we don't create duplicated DMatrix.r   selfkwargsr
   c                 0   > TS==   S-  ss'   T" U 40 UD6$ )Nr   r    )r   r   countold_inits     r   new_init.validate_data_initialization.<locals>.new_init$   s     aA'''r   r   )n_estimators)eval_setr   N)__init__r   r   fitcopy)r   r   r   r   r$   y_copyr"   r#   s         @@r   validate_data_initializationr,      s    
 HCE(s (c (h ( (  	qaqfX68q==E!HVVXF	qaqk];8q==Gr   )r   fwparser_pathtree_methodc                    [         R                  " 5        nSnU" UUUS9nUR                  X5        [        R                  R                  US5      n	UR                  U	5        [        U	SSS9 n
[        R                  " U
5      nSSS5        [        R                  R                  SU5      nUc   e[        R                  R                  U5      nUR                  c   eUR                  R                  U5        UR!                  U5      n0 nS	nUR"                   H  n[%        UR&                  5      nUU-  n[)        U5       Hm  nUR+                  U5      (       a  M  UR-                  UR/                  U5      S5      c  S
XR/                  U5      '   MR  XR/                  U5      ==   S
-  ss'   Mo     M     [0        R2                  " [5        UR7                  5       5      5      n[9        UR7                  5       5      n[9        [;        U6 5      u  nn[<        R>                  " UUS
S9nUsSSS5        $ ! , (       d  f       GN= f! , (       d  f       g= f)z*Get feature weights using the demo parser.g      ?)r/   colsample_bynodefeature_weightsz
model.jsonrzutf-8)encodingN
JsonParserr   r   )deg) tempfileTemporaryDirectoryr)   ospathjoin
save_modelopenjsonload	importlibutilspec_from_file_locationmodule_from_specloaderexec_moduleModeltreeslennodesr   is_leafgetsplit_indexcollectionsOrderedDictsorteditemslistzipr   polyfit)r   r   r-   r.   r/   r   tmpdirr1   reg
model_pathfdspecjsonmsplitstotal_nodestreen_nodesnodtuplesr   vws                          r   get_feature_weightsrc   6   s    
	$	$	&&#-
 	WW\\&,7
z"*cG4IIbME 5 ~~55lKP//5{{&&&&E"!#KKD$**oG7"K7^<<??::d..q148@23F++A./++A./14/ $   $$VFLLN%;<bhhj!CL!1JJq!#K 
'	& 54 
'	&s%   AI.H4F%I4
I	>I
I)__doc__rM   importlib.utilr@   r>   r9   r7   typingr   r   r   r   numpyr   xgboostxgbxgboost._typingr   ndarrayintr   XGBModelr,   XGBRegressorstrrc   r!   r   r   <module>rp      s    )    	  , ,   %;rzz ;c ;d ;  s||, 1: ?H 	 B !$ 0 0// / 	

	/
 / / / ZZ/r   