`L iddlZddlZddlZddlmZddlmZddlm Z m Z m Z m Z m Z mZddlmZddlmZddlmZmZddlmZmZdd lmZdd lmZmZdd lmZdd l m!Z!dd l"m#Z#m$Z$ddl%m&Z&ddl'm(Z(ejRdZ*ejRdZ+ejXj[dedfedfe!e$edfe!e$edfe$dfedfedfee$dgfe#dgfdfgejXj[dgddZ.eddZ/dZ0dZ1dZ2dZ3d Z4y)!N)assert_array_equal)config_context) BaseEstimatorclone is_classifier is_clustereris_outlier_detector is_regressor)KMeans)make_column_transformer)make_classificationmake_regression)NotFittedErrorUnsetMetadataPassedError)FrozenEstimator)LinearRegressionLogisticRegression)LocalOutlierFactor) make_pipeline) RobustScalerStandardScaler)set_random_state)check_is_fittedctSN)rf/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sklearn/frozen/tests/test_frozen.pyregression_datasetr s  rctSr)r rrrclassification_datasetr!%s   rzestimator, datasetrr!method)predict predict_probapredict_log_probadecision_function transformc|j|\}}t||j||t|}|jdggdgt ||r,t t |||t |||t|t|k(sJt|t|k(sJt|t|k(sJt|t|k(sJy)zTest that frozen.fit doesn't do anything, and that all other methods are exposed by the frozen estimator and return the same values as the estimator. r"N) getfixturevaluerfitrhasattrrgetattrrr rr ) estimatordatasetrequestr#Xyfrozens rtest_frozen_methodsr4*s<  " "7 +DAqY MM!Q Y 'F JJuqcy&!579f5a8:Q'&&:QRS:TU  #}V'< << <  "l6&: :: :  "l6&: :: : y )-@-H HH HrT)enable_metadata_routingcGddt}|\}}t|ddjdjd}|j ||dt |}|j |d|j |d|djdtjttjd  5|j |dd d d |djd tjt5|j |dd d d y #1swYTxYw#1swYy xYw) z8Test that metadata routing works with frozen estimators.c$eZdZddZddZddZy)6test_frozen_metadata_routing..ConsumesMetadataNc ||_||_yron_fit on_predict)selfr;r<s r__init__z?test_frozen_metadata_routing..ConsumesMetadata.__init__]s DK(DOrc4|jr|Jd|_|SNT)r;fitted_)r=r1r2metadatas rr+z:test_frozen_metadata_routing..ConsumesMetadata.fitas!{{+++DLKrc^|jr|Jtjt|Sr)r<nponeslen)r=r1rBs rr$z>test_frozen_metadata_routing..ConsumesMetadata.predictgs'+++773q6? "r)NNr)__name__ __module__ __qualname__r>r+r$rrrConsumesMetadatar8\s )   #rrJTr:)rBtestconsumesmetadataFz]Pipeline.predict got unexpected argument(s) {'metadata'}, which are not routed to any object.matchN) rrset_fit_requestset_predict_requestr+rr$pytestraises TypeErrorreescaper)rrJr1r2pipeliner3s rtest_frozen_metadata_routingrWXs6#=# DAq6 $ '  d  +H  LLAL' X &F Q( NN1vN& 22E2B ii $  + q6*+ 22D2A / 0+q6*++++++sD7E7EE cGddt}|\}}|j||}t|}tjt 5|j ||dddtjt 5|j||ddd|jdk(sJy#1swYOxYw#1swY'xYw)zATest that calling fit_transform and fit_predict doesn't call fit.c"eZdZdZddZddZy)%test_composite_fit..Estimatorc` |xjdz c_|S#t$r d|_Y|SwxYw)Nr") _fit_counterAttributeErrorr=r1r2s rr+z)test_composite_fit..Estimator.fits= &!!Q&!K" &$%!K &s --Ncyrrr^s r fit_transformz3test_composite_fit..Estimator.fit_transform rcyrrr^s r fit_predictz1test_composite_fit..Estimator.fit_predictrarr)rGrHrIr+r`rcrrr EstimatorrZs   rrdNr") rr+rrQrRr]rcr`r\)r!rdr1r2estr3s rtest_composite_fitrfsM "DAq +//!Q C S !F ~ &!1a ! ~ &#Q"#   ! ## # !!##sB1B=1B:=Cc|\}}tj||}t|}t|}|j|usJy)z.EstimatorcFt|}d|j_|Sr@)super__sklearn_tags__ input_tags categorical)r=tags __class__s rrqz4test_frozen_tags..Estimator.__sklearn_tags__s!7+-D*.DOO 'Kr)rGrHrIrq __classcell__)rus@rrdrns   rrdTFN)rrrq _skip_testrrrs)rdr.r3 frozen_tagsestimator_tagss rtest_frozen_tagsrzsM  I Y 'F))+K//1N  ! !T )) )  $ $ -- -  $ $ 0 0D 88 8  ! ! - - 55 5rcFt}t|}tjtd5|j dddd|j d|ik(sJt}|j ||j d|ik(sJy#1swYTxYw)z?Test that FrozenEstimator only exposes the estimator parameter.z&You cannot set parameters of the innerrMr") estimator__CNr.)r.)rrrQrR ValueError set_params get_paramsr)rer3 other_ests rtest_frozen_paramsrs  C S !F z)Q R*q)*    ;"4 44 4"$I  *    ; ": :: :**s BB )5rTnumpyrDrQ numpy.testingrsklearnr sklearn.baserrrrr r sklearn.clusterr sklearn.composer sklearn.datasetsr rsklearn.exceptionsrrsklearn.frozenrsklearn.linear_modelrrsklearn.neighborsrsklearn.pipelinersklearn.preprocessingrrsklearn.utils._testingrsklearn.utils.validationrfixturerr!mark parametrizer4rWrfrirkrzrrrrrs  ,"#3AG*E0*>34!!  12  78 ~')9); <>RS .*,>,@ A $   /0 '(  34 #!A3'!%  !  , WI -4I(-++.++\$>) 6, ;r