
    /ii#                     $   d dl Zd dlZd dlmZmZmZ d dlmZm	Z	m
Z
mZ d dlmZmZ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 d dlmZmZmZ  e	d	
          \  ZZ ed	
          \  Z Z!ej"        #                    dg  e
d           ed e            fd e            fd edd          fgd          R g  e
d           ed e            fd e            fd edd          fg          R g  ed           ed e            fd ed          fd edd          fgd          R g  ed           ed e            fd ed          fd edd          fg          R gg d          d             Z$ej"        #                    deeeg          d             Z%ej"        #                    dg  e
d          eR g  e
d          eR g  ed          eR g  ed          eR g          d             Z&ej"        #                    dg  e
d           ed e            fg          R g  e
d           ed e            fg          R g  ed           ed e            fg          R g  ed           ed e            fg          R gg 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"             Z(dS )#    N)ClassifierMixincloneis_classifier)load_diabetes	load_irismake_classificationmake_regression)RandomForestClassifierRandomForestRegressorStackingClassifierStackingRegressorVotingClassifierVotingRegressor)SimpleImputer)LinearRegressionLogisticRegression)make_pipeline)SVCSVR	LinearSVCT)
return_X_yzX, y, estimator
   	n_sampleslrsvmrf      )n_estimators	max_depth   )
estimatorscvr#   linear)kernel)zstacking-classifierzvoting-classifierzstacking-regressorzvoting-regressor)idsc                 R   t          |          }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    sJ t          t          |j        	                                                    t          g d          k    sJ t          |          }t          |          rt                      nt                      }|                    |                              | |           t          |d          rJ |j        j                                        |j        j                                        k    sJ |j        j                                        |j        j                                        k    sJ t          |          }|                    d           |                    | |           t          |j                  dk    sJ |j        j        dk    sJ t          |j                  dk    sJ t          t          |j        	                                                    t          g d          k    sJ |j        D ]+}t%          |t'          |j        j                            rJ ,|                    d           |                    d	
           |                                d         |                                d                                         d         k    sJ |                                d         |                                d                                         d         k    sJ d S )Nr      r   )r   r   r   )r   dropg      $@)svm__Cr   )rf__max_depthr,   Cr-   r   r!   )r   named_estimatorsr   r#   fitlennamed_estimators_sortedlistkeysr   r   r   
set_paramshasattrr   
get_paramsr   
isinstancetype)Xy	estimatorestimator_new_paramssvm_estimatorestimator_droppedsub_ests          h/var/www/html/bet.cuttalo.com/ml/venv/lib/python3.11/site-packages/sklearn/ensemble/tests/test_common.py/test_ensemble_heterogeneous_estimators_behaviorrC      s   r i  I I.....%)Y-A!-DQ-GGGGG%)Y-G-NNNNN MM!Qy)**a////y*++q0000$y27799::;;v@ @    
 !++*955@CEEE355M###66::1a@@@+U33333-0;;==%(3355	6 	6 	6 	6 	-0;;==%(3355	6 	6 	6 	6
 i((  V ,,,!Q 122a7777-1V;;;; 233q8888$(:??AABBCCvH H     %6 M MgtI,F,J'K'KLLLLLL %%%q)))x(!!%(3355c:	; 	; 	; 	; 	/!!$'2244[A	B 	B 	B 	B 	B 	B    Ensemblec                    t          | t                    r't          d          \  }}dt                      fg}d}n&t	          d          \  }}dt                      fg}d} | |          }d                    |          }t          j        t          |          5  |
                    ||           d d d            d S # 1 swxY w Y   d S )	Nr   r   r   
classifier	regressorr%   zshould be a {}match)
issubclassr   r   r   r	   r   formatpytestraises
ValueErrorr0   )rE   r;   r<   r#   ensemble_typeensembleerr_msgs          rB   +test_ensemble_heterogeneous_estimators_typerS      s$    (O,, $"R0001-//01
$,,,1/1123
#x:...H%%m44G	z	1	1	1  Q                 s   CC
CzX, y, Ensemblec                    t          |t                    rdt                      fg}ndt                      fg} ||          }d}t	          j        t          |          5  |                    | |           d d d            n# 1 swxY w Y   t          |t                    r!dt                      fdt                      fg}n dt                      fdt                      fg} ||          }d}t	          j        t          |          5  |                    | |           d d d            n# 1 swxY w Y   t          |t                    rdt                      fg}ndt                      fg} ||          }d}t	          j        t          |          5  |                    | |           d d d            d S # 1 swxY w Y   d S )	Nlr__r%   z3Estimator names must not contain __: got \['lr__'\]rI   r   z-Names provided are not unique: \['lr', 'lr'\]r#   z3Estimator names conflict with constructor arguments)rK   r   r   r   rM   rN   rO   r0   )r;   r<   rE   r#   rQ   rR   s         rB   6test_ensemble_heterogeneous_estimators_name_validationrV      s    (O,, 413345

/1123
x:...HDG	z	1	1	1  Q               (O,, N/112T;M;O;O4PQ

-//049I9K9K2LM
x:...H>G	z	1	1	1  Q               (O,, :#%7%9%9:;

#%5%7%789
x:...HCG	z	1	1	1  Q                 s6   "BB	B	D22D69D6GG	Gc                     |                     d           t          j        t          d          5  |                    | |           d d d            d S # 1 swxY w Y   d S )Nr+   )r   zAll estimators are dropped.rI   )r6   rM   rN   rO   r0   )r;   r<   r=   s      rB   2test_ensemble_heterogeneous_estimators_all_droppedrX      s    < F###	z)F	G	G	G  a                 s   AAAzEnsemble, Estimator, X, yc                    |                                 }t          j                            ddg|j        ddg                              t                    }t          j        ||<   t          t                       |                      } | d|fd|fg          }|
                    ||                              ||           d S )	Nr*   r   g?g?)ppipe1pipe2r%   )copynprandomchoiceshapeastypeboolnanr   r   r0   score)rE   	Estimatorr;   r<   maskpiperQ   s          rB   2test_heterogeneous_ensemble_support_missing_valuesri      s     	
A9QFAGSz::AA$GGDfAdG))++66DxWdOgt_#EFFFHLLAQ"""""rD   ))numpyr^   rM   sklearn.baser   r   r   sklearn.datasetsr   r   r   r	   sklearn.ensembler
   r   r   r   r   r   sklearn.imputer   sklearn.linear_modelr   r   sklearn.pipeliner   sklearn.svmr   r   r   r;   r<   X_ry_rmarkparametrizerC   rS   rV   rX   ri    rD   rB   <module>rw      se        > > > > > > > > > >                           ) ( ( ( ( ( E E E E E E E E * * * * * * + + + + + + + + + +yD!!!1=D)))S 
	
  2...
	
--//0IIKK(11qANNNO
   
	
 
	
		
  2...		
--//0IIKK(11qANNNO  		
 		

	
_r***
	
++--.CCx000100a1MMMN
   
	
 
	
		
_r***		
O++--.CCx000100a1MMMN  		
 		
C+X	 	 	]  4 4j9 9k4 4j9x (/:  	 & @


+
+
+@-?@@>


+
+
+>-=>>;//B
'
'
';):;;9//B
'
'
'999	      F 	
  2...	
D2D2D2F2F+G*HIII	
 	
	
  2...	
$0B0B0D0D)E(FGGG	
 	
	
_r***	
41A1A1C1C*D)EFFF	
 	
	
_r***	
O/?/?/A/A(B'CDDD	
 	
$	 	 	)   6 7 6 	/A6	,c37	-q!4	*C5	 # # # # #rD   