`L i, dZddlZddlmZddlmZddlZddlZddl m Z m Z ddl m Z ddlmZddlmZdd lmZdd lmZmZdd lmZmZdd lmZmZdd lmZmZddl m!Z!m"Z"ddl#m$Z$ddl%m&Z&ddl'm(Z(ddl)m*Z*m+Z+ddl,m-Z-m.Z.ddl/m0Z0GddZ1e1dde1dddge1dddge1ded d!ge1d"egd#e1d$egd%e1d&d'gd(gZ2d)Z3d*Z4d+Z5gd,Z6e5Dcgc]}|jnjpe6vr|c}Z9d-Z:ejvjyd.e9e:/d0Z=ycc}w)1zCommon tests for metaestimatorsN)suppress) signature) BaseEstimator is_regressor)make_classification)BaggingClassifier)NotFittedError)TfidfVectorizer)RFERFECV)LogisticRegressionRidge) GridSearchCVRandomizedSearchCV)Pipeline make_pipeline) MaxAbsScalerStandardScalerSelfTrainingClassifier)all_estimators)_construct_instances)SkipTestset_random_state)_enforce_estimator_tags_X_enforce_estimator_tags_ycheck_is_fittedc&eZdZdedfdZy) DelegatorDatar) random_statec<||_||_||_||_yN)name constructfit_args skip_methods)selfr%r&r(r's g/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sklearn/tests/test_metaestimators.py__init__zDelegatorData.__init__ s! "  (N)__name__ __module__ __qualname__rr+r!r,r*r r s $!4 )r,r rctd|fgS)Nest)rr1s r*r32s(UCL>*Br,rc$t|ddgidS)Nparam) param_gridcv)rr2s r*r3r35sL'A3AFr,score)r(rc&t|ddgiddS)Nr5r6r7)param_distributionsr9n_iter)rr2s r*r3r3:s& gs^! r,r transforminverse_transformr )r?r@r:r)r?r@r: predict_probapredict_log_probapredictrct|Sr$rr2s r*r3r3Qs *3/r,)r?r@rAcdGfddt}|jjDcgc]&}|jds|jds|(}}|j t D]}|}|j |}|D]}||jvrt||sJt||sJ|jd|d|dk(rPtjt5t|||jd |jd dddtjt5t|||jd ddd|j|j|D]c}||jvr|dk(r.t|||jd |jd Et|||jd e|D]\}||jvr|| }|j |}t||rJt||sGJ|jd |d ycc}w#1swYxYw#1swYxYw)Nc$tfd}|S)Nc|jjk(rtd|jztj|S)Nz %r is hidden) hidden_methodr-AttributeError functoolspartial)objmethods r*wrapperz=test_metaestimator_delegation..hides..wrapperZs>  FOO3$^c6G6G%GHH$$VS1 1r,)property)rMrNs` r*hidesz,test_metaestimator_delegation..hidesYs  2  2 r,ceZdZd dZd dZdZWdZWdZWdZWdZ Wd Z Wd Z Wd Z y)3test_metaestimator_delegation..SubEstimatorNc ||_||_yr$)r5rH)r)r5rHs r*r+z.SubEstimator.__init__csDJ!.D r,c`tj|jd|_g|_y)Nr<T)nparangeshapecoef_classes_r)Xyargskwargss r*fitz7test_metaestimator_delegation..SubEstimator.fitgs$1771:.DJDMr,ct|yr$r)r)s r* _check_fitz>test_metaestimator_delegation..SubEstimator._check_fitls D !r,c&|j|Sr$rar)r[r]r^s r*r@zEtest_metaestimator_delegation..SubEstimator.inverse_transformo OO Hr,c&|j|Sr$rcrds r*r?z=test_metaestimator_delegation..SubEstimator.transformtrer,cf|jtj|jdSNrrarUonesrWrds r*rCz;test_metaestimator_delegation..SubEstimator.predicty# OO 771771:& &r,cf|jtj|jdSrhrirds r*rAzAtest_metaestimator_delegation..SubEstimator.predict_proba~rkr,cf|jtj|jdSrhrirds r*rBzEtest_metaestimator_delegation..SubEstimator.predict_log_probarkr,cf|jtj|jdSrhrirds r*decision_functionzEtest_metaestimator_delegation..SubEstimator.decision_functionrkr,c$|jy)N?rcrZs r*r:z9test_metaestimator_delegation..SubEstimator.scores OO r,)r<Nr$) r-r.r/r+r_rar@r?rCrArBror:)rPsr* SubEstimatorrRbs /   "          '  '  '  '  '  '  '  '    r,rr_r_z does not have method z when its delegate doesr:rr<)rHz has method z when its delegate does not)r__dict__keys startswithsortDELEGATING_METAESTIMATORSr&r(hasattrr%pytestraisesr getattrr'r_)rrkmethodsdelegator_datadelegate delegatorrMrPs @r*test_metaestimator_delegationrWs.}.d&&++- ||C e)< G  LLN30>",,X6  KF4448V, ,,9f- #'' - ]]>2.GIv.&//2N4K4KA4N ]]>2K.GIv.~/F/Fq/IJKK% K*  ~../ GF444 * 6*"++A.0G0G0J+ 6*>+B+B1+EF G F444#&9H&00:Ix0 00y&1 #'' 1 I0. KKs+I4.I I&I# &I0 chd|zrt|r#ttt}dddgi}n"ttt }dddgi}|j ddhrd|vrdd ini}t |||fi|St ||Sd |vrOd tttfd tttd fg}t ||Sd|vrt|rAdtttdfdtttdfg}n@dttt dfdttt dfg}t ||Sy)zLGiven a single meta-estimator instance, generate an instance with a pipeline> estimator regressorbase_estimator ridge__alphag?rqlogisticregression__Cr8r=r>r7transformer_listtrans1trans2F) with_mean estimatorsest1)alphaest2r<)CN) rrr rr intersectiontyperr)meta_estimator init_paramsrr8 extra_paramsrs r*_get_instance_with_pipeliners3kA  '%o&7AI(3*5J%o&79K9MNI1C:>J  # # 0 1 -5 ,CHa=L'4' :NN N'4' 2 2[(}_%6 G Ho/%1PQ  $tN#$455{"  ''8%c:JKL'8%a.IJI!/"35G#5NO'8:Lq:QRS I$tN#I..#r,c#KtdttttD]\}}t t |j }td|j||jhdsOtt5t|D]}t|t|| dddy#1swYxYww)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:  >rrrrrN) printlenrsortedsetr parametersr-rrrrr)rs Estimatorsigrs r*0_generate_meta_estimator_instances_with_pipeliners  .#n./0~/0G 9)I&112 dI&&,    h  G"6y"A Gn%1.#FF G G GG G GsBC*C< CC C)AdaBoostClassifierAdaBoostRegressorrBaggingRegressorClassifierChainFrozenEstimatorIterativeImputerOneVsOneClassifierRANSACRegressorr r RegressorChainrSequentialFeatureSelectorc.|jjSr$) __class__r-)rs r*_get_meta_estimator_idr2s    ' ''r,r)idsctjjd}t|d}|j tj gdt |}t|r|j|}n|jd|}t||j}t||j}|j||t|drJy)Nr)aabbcc)dtype)sizen_features_in_)rUrandom RandomStaterchoicearrayobjectrnormalrandintrtolistrr_ry)rrng n_samplesr[r\s r*-test_meta_estimators_delegate_data_validationr6s ))   "CYI 288.f=I NAI JJIJ & KK K * ")Q/668A!)Q/668A MM!Qy"233 33r,)>__doc__rJ contextlibrinspectrnumpyrUrz sklearn.baserrsklearn.datasetsrsklearn.ensemblersklearn.exceptionsr sklearn.feature_extraction.textr sklearn.feature_selectionr r sklearn.linear_modelr rsklearn.model_selectionrrsklearn.pipelinerrsklearn.preprocessingrrsklearn.semi_supervisedr sklearn.utilsr-sklearn.utils._test_common.instance_generatorrsklearn.utils._testingrrsklearn.utils.estimator_checksrrsklearn.utils.validationrr rxrrr)DATA_VALIDATION_META_ESTIMATORS_TO_IGNORErr-DATA_VALIDATION_META_ESTIMATORSrmark parametrizerr2s0r*rsk% 40.-;0:D4>:(N=5 ) )&*BCFY  Y %K9L+MN%P   /H=#Lrj,/^G>-)&@A#  }}%NN#(06L44#s?!E