o
    tBh#                     @   s>  d dl 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lm	Z	 d dlm
Z
mZ d dlmZ d d	lmZmZ d d
lmZmZmZmZ d dlmZ d dlmZmZ d dlmZmZ d dlmZmZ e
dd\ZZ edd\Z!Z"ej#j$dg eddede fde fdedddfgddR g eddede fde fdedddfgdR g e	ddede fde fdedddfgddR g e	ddede fde fdedddfgdR gg dddd  Z%ej#$d!eeeegd"d# Z&ej#$d$g eddeR g eddeR g e	ddeR g e	ddeR gd%d& Z'ej#j$dg eddede fgdR g eddede fgdR g e	ddede fgdR g e	ddede fgdR gg ddd'd( Z(ej#$d)eeee feee!e"feeee feee!e"fgd*d+ Z)dS ),    N)clone)ClassifierMixin)is_classifier)make_classification)make_regression)	load_irisload_diabetes)SimpleImputer)LogisticRegressionLinearRegression)	LinearSVC	LinearSVRSVCSVR)make_pipeline)RandomForestClassifierRandomForestRegressor)StackingClassifierStackingRegressor)VotingClassifierVotingRegressorT)
return_X_yzX, y, estimator
   	n_sampleslrsvmrf      )n_estimators	max_depth   )
estimatorscvr#   )zstacking-classifierzvoting-classifierzstacking-regressorzvoting-regressor)idsc                 C   s  d|j v sJ |j j|jd d u sJ |j j|j d u sJ || | t|j dks.J t|jdks7J tt|j tg dksHJ t	|}t
|rSt nt }|j|d| | t|drgJ |j j |j j ksuJ |j j |j j ksJ t	|}|jdd || | t|j dksJ |j jdksJ t|jdksJ tt|j tg dksJ |jD ]}t|t|j jrJ q|jdd |jd	d
 | d | d  d ksJ | d | d  d ksJ d S )Nr      r   )r   r   r   )r   dropg      $@)svm__Cr   )rf__max_depthr)   Cr*   r   r!   )named_estimatorsr   r#   fitlennamed_estimators_sortedlistkeysr   r   r   r   
set_paramshasattrr   
get_paramsr   
isinstancetype)Xy	estimatorestimator_new_paramssvm_estimatorestimator_droppedsub_est r?   y/var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/sklearn/ensemble/tests/test_common.py/test_ensemble_heterogeneous_estimators_behavior   sL   ;








rA   Ensemblec                 C   s   t | trtdd\}}dt fg}d}ntdd\}}dt fg}d}| |d}d|}tjt	|d |
|| W d    d S 1 sGw   Y  d S )	Nr   r   r   
classifier	regressorr%   zshould be a {}match)
issubclassr   r   r   r   r
   formatpytestraises
ValueErrorr-   )rB   r8   r9   r#   ensemble_typeensembleerr_msgr?   r?   r@   +test_ensemble_heterogeneous_estimators_type   s   


"rO   zX, y, Ensemblec                 C   sZ  t |trdt fg}ndt fg}||d}d}tjt|d || | W d    n1 s1w   Y  t |trFdt fdt fg}n
dt fdt fg}||d}d}tjt|d || | W d    n1 sow   Y  t |trdt fg}ndt fg}||d}d}tjt|d || | W d    d S 1 sw   Y  d S )	Nlr__r%   z3Estimator names must not contain __: got \['lr__'\]rE   r   z-Names provided are not unique: \['lr', 'lr'\]r#   z3Estimator names conflict with constructor arguments)rG   r   r
   r   rI   rJ   rK   r-   )r8   r9   rB   r#   rM   rN   r?   r?   r@   6test_ensemble_heterogeneous_estimators_name_validation   s0   





"rQ   c                 C   sL   |j dd tjtdd || | W d    d S 1 sw   Y  d S )Nr(   )r   zAll estimators are dropped.rE   )r3   rI   rJ   rK   r-   )r8   r9   r:   r?   r?   r@   2test_ensemble_heterogeneous_estimators_all_dropped   s   "rR   zEnsemble, Estimator, X, yc                 C   sp   |  }tjjddg|jddgdt}tj||< tt	 | }| d|fd|fgd}|
|||| d S )	Nr'   r   g?g?)ppipe1pipe2r%   )copynprandomchoiceshapeastypeboolnanr   r	   r-   score)rB   	Estimatorr8   r9   maskpiperM   r?   r?   r@   2test_heterogeneous_ensemble_support_missing_values   s   "
rb   )*numpyrW   rI   sklearn.baser   r   r   sklearn.datasetsr   r   r   r   sklearn.imputer	   sklearn.linear_modelr
   r   sklearn.svmr   r   r   r   sklearn.pipeliner   sklearn.ensembler   r   r   r   r   r   r8   r9   X_ry_rmarkparametrizerA   rO   rQ   rR   rb   r?   r?   r?   r@   <module>   s    
,
5;


	#




