§
    §éUg;(  ã                   óx  — d Z ddlZddlmZ ddlZddlZddlmZ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mZ ddlmZmZ ddlmZmZ ddlmZ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+  G d„ d¦  «        Z, e,dd„ ¦  «         e,dd„ dg¬¦  «         e,dd„ dg¬¦  «         e,deddg¬¦  «         e,d eddg¬¦  «         e,d!eg d"¢¬¦  «         e,d#d$„ g d%¢¬¦  «        gZ-d&„ Z.d'„ Z/g d(¢Z0d)„  e/¦   «         D ¦   «         Z1d*„ Z2ej3         4                    d+e1e2¬,¦  «        d-„ ¦   «         Z5dS ).zCommon tests for metaestimatorsé    N)Ú	signature)ÚBaseEstimatorÚis_regressor)Úmake_classification)ÚBaggingClassifier)ÚNotFittedError)ÚTfidfVectorizer)ÚRFEÚRFECV)ÚLogisticRegressionÚRidge)ÚGridSearchCVÚRandomizedSearchCV)ÚPipelineÚmake_pipeline)ÚMaxAbsScalerÚStandardScaler©ÚSelfTrainingClassifier)Úall_estimators)Úset_random_state)Ú_enforce_estimator_tags_XÚ_enforce_estimator_tags_y©Úcheck_is_fittedc                   ó.   — e Zd Zd ed¬¦  «        fd„ZdS )ÚDelegatorData© r   )Úrandom_statec                 ó>   — || _         || _        || _        || _        d S ©N)ÚnameÚ	constructÚfit_argsÚskip_methods)Úselfr"   r#   r%   r$   s        ú`/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/sklearn/tests/test_metaestimators.pyÚ__init__zDelegatorData.__init__   s'   € ð ˆŒ	Ø"ˆŒØ ˆŒØ(ˆÔÐÐó    N)Ú__name__Ú
__module__Ú__qualname__r   r(   r   r)   r'   r   r      s>   € € € € € ð
 Ø$Ð$°!Ð4Ñ4Ô4ð
)ð 
)ð 
)ð 
)ð 
)ð 
)r)   r   r   c                 ó&   — t          d| fg¦  «        S )NÚest)r   ©r.   s    r'   ú<lambda>r0   ,   s   € ­(°U¸C°L°>Ñ*BÔ*B€ r)   r   c                 ó,   — t          | ddgid¬¦  «        S )NÚparamé   é   )Ú
param_gridÚcv)r   r/   s    r'   r0   r0   /   s   € •L °'¸A¸3°ÀAÐFÑFÔF€ r)   Úscore)r%   r   c                 ó.   — t          | ddgidd¬¦  «        S )Nr2   r3   r4   é   )Úparam_distributionsr6   Ún_iter)r   r/   s    r'   r0   r0   4   s%   € Õ&Ø g°¨s ^¸À!ð
ñ 
ô 
€ r)   r
   Ú	transformÚinverse_transformr   r   )r<   r=   r7   Úpredict_probaÚpredict_log_probaÚpredictr   c                 ó    — t          | ¦  «        S r!   r   r/   s    r'   r0   r0   I   s   € Õ*¨3Ñ/Ô/€ r)   )r<   r=   r>   c                  óÆ  ‡— d„ Š G ˆfd„dt           ¦  «        } d„ | j                             ¦   «         D ¦   «         }|                     ¦   «          t          D �]} | ¦   «         }|                     |¦  «        }|D �]}||j        v rŒt          ||¦  «        sJ ‚t          ||¦  «        sJ |j        ›d|›d�¦   «         ‚|dk    rbt          j
        t          ¦  «        5   t          ||¦  «        |j        d         |j        d	         ¦  «         d d d ¦  «         n# 1 swxY w Y   Œ¬t          j
        t          ¦  «        5   t          ||¦  «        |j        d         ¦  «         d d d ¦  «         n# 1 swxY w Y   �Œ |j        |j        Ž  |D ]g}||j        v rŒ|dk    r1 t          ||¦  «        |j        d         |j        d	         ¦  «         ŒC t          ||¦  «        |j        d         ¦  «         Œh|D ]d}||j        v rŒ | |¬
¦  «        }|                     |¦  «        }t          ||¦  «        rJ ‚t          ||¦  «        rJ |j        ›d|›d�¦   «         ‚Œe�Œ	d S )Nc                 ó,   ‡ — t           ˆ fd„¦   «         }|S )Nc                 ó|   •— | j         ‰j        k    rt          d| j         z  ¦  «        ‚t          j        ‰| ¦  «        S )Nz%r is hidden)Úhidden_methodr*   ÚAttributeErrorÚ	functoolsÚpartial)ÚobjÚmethods    €r'   Úwrapperz=test_metaestimator_delegation.<locals>.hides.<locals>.wrapperR   s<   ø€ àÔ  F¤OÒ3Ð3Ý$ ^°cÔ6GÑ%GÑHÔHÐHÝÔ$ V¨SÑ1Ô1Ð1r)   )Úproperty)rJ   rK   s   ` r'   Úhidesz,test_metaestimator_delegation.<locals>.hidesQ   s-   ø€ Ý	ð	2ð 	2ð 	2ð 	2ñ 
Œð	2ð
 ˆr)   c                   óÀ   •— e Zd Zdd„Zdd„Zd„ Z” d„ ¦   «         Z” d„ ¦   «         Z” d„ ¦   «         Z” d	„ ¦   «         Z	” d
„ ¦   «         Z
” d„ ¦   «         Z” d„ ¦   «         ZdS )ú3test_metaestimator_delegation.<locals>.SubEstimatorr9   Nc                 ó"   — || _         || _        d S r!   )r2   rE   )r&   r2   rE   s      r'   r(   z<test_metaestimator_delegation.<locals>.SubEstimator.__init__[   s   € ØˆDŒJØ!.ˆDÔÐÐr)   c                 ó\   — t          j        |j        d         ¦  «        | _        g | _        dS )Nr9   T)ÚnpÚarangeÚshapeÚcoef_Úclasses_©r&   ÚXÚyÚargsÚkwargss        r'   Úfitz7test_metaestimator_delegation.<locals>.SubEstimator.fit_   s%   € Ýœ 1¤7¨1¤:Ñ.Ô.ˆDŒJØˆDŒMØ�4r)   c                 ó$   — t          | ¦  «         d S r!   r   )r&   s    r'   Ú
_check_fitz>test_metaestimator_delegation.<locals>.SubEstimator._check_fitd   s   € Ý˜DÑ!Ô!Ð!Ð!Ð!r)   c                 ó.   — |                       ¦   «          |S r!   ©r^   ©r&   rX   rZ   r[   s       r'   r=   zEtest_metaestimator_delegation.<locals>.SubEstimator.inverse_transformg   ó   € à�OŠOÑÔÐØˆHr)   c                 ó.   — |                       ¦   «          |S r!   r`   ra   s       r'   r<   z=test_metaestimator_delegation.<locals>.SubEstimator.transforml   rb   r)   c                 óh   — |                       ¦   «          t          j        |j        d         ¦  «        S ©Nr   ©r^   rR   ÚonesrT   ra   s       r'   r@   z;test_metaestimator_delegation.<locals>.SubEstimator.predictq   ó(   € à�OŠOÑÔÐÝ”7˜1œ7 1œ:Ñ&Ô&Ð&r)   c                 óh   — |                       ¦   «          t          j        |j        d         ¦  «        S re   rf   ra   s       r'   r>   zAtest_metaestimator_delegation.<locals>.SubEstimator.predict_probav   rh   r)   c                 óh   — |                       ¦   «          t          j        |j        d         ¦  «        S re   rf   ra   s       r'   r?   zEtest_metaestimator_delegation.<locals>.SubEstimator.predict_log_proba{   rh   r)   c                 óh   — |                       ¦   «          t          j        |j        d         ¦  «        S re   rf   ra   s       r'   Údecision_functionzEtest_metaestimator_delegation.<locals>.SubEstimator.decision_function€   rh   r)   c                 ó.   — |                       ¦   «          dS )Nç      ð?r`   rW   s        r'   r7   z9test_metaestimator_delegation.<locals>.SubEstimator.score…   s   € à�OŠOÑÔÐØ�3r)   )r9   Nr!   )r*   r+   r,   r(   r\   r^   r=   r<   r@   r>   r?   rl   r7   )rM   s   €r'   ÚSubEstimatorrO   Z   s	  ø€ € € € € ð	/ð 	/ð 	/ð 	/ð	ð 	ð 	ð 	ð
	"ð 	"ð 	"ð 
ð	ð 	ñ 
Œð	ð 
ð	ð 	ñ 
Œð	ð 
ð	'ð 	'ñ 
Œð	'ð 
ð	'ð 	'ñ 
Œð	'ð 
ð	'ð 	'ñ 
Œð	'ð 
ð	'ð 	'ñ 
Œð	'ð 
ð	ð 	ñ 
Œð	ð 	ð 	r)   ro   c                 óf   — g | ].}|                      d ¦  «        °|                      d¦  «        °,|‘Œ/S )Ú_r\   )Ú
startswith)Ú.0Úks     r'   ú
<listcomp>z1test_metaestimator_delegation.<locals>.<listcomp>Š   sP   € ð ð ð àØ�|Š|˜CÑ Ô ðð *+¯ª°eÑ)<Ô)<ðØ	ðð ð r)   z does not have method z when its delegate doesr7   r   r9   )rE   z has method z when its delegate does not)r   Ú__dict__ÚkeysÚsortÚDELEGATING_METAESTIMATORSr#   r%   Úhasattrr"   ÚpytestÚraisesr   Úgetattrr$   r\   )ro   ÚmethodsÚdelegator_dataÚdelegateÚ	delegatorrJ   rM   s         @r'   Útest_metaestimator_delegationr‚   O   sÃ  ø€ ðð ð ð.ð .ð .ð .ð .ð .ð .•}ñ .ô .ð .ð`ð àÔ&×+Ò+Ñ-Ô-ðñ ô €Gð
 ‡L‚L�N„N€Nå3ð .ñ .ˆØ�<‘>”>ˆØ"×,Ò,¨XÑ6Ô6ˆ	Øð 	Kñ 	KˆFØ˜Ô4Ð4Ð4ØÝ˜8 VÑ,Ô,Ð,Ð,Ð,ÝØ˜6ñô ð ð ð Ô#Ð#Ð#Ø��ðñô ð ð ˜Ò Ð Ý”]¥>Ñ2Ô2ð ð Ø.•G˜I vÑ.Ô.Ø&Ô/°Ô2°NÔ4KÈAÔ4Nñô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð øõ
 ”]¥>Ñ2Ô2ð Kð KØ.•G˜I vÑ.Ô.¨~Ô/FÀqÔ/IÑJÔJÐJðKð Kð Kñ Kô Kð Kð Kð Kð Kð Kð Køøøð Kð Kð Kð Kùð 	ˆ	Œ�~Ô.Ð/Ð/Øð 		Gð 		GˆFØ˜Ô4Ð4Ð4Øà˜Ò Ð Ø*•˜	 6Ñ*Ô*Ø"Ô+¨AÔ.°Ô0GÈÔ0Jñô ð ð ð +•˜	 6Ñ*Ô*¨>Ô+BÀ1Ô+EÑFÔFÐFÐFàð 	ð 	ˆFØ˜Ô4Ð4Ð4ØØ#�|°&Ð9Ñ9Ô9ˆHØ&×0Ò0°Ñ:Ô:ˆIÝ˜x¨Ñ0Ô0Ð0Ð0Ð0ÝØ˜6ñô ð ð ð Ô#Ð#Ð#Ø��ðñô ð ð ñ	ðG.ð .s$   Ã1DÄD Ä#D Å%E2Å2E6Å9E6c            	   #   óT  K  — t          t          ¦   «         ¦  «        D �]\  } }t          t          |¦  «        j        ¦  «        }d|v sd|v sd|v r™t          |¦  «        r/t          t          ¦   «         t          ¦   «         ¦  «        }dddgi}n.t          t          ¦   «         t          ¦   «         ¦  «        }dddgi}d|v sd	|v rd
|v rd
dini } |||fi |¤ŽV — Œ¾ ||¦  «        V — ŒÌd|v redt          t          ¦   «         t          ¦   «         ¦  «        fdt          t          ¦   «         t          d¬¦  «        ¦  «        fg} ||¦  «        V — �Œ5d|v rÏt          |¦  «        rYdt          t          ¦   «         t          d¬¦  «        ¦  «        fdt          t          ¦   «         t          d¬¦  «        ¦  «        fg}nXdt          t          ¦   «         t          d¬¦  «        ¦  «        fdt          t          ¦   «         t          d¬¦  «        ¦  «        fg} ||¦  «        V — �Œ�Œ
dS )zµGenerate instances of meta-estimators fed with a pipeline

    Are considered meta-estimators all estimators accepting one of "estimator",
    "base_estimator" or "estimators".
    Ú	estimatorÚbase_estimatorÚ	regressorÚridge__alphagš™™™™™¹?rn   Úlogisticregression__Cr5   r:   r;   r4   Útransformer_listÚtrans1Útrans2F)Ú	with_meanÚ
estimatorsÚest1)ÚalphaÚest2r9   )ÚCN)Úsortedr   Úsetr   Ú
parametersr   r   r	   r   r   r   r   )rq   Ú	EstimatorÚsigr„   r5   Úextra_paramsr‰   s          r'   Ú0_generate_meta_estimator_instances_with_pipeliner˜   Â   sˆ  è è € õ �~Ñ/Ô/Ñ0Ô0ð /ñ /‰ˆˆ9Ý•)˜IÑ&Ô&Ô1Ñ2Ô2ˆà˜#ÐÐÐ!1°SÐ!8Ð!8¸KÈ3Ð<NÐ<NÝ˜IÑ&Ô&ð CÝ)­/Ñ*;Ô*;½U¹W¼WÑEÔE�	Ø,¨s°C¨jÐ9�
�
å)­/Ñ*;Ô*;Õ=OÑ=QÔ=QÑRÔR�	Ø5¸¸S°zÐB�
à˜sÐ"Ð"Ð&;¸sÐ&BÐ&Bà08¸C°° ¨!˜}˜}ÀR�Ø�i 	¨:ÐFÐF¸ÐFÐFÐFÐFÐFÐFà�i 	Ñ*Ô*Ð*Ð*Ð*Ð*à 3Ð&Ð&ð �=­Ñ):Ô):½L¹N¼NÑKÔKÐLàÝ!¥/Ñ"3Ô"3µ^ÈeÐ5TÑ5TÔ5TÑUÔUðð Ðð �)Ð,Ñ-Ô-Ð-Ð-Ð-Ñ-à˜SÐ Ð å˜IÑ&Ô&ð à�]­?Ñ+<Ô+<½eÈ#Ð>NÑ>NÔ>NÑOÔOÐPØ�]­?Ñ+<Ô+<½eÈ!¸n¹n¼nÑMÔMÐNð�	�	ð Ý%¥oÑ&7Ô&7Õ9KÈcÐ9RÑ9RÔ9RÑSÔSðð �]­?Ñ+<Ô+<Õ>PÐSTÐ>UÑ>UÔ>UÑVÔVÐWð�	ð �)˜IÑ&Ô&Ð&Ð&Ð&Ñ&ñ ð_/ð /r)   )ÚAdaBoostClassifierÚAdaBoostRegressorr   ÚBaggingRegressorÚClassifierChainÚIterativeImputerÚOneVsOneClassifierÚRANSACRegressorr
   r   ÚRegressorChainr   ÚSequentialFeatureSelectorc                 ó8   — g | ]}|j         j        t          v¯|‘ŒS r   )Ú	__class__r*   Ú)DATA_VALIDATION_META_ESTIMATORS_TO_IGNORE)rs   r.   s     r'   ru   ru     s3   € ð #ð #ð #àØ
„}ÔÕ%NÐNÐNð àNÐNÐNr)   c                 ó   — | j         j        S r!   )r£   r*   )r„   s    r'   Ú_get_meta_estimator_idr¦     s   € ØÔÔ'Ð'r)   r„   )Úidsc                 ó  — t           j                             d¦  «        }t          | ¦  «         d}|                     t          j        g d¢t          ¬¦  «        |¬¦  «        }t          | ¦  «        r|                     |¬¦  «        }n| 	                    d|¬¦  «        }t          | |¦  «                             ¦   «         }t          | |¦  «                             ¦   «         }|                      ||¦  «         t          | d¦  «        rJ ‚d S )Nr   é   )ÚaaÚbbÚcc)Údtype)Úsizeé   Ún_features_in_)rR   ÚrandomÚRandomStater   ÚchoiceÚarrayÚobjectr   ÚnormalÚrandintr   Útolistr   r\   rz   )r„   ÚrngÚ	n_samplesrX   rY   s        r'   Ú-test_meta_estimators_delegate_data_validationr»     sþ   € õ Œ)×
Ò
 Ñ
"Ô
"€CÝ�YÑÔÐà€IØ�
Š
•2”8Ð.Ð.Ð.µfÐ=Ñ=Ô=ÀIˆ
ÑNÔN€Aå�IÑÔð +Ø�JŠJ˜IˆJÑ&Ô&ˆˆà�KŠK˜ 	ˆKÑ*Ô*ˆõ 	" )¨QÑ/Ô/×6Ò6Ñ8Ô8€AÝ! )¨QÑ/Ô/×6Ò6Ñ8Ô8€Að
 ‡M‚M�!�QÑÔÐõ �yÐ"2Ñ3Ô3Ð3Ð3Ð3Ð3Ð3r)   )6Ú__doc__rG   Úinspectr   ÚnumpyrR   r{   Úsklearn.baser   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._testingr   Úsklearn.utils.estimator_checksr   r   Úsklearn.utils.validationr   r   ry   r‚   r˜   r¤   ÚDATA_VALIDATION_META_ESTIMATORSr¦   ÚmarkÚparametrizer»   r   r)   r'   ú<module>rÑ      sU  ðØ %Ð %à Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø €€€à 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø .Ð .Ð .Ð .Ð .Ð .Ø -Ð -Ð -Ð -Ð -Ð -Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ø DÐ DÐ DÐ DÐ DÐ DÐ DÐ DØ 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ø :Ð :Ð :Ð :Ð :Ð :Ø (Ð (Ð (Ð (Ð (Ð (Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3ðð ð ð ð ð ð ð ð 5Ð 4Ð 4Ð 4Ð 4Ð 4ð)ð )ð )ð )ð )ñ )ô )ð )ð €M�*ÐBÐBÑCÔCØ€MØØFÐFØ�Yðñ ô ð
 €MØð	
ð 	
ð �Yðñ ô ð €M�%˜¨KÐ9LÐ+MÐNÑNÔNØ€M�'˜5°Ð=PÐ/QÐRÑRÔRØ€MØØð
ð 
ð 
ðñ ô ð €MØ Ø/Ð/ØHÐHÐHðñ ô ð9!Ð ðHpð pð pðf5ð 5ð 5ðv-ð -ð -Ð )ð #ð #à?Ð?ÑAÔAð#ñ #ô #Ð ð(ð (ð (ð „×ÒØÐ0Ð6Lð ñ ô ð4ð 4ñô ð4ð 4ð 4r)   