
    sii                         d Z ddlmZmZ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ededee         deeef         ddf
dZdedededdfdZdS )z"Tests for interaction constraints.    )OptionalSequenceUnionN   )FeatureNames)DMatrix)train   )Device[[0, 1]]tree_methoddevicefeature_namesinteraction_constraintsreturnc                 x   t           j                            ddd          t           j                            ddd          t           j                            g ddd          }z   |z   z  |z  z   t           j                            ddd          z   dt          j                  z  z   }t          j        |f          }t          ||	          }dd
d|| |d}d}	t          |||	|dfg          dt          dt           j	        ffdfddD             }
|
d         |
d         z
  }t          j
        t          j        ||d         z
            dk               sJ |
d         |
d         z
  }t          j
        t          j        ||d         z
            dk               sJ dS )z5Tests interaction constraints on a synthetic dataset.g      ?  )locscalesize)r
   r      T)r   replacegMbP?r   )labelr   皙?r   )	max_depthetanthreadr   r   r      r	   )evalsxr   c           
          t          t          j        t          j        | d          f                    }                    |          S )Nr   )r   )r   npcolumn_stackrepeatpredict)r    tmatbstr   x1x2s     m/var/www/html/bet.cuttalo.com/ml/venv/lib/python3.11/site-packages/xgboost/testing/interaction_constraints.pyfz&run_interaction_constraints.<locals>.f/   sM    ORRYq$%7%7899
 
 
 {{4       c                 &    g | ]} |          S  r.   ).0r    r+   s     r*   
<listcomp>z/run_interaction_constraints.<locals>.<listcomp>5   s!    %%%aQQqTT%%%r,   r
   r   g-C6?N)r"   randomnormalchoicesinr#   r   r	   intndarrayallabs)r   r   r   r   x3yXdtrainparamsnum_boost_roundpredsdiff1diff2r'   r+   r(   r)   s     `          @@@@r*   run_interaction_constraintsrB      s    
		c4		8	8B			c4		8	8B			)))$		=	=B

	
	 r'B,	 )

uCd

;
;		<
 bfRjj.	  	R%%AQa}===F #:" F O
8I7J
K
K
KC!S !RZ ! ! ! ! ! ! ! ! ! &%%%9%%%E
 !HuQxE6"&q)**T122222!HuQxE6"&q)**T12222222r,   dpathc                    ddl m} t          |dz             }t          |dz             }ddd| |dd	}d
}d|d<   t          |||          }|                    |          dk     }	 ||                                |	          dk     sJ d|d<   t          |||          }|                    |          dk     }	 ||                                |	          dk     sJ dS )z#Test accuracy, reused by GPU tests.r   )accuracy_scorez0agaricus.txt.train?indexing_mode=1&format=libsvmz/agaricus.txt.test?indexing_mode=1&format=libsvmr
      zbinary:logisticz[[1,2], [2,3,4]])r   r   	objectiver   r   r      	lossguidegrow_policyg      ?r   	depthwiseN)sklearn.metricsrE   r   r	   r%   	get_label)
r   rC   r   rE   r<   dtestr=   r>   r'   
pred_dtests
             r*   training_accuracyrP   @   s   ......UOOPPFEMMNNE&"#5 F O'F=

0
0CU##c)J>%//++Z883>>>>'F=

0
0CU##c)J>%//++Z883>>>>>>r,   )Nr   )__doc__typingr   r   r   numpyr"   _typingr   corer   trainingr	   utilsr   strrB   rP   r.   r,   r*   <module>rY      s   ( ( , , , , , , , , , ,     " " " " " "                   -14>	03 030303 L)03 #3=1	03
 
03 03 03 03f?3 ?s ?F ?t ? ? ? ? ? ?r,   