
    KiA-                        S r SSKrSSKJr  SSKJr  SSKrSSKrSSK	J
r
JrJr  SSKJr  SSKJr  SSKJr  SS	KJr  SS
KJrJr  SSKJrJr  SSKJrJr  SSKJrJ r   SSK!J"r"J#r#  SSK$J%r%  SSK&J'r'  SSK(J)r)  SSK*J+r+J,r,  SSK-J.r.J/r/  SSK0J1r1   " S S5      r2\2" SS 5      \2" SS S/S9\2" SS S/S9\2" S\S S!/S9\2" S"\/ S#QS9\2" S$\/ S%QS9\2" S&S' / S(QS9/r3S) r4S* r5S+ r6/ S,Qr7\6" 5        V s/ s H!  n U Rp                  Rr                  \7;  d  M  U PM#     sn r:S- r;\Rx                  R{                  S.\:\;S/9S0 5       r>gs  sn f )1zCommon tests for metaestimators    N)suppress)	signature)BaseEstimatorcloneis_regressor)make_classification)BaggingClassifier)NotFittedError)TfidfVectorizer)RFERFECV)LogisticRegressionRidge)GridSearchCVRandomizedSearchCV)Pipelinemake_pipeline)MaxAbsScalerStandardScalerSelfTrainingClassifier)all_estimators)_construct_instances)SkipTestset_random_state)_enforce_estimator_tags_X_enforce_estimator_tags_ycheck_is_fittedc                   *    \ rS rSrS\" SS94S jrSrg)DelegatorData    r   )random_statec                 4    Xl         X l        X@l        X0l        g N)name	constructfit_argsskip_methods)selfr'   r(   r*   r)   s        c/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/sklearn/tests/test_metaestimators.py__init__DelegatorData.__init__    s     	" (    )r(   r)   r'   r*   N)__name__
__module____qualname____firstlineno__r   r-   __static_attributes__r#   r/   r,   r!   r!      s    
 $!4
)r/   r!   r   c                     [        SU 4/5      $ )Nest)r   r6   s    r,   <lambda>r8   2   s    (UCL>*Br/   r   c                     [        U SS/0SS9$ )Nparam      )
param_gridcv)r   r7   s    r,   r8   r8   5   s    L'A3AFr/   score)r*   r   c                      [        U SS/0SSS9$ )Nr:   r;   r<      )param_distributionsr>   n_iter)r   r7   s    r,   r8   r8   :   s    &gs^!
r/   r   	transforminverse_transformr   )rD   rE   r?   r	   )rD   rE   r?   predict_probapredict_log_probapredictr   c                     [        U 5      $ r&   r   r7   s    r,   r8   r8   Q   s
    *3/r/   )rD   rE   rF   c                  d  ^ S m " U4S jS[         5      n U R                  R                  5        Vs/ s H5  nUR                  S5      (       a  M  UR                  S5      (       a  M3  UPM7     nnUR	                  5         [
         GH  nU " 5       nUR                  U5      nU H  nXcR                  ;   a  M  [        XF5      (       d   e[        XV5      (       d   UR                  < SU< S35       eUS:X  aQ  [        R                  " [        5         [        XV5      " UR                  S	   UR                  S
   5        S S S 5        M  [        R                  " [        5         [        XV5      " UR                  S	   5        S S S 5        M     UR                  " UR                  6   U Hf  nXcR                  ;   a  M  US:X  a.  [        XV5      " UR                  S	   UR                  S
   5        MH  [        XV5      " UR                  S	   5        Mh     U Hf  nXcR                  ;   a  M  U " US9nUR                  U5      n[        XF5      (       a   e[        XV5      (       d  MO   UR                  < SU< S35       e   GM     g s  snf ! , (       d  f       GM  = f! , (       d  f       GM
  = f)Nc                 &   ^  [         U 4S j5       nU$ )Nc                    > U R                   TR                  :X  a  [        SU R                   -  5      e[        R                  " TU 5      $ )Nz%r is hidden)hidden_methodr0   AttributeError	functoolspartial)objmethods    r,   wrapper=test_metaestimator_delegation.<locals>.hides.<locals>.wrapperZ   s>      FOO3$^c6G6G%GHH$$VS11r/   )property)rR   rS   s   ` r,   hides,test_metaestimator_delegation.<locals>.hidesY   s    		2 
	2
 r/   c                      > \ rS rSrSS jrSS jrS r Y S 5       r Y S 5       r Y S 5       r	 Y S	 5       r
 Y S
 5       r Y S 5       r Y S 5       rSrg)3test_metaestimator_delegation.<locals>.SubEstimatorb   Nc                     Xl         X l        g r&   )r:   rM   )r+   r:   rM   s      r,   r-   <test_metaestimator_delegation.<locals>.SubEstimator.__init__c   s    J!.r/   c                 b    [         R                  " UR                  S   5      U l        / U l        g)NrA   T)nparangeshapecoef_classes_r+   Xyargskwargss        r,   fit7test_metaestimator_delegation.<locals>.SubEstimator.fitg   s$    1771:.DJDMr/   c                     [        U 5        g r&   r   )r+   s    r,   
_check_fit>test_metaestimator_delegation.<locals>.SubEstimator._check_fitl   s
    D!r/   c                 &    U R                  5         U$ r&   rk   r+   rd   rf   rg   s       r,   rE   Etest_metaestimator_delegation.<locals>.SubEstimator.inverse_transformo       OOHr/   c                 &    U R                  5         U$ r&   rn   ro   s       r,   rD   =test_metaestimator_delegation.<locals>.SubEstimator.transformt   rq   r/   c                 h    U R                  5         [        R                  " UR                  S   5      $ Nr   rk   r^   onesr`   ro   s       r,   rH   ;test_metaestimator_delegation.<locals>.SubEstimator.predicty   #    OO771771:&&r/   c                 h    U R                  5         [        R                  " UR                  S   5      $ ru   rv   ro   s       r,   rF   Atest_metaestimator_delegation.<locals>.SubEstimator.predict_proba~   ry   r/   c                 h    U R                  5         [        R                  " UR                  S   5      $ ru   rv   ro   s       r,   rG   Etest_metaestimator_delegation.<locals>.SubEstimator.predict_log_proba   ry   r/   c                 h    U R                  5         [        R                  " UR                  S   5      $ ru   rv   ro   s       r,   decision_functionEtest_metaestimator_delegation.<locals>.SubEstimator.decision_function   ry   r/   c                 $    U R                  5         g)N      ?rn   rc   s        r,   r?   9test_metaestimator_delegation.<locals>.SubEstimator.score   s    OOr/   )rb   ra   rM   r:   )rA   Nr&   )r0   r1   r2   r3   r-   rh   rk   rE   rD   rH   rF   rG   r   r?   r4   )rV   s   r,   SubEstimatorrY   b   s    	/	
	" 
	 
	 
	 
	 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	 
	r/   r   _rh   z does not have method z when its delegate doesr?   r   rA   )rM   z has method z when its delegate does not)r   __dict__keys
startswithsortDELEGATING_METAESTIMATORSr(   r*   hasattrr'   pytestraisesr
   getattrr)   rh   )r   kmethodsdelegator_datadelegate	delegatorrR   rV   s          @r,   test_metaestimator_delegationr   W   s[   .} .d &&++--A||C  	
)*e)< 	
-  
 LLN33>",,X6	F4448,,,,9--  #''-  ]]>2I.&//2N4K4KA4N 32
 ]]>2I.~/F/Fq/IJ 32% * 	~../F444 	*"++A.0G0G0J 	*>+B+B1+EF  F444#&9H&00:Ix0000y11  #''1 I 4. 32
 32s)   JJ)J-J%J
J
J/c           	      0   1 SkU-  (       a  [        U 5      (       a#  [        [        5       [        5       5      nSSS/0nO"[        [        5       [	        5       5      nSSS/0nUR                  SS15      (       a  SU;   a  SS	0O0 n[        U 5      " X#40 UD6$ [        U 5      " U5      $ S
U;   aL  S[        [        5       [        5       5      4S[        [        5       [        SS95      4/n[        U 5      " U5      $ SU;   a  [        U 5      (       a;  S[        [        5       [        SS95      4S[        [        5       [        SS95      4/nO:S[        [        5       [	        SS95      4S[        [        5       [	        SS95      4/n[        U 5      " U5      $ g)zLGiven a single meta-estimator instance, generate an instance with a pipeline>   	estimator	regressorbase_estimatorridge__alphag?r   logisticregression__Cr=   rB   rC   r<   transformer_listtrans1trans2F)	with_mean
estimatorsest1)alphaest2rA   )CN)	r   r   r   r   r   intersectiontyper   r   )meta_estimatorinit_paramsr   r=   extra_paramsr   s         r,   _get_instance_with_pipeliner      s   3kA''%o&7AI(3*5J%o&79K9MNI1C:>J##01
 
 -5,CHa=L'	NNN'	22[( }_%6GHo/%1PQ
 N#$455{"'''8%c:JKL'8%a.IJI !/"35G#5NO '8:Lq:QRSI N#I.. #r/   c               #     #    [        S[        [        5       5      5        [        [        5       5       H  u  p[	        [        U5      R                  5      n[        SUR                  U5        UR                  1 Sk5      (       d  MT  [        [        5         [        U5       H  n[        U5        [        X25      v   M     SSS5        M     g! , (       d  f       M  = f7f)zGenerate instances of meta-estimators fed with a pipeline

Are considered meta-estimators all estimators accepting one of "estimator",
"base_estimator" or "estimators".
zestimators: 
>   r   r   r   r   r   N)printlenr   sortedsetr   
parametersr0   r   r   r   r   r   )r   	Estimatorsigr   s       r,   0_generate_meta_estimator_instances_with_pipeliner      s      
.#n./0~/0)I&112dI&&,
 
 h"6y"An%1.FF #B   1  s   BC +CC 
C	C )AdaBoostClassifierAdaBoostRegressorr	   BaggingRegressorClassifierChainFrozenEstimatorIterativeImputerOneVsOneClassifierRANSACRegressorr   r   RegressorChainr   SequentialFeatureSelectorc                 .    U R                   R                  $ r&   )	__class__r0   )r   s    r,   _get_meta_estimator_idr   2  s    '''r/   r   )idsc                    [        U 5      n [        R                  R                  S5      n[	        U 5        SnUR                  [        R                  " / SQ[        S9US9n[        U 5      (       a  UR                  US9nOUR                  SUS9n[        X5      R                  5       n[        X5      R                  5       nU R                  X45        [        U S5      (       a   eg )Nr      )aabbcc)dtype)size   n_features_in_)r   r^   randomRandomStater   choicearrayobjectr   normalrandintr   tolistr   rh   r   )r   rng	n_samplesrd   re   s        r,   -test_meta_estimators_delegate_data_validationr   6  s     i I
))


"CYI

288.f=I
NAIJJIJ&KK	K* 	")/668A!)/668A
 MM! y"233333r/   )?__doc__rO   
contextlibr   inspectr   numpyr^   r   sklearn.baser   r   r   sklearn.datasetsr   sklearn.ensembler	   sklearn.exceptionsr
   sklearn.feature_extraction.textr   sklearn.feature_selectionr   r   sklearn.linear_modelr   r   sklearn.model_selectionr   r   sklearn.pipeliner   r   sklearn.preprocessingr   r   sklearn.semi_supervisedr   sklearn.utilsr   -sklearn.utils._test_common.instance_generatorr   sklearn.utils._testingr   r   sklearn.utils.estimator_checksr   r   sklearn.utils.validationr   r!   r   r   r   r   )DATA_VALIDATION_META_ESTIMATORS_TO_IGNOREr   r0   DATA_VALIDATION_META_ESTIMATORSr   markparametrizer   r7   s   0r,   <module>r      ss   %      ; ; 0 . - ; 0 : D 4 > : ( N = 5) )& *BCFY
 	
 Y %K9L+MN%P 
  /H=# Lrj,/^G>- )& @A#A
}}%NN A# ( 06L  44#s   /D?D?