`L i+: ddlZddlZddlZddlmZmZddlmZm Z m Z ddl m Z ddl mZddlmZmZddlmZddlmZmZdd lmZej2d Zd Zd Zd ZdZdZdZ ejBjEdeedejFededdzdzfjHfgdZ%ejBjEdeedejFededdzdzfjHfgdZ&dZ'dZ(dZ)Gdde eZ*GddeZ+dZ,Gdde eZ-ejBjEd d!d"gd#Z.Gd$d%eZ/d&Z0d'Z1Gd(d)eZ2d*Z3ejBjEd+d,d-gd.Z4Gd/d0eZ5ejBjEd1ddgd2Z6y)3N)config_contextdatasets) BaseEstimatorTransformerMixinclone)TransformedTargetRegressor)DummyRegressor)LinearRegressionOrthogonalMatchingPursuit)Pipeline)FunctionTransformerStandardScalerassert_allclose) random_statect\}}ttttj tj }tjtd5|j||dddt j|jdf}ttt}tjtd5|j|||dddttj }tjtd 5|j||dddttj }tjtd 5|j||dddy#1swY#xYw#1swYxYw#1swYsxYw#1swYyxYw) N) regressor transformerfunc inverse_funczE'transformer' and functions 'func'/'inverse_func' cannot both be set.matchrrrz:fit\(\) got an unexpected keyword argument 'sample_weight') sample_weight)rz=When 'func' is provided, 'inverse_func' must also be provided)rz=When 'inverse_func' is provided, 'func' must also be provided)friedmanrr rnpexplogpytestraises ValueErrorfitonesshaper TypeError)Xyregrrs g/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sklearn/compose/tests/test_target.py%test_transform_target_regressor_errorr*sd DAq %"$"$ VVVV  D U  A  GGQWWQZM*M %+->;K D K 4 A]3 4 &266 2D M  A  &266 :D M  A 344s0 FF!(F-8F9F!F*-F69Gc2t\}}tttjtj d}t jtd5|j||dddtttjtj }|jdtj5tjdt|j||dddy#1swYxYw#1swYyxYw) NT)rrr check_inversez?The provided functions.* are not strictly inverse of each otherrrrrF)r,error)rrr rsqrtrrwarns UserWarningr" set_paramswarningscatch_warnings simplefilterr&r'r(s r)*test_transform_target_regressor_invertibler7;s DAq %"$ WWVV  D Q  A  &"$277 D OO%O(  "g{3 AsD -D D  Dctj|d}tj|d}t||z |z |y)Nr)axis)rmeanstdr)r'y_predy_meany_stds r)_check_standard_scaledr?Rs5 WWQQ F FF11 EQZ5(&1c"t|dz|yNr)r'r<s r)_check_shifted_by_onerDXsAE6"r@c nt\}}tttjtj }|j ||j|}|jj|jddj}ttj||t||jj|jddj|j|jk(sJt||j|j j|tj ||j#|}t|j j$j'|j$j'y)Nr-rC)rrr rrrr"predict transformer_ transformreshapesqueezerinverse_transformr$r regressor_rcoef_ravelr&r'r(r<y_tranlrs r))test_transform_target_regressor_functionsrS\s2 DAq %"$266 DXXa^ # #A &F    ( (2q)9 : B B DFBFF1Iv& 4   . .v~~b!/D E M M O 77fll "" "FD--doo.E.Ea.HIJ    499Q< 0BDOO))//1288>>3CDr@c`td}tjtdtddzdzfj}t t tj tj}|j||j|}|jj|}ttj ||t||jj||j|jk(sJt||j|j j|t j||j#|}t|j j$j'|j$j'y)NrrCr-)rrvstackTrr rrr"rGrHrIrrLr$rrMrrNrOrPs r)5test_transform_target_regressor_functions_multioutputrXos0 A 8A; q 01 45688A %"$266 DXXa^ # #A &F    ( ( +FBFF1Iv&At((::6BC 77fll "" "FD--doo.E.Ea.HIJ    499Q< 0BDOO))//1288>>3CDr@zX,yrCrUctdd}tt|}|j||j |}|j |j k(sJ|j j|}t|||j |j k(sJt||j j|jt}t|}|j||j||j |}t||j|t|jj|jy)Nc |dzSrBxs r)z@test_transform_target_regressor_1d_transformer..s q1ur@c |dz SrBr[r\s r)r^z@test_transform_target_regressor_1d_transformer..s QUr@rrr)r rr r"rGr$rHrIrDrrLrKr fit_transformrMrN r&r'rr(r<rQrR transformer2 y_lr_preds r).test_transform_target_regressor_1d_transformerres& ?K &"$+ DXXa^ # #A &F 77fll "" "    ( ( +F!V$ 77fll "" "At((::6BJJLM  B%LFF1l((+, 1 IFL::9EFDOO))2884r@c pt}tt|}|j||j |}|j |j k(sJ|j dk(r,|jj|jdd}n|jj|}t||j|j |j k(sJt||jj|jt}t|}|j dk(r|j||j|jddj|j |jdd}|j|j} nC|j||j||j |}|j|} t|| t|j j"|j"y)NrrCrF)rrr r"rGr$ndimrHrIrJr?rKrrLrrarMrN) r&r'rr(r<rQrRrcrdy_pred2s r).test_transform_target_regressor_2d_transformerris !"K %"$+ DXXa^ # #A &F 77fll "" "vv{"",,QYYr1-=>"",,Q/1fnn./ 77fll "" "At((::6BJJLM  B%Lvv{ q,,,QYYr1-=>FFHIJJqM))"a0 00;CCE q,,,Q/0JJqM 00;FG$DOO))2884r@c8td}tjtdtddzdzfj}t }t t |}|j||j|}|j|jk(sJ|jj|}t|||j|jk(sJt||jj|jt }t!|}|j||j#||j|}t||j|t|j$j&|j&y)NrrCrUr)rrrVrWrrr r"rGr$rHrIr?rrLrKrrarMrNrbs r):test_transform_target_regressor_2d_transformer_multioutputrksC  A 8A; q 01 45688A "K %"$+ DXXa^ # #A &F 77fll "" "    ( ( +F1f% 77fll "" "At((::6BJJLM  B%LFF1l((+, 1 IFL::9EFDOO))2884r@c>td}tjtdjdddgd}d}d}t ||}t t |}|j||j|}|j|jk(sJy) NrrCrF)rCrUc@|j|jddS)NrrFrJr$datas r) flatten_dataz?test_transform_target_regressor_3d_target..flatten_datas||DJJqM2..r@cB|j|jdddS)NrrFrUrorps r)unflatten_datazAtest_transform_target_regressor_3d_target..unflatten_datas||DJJqM2q11r@r`r) rrtilerJr rr r"rGr$)r&r'rrrtrr(r<s r))test_transform_target_regressor_3d_targetrvs  A  ##B1-y9A/2&.funcs@gga1glQq!tW\121bjj=!!r@c|SNr[r's r)rzEtest_transform_target_regressor_multi_to_single..inverse_funcr@F)rrr,)drCcZtj|dddfdz|dddfdzzSry)rr/r~s r)rz=test_transform_target_regressor_multi_to_single..funcs.wwqAw!|a1gl233r@)rr transposerr"rGr$r)r&r'rrtty_pred_2d_funcy_pred_1d_funcs r)/test_transform_target_regressor_multi_to_singlers A hqkHQK1$4q$8:;A" $  E BFF1aLZZ]N   8 ++ +4 $  E BFF1aLZZ]N   8 ++ +NN3r@c eZdZddZdZdZy)DummyCheckerArrayTransformerNc>t|tjsJ|Sr} isinstancerndarrayselfr&r's r)r"z DummyCheckerArrayTransformer.fits!RZZ((( r@c>t|tjsJ|Sr}rrr&s r)rIz&DummyCheckerArrayTransformer.transform!RZZ(((r@c>t|tjsJ|Sr}rrs r)rLz.DummyCheckerArrayTransformer.inverse_transformrr@r})__name__ __module__ __qualname__r"rIrLr[r@r)rrsr@rc*eZdZdfd ZfdZxZS)DummyCheckerListRegressorcJt|tsJt| |||Sr})rlistsuperr")rr&r'r __class__s r)r"zDummyCheckerListRegressor.fit#s&!T"""w{1a//r@cFt|tsJt| |Sr})rrrrG)rr&rs r)rGz!DummyCheckerListRegressor.predict's"!T"""wq!!r@r})rrrr"rG __classcell__rs@r)rr"s0""r@rct\}}tttd}|j |j |j |j |j tjt5|j ||j dddtjt5|j |dddy#1swY=xYw#1swYyxYw)NF)rrr,) rrrrr"tolistrGrr AssertionError)r&r'rs r).test_transform_target_regressor_ensure_y_arrayr,s DAq #02+- B FF188:qxxz"JJqxxz ~ & q!((* ~ & 1 s!C+C7+C47Dc,eZdZdZddZddZdZdZy) DummyTransformerz;Dummy transformer which count how many time fit was called.c||_yr} fit_counter)rrs r)__init__zDummyTransformer.__init__As &r@Nc0|xjdz c_|SrBrrs r)r"zDummyTransformer.fitDs A r@c|Sr}r[rs r)rIzDummyTransformer.transformHrr@c|Sr}r[rs r)rLz"DummyTransformer.inverse_transformKrr@)rr})rrr__doc__rr"rIrLr[r@r)rr>sE'r@rr,FTct\}}tt|}|j|||jj dk(sJy)N)rr,rC)rrrr"rHr)r,r&r'ttrs r))test_transform_target_regressor_count_fitrOsH DAq $$&m CGGAqM    ' '1 ,, ,r@c eZdZdfd ZxZS) DummyRegressorWithExtraFitParamsc.|rJt||||Sr})rr")rr&r'r check_inputrs r)r"z$DummyRegressorWithExtraFitParams.fit\s w{1a//r@NT)rrrr"rrs@r)rr[s 00r@rct\}}ttt}|j ||d|j j dk(sJy)NrFrrC)rrrrr"rHrr6s r)3test_transform_target_regressor_pass_fit_parametersrcsO DAq %24BRBT D HHQuH%    ( (A -- -r@ct\}}ttt}dt fd|fg}t |}|j ||fiddi|jjdk(sJy)Nr normalizeestest__check_inputFrC) rrrrrr r"rHr)r&r'r( estimatorspips r).test_transform_target_regressor_route_pipelinermsx DAq %24BRBT D 01E4=AJ : C CGGAq0'/0    ( (A -- -r@c eZdZdfd ZxZS)$DummyRegressorWithExtraPredictParamsc8d|_|rJt| |Sr)predict_calledrrG)rr&rrs r)rGz,DummyRegressorWithExtraPredictParams.predict|s$#wq!!r@)T)rrrrGrrs@r)rr{s ""r@rct\}}ttt}|j |||j |d|j jsJy)NrFr)rrrrr"rGrMrr6s r)=test_transform_target_regressor_pass_extra_predict_parametersrsS DAq %68FVFX D HHQNLLL& ?? ) )) )r@ output_formatpandaspolarsctj\}}tj|dz}t |5t j 5t jdtttjtjj||ddddddy#1swYxYw#1swYyxYw)zTest that TransformedTargetRegressor will not raise warnings if set_config(transform_output="pandas"/"polars") is set globally; regression test for issue #29361.rC)transform_outputr.r-N) rmake_regressionrabsrr3r4r5rr rrr")rr&r's r)@test_transform_target_regressor_not_warns_with_global_output_setrs  # # %DAq q A A  7  $ $ &   ! !' * &*,266 c!Qi    s$CAB:)C:C ?CCc"eZdZdZdZdZdZy)ValidateDimensionRegressorzLA regressor that expects the target to have a specific number of dimensions.c||_yr}rg)rrgs r)rz#ValidateDimensionRegressor.__init__s  r@c:|j|jk(sJyr}rrs r)r"zValidateDimensionRegressor.fitsvv"""r@cyr}r[rs r)rGz"ValidateDimensionRegressor.predicts r@N)rrrrrr"rGr[r@r)rrsV# r@rrgctjddd\}}|dk(r|jdd}tt |}|j ||y ) zCheck that TransformedTargetRegressor internally preserves the shape of the input non-regression test for issue #26530. *) n_samples n_featuresrrUrFrC)rN)rrrJrrr")rgr&r'r(s r)5test_transform_target_regressor_preserves_input_shapersP  # #bQR PDAq qy IIb!  %0J40P QDHHQNr@)7r3numpyrrsklearnrr sklearn.baserrrsklearn.composer sklearn.dummyr sklearn.linear_modelr r sklearn.pipeliner sklearn.preprocessingr rsklearn.utils._testingrmake_friedman1rr*r7r?rDrSrXmark parametrizerVrWrerirkrvrrrrrrrrrrrrrrr[r@r)rs ,??6(L%E2 "8 " " 2&R.2 #E&E$ Hx{IBIIx{HQK1" *8X*>? @     !Q( ) r@