
    ^i                         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y)z"Tests for interaction constraints.    )OptionalSequenceUnionN   )FeatureNames)DMatrix)train   )Devicetree_methoddevicefeature_namesinteraction_constraintsreturnc                 f   t         j                  j                  ddd      t         j                  j                  ddd      t         j                  j                  g ddd      }z   |z   z  |z  z   t         j                  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}
dD cg c]
  } |
|       }}|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 yc c}w )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            }j	                  |      S )Nr   )r   )r   npcolumn_stackrepeatpredict)r   tmatbstr   x1x2s     h/var/www/html/hubwallet-dev/venv/lib/python3.12/site-packages/xgboost/testing/interaction_constraints.pyfz&run_interaction_constraints.<locals>.f/   s>    OORRYYq$%789
 {{4      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_roundr*   r   predsdiff1diff2r&   r'   r(   s     `            @@@r)   run_interaction_constraintsr=      s    
		c4		8B			c4		8B			)$		=B

	
	 r'B,	 ))

uCd

;		<
 bffRj.	  	R%AQa}=F #:"F O
8I7J
KC!S !RZZ ! ! %%aQqT%E%
 !HuQxE66"&&q)*T1222!HuQxE66"&&q)*T1222 &s    F.dpathc                 f   ddl m} t        |dz         }t        |dz         }ddd| |dd	}d
}d|d<   t        |||      }|j	                  |      dk  }	 ||j                         |	      dk  sJ d|d<   t        |||      }|j	                  |      dk  }	 ||j                         |	      dk  sJ y)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.metricsr@   r   r	   r$   	get_label)
r   r>   r   r@   r7   dtestr8   r9   r&   
pred_dtests
             r)   training_accuracyrK   @   s    .UOOPFEMMNE&"#5F O'F=

0CU#c)J%//+Z83>>>'F=

0CU#c)J%//+Z83>>>r+   )Nz[[0, 1]])__doc__typingr   r   r   numpyr!   _typingr   corer   trainingr	   utilsr   strr=   rK    r+   r)   <module>rU      s    ( , ,  "    -14>	030303 L)03 #3=1	03
 
03f?3 ?s ?F ?t ?r+   