`L i>7 `ddlZddlZddlZddlmZmZmZmZddl m Z ddl m Z m Z ddlmZddlmZddlmZmZddlmZdd lmZmZdd lmZmZed \ZZeed ZeddeddcZZ ejBjEdgddZ#ejBjEdd d gdZ$ejBjEdddddggejBjEdd d gdZ%ejBjEdgddZ&ejBjEdddgdZ'ejBjEdd d gdZ(ejBjEdd d gejBjEdddgdZ)ejBjEdeee d dd!ifeee d"d!d#d$feeed%ddifgd&Z*ejBjEdd d gd'Z+ejBjEdd d gd(Z,ejBjEd)ed*d+dfed*d+dfe dfgd,Z-d-Z.ejBjEdgd.d/Z/d0Z0y)1N) load_irismake_classificationmake_multilabel_classificationmake_regression)IsolationForest)LinearRegressionLogisticRegression)ClassifierChain)scale)DecisionTreeClassifierDecisionTreeRegressor)_MockEstimatorOnOffPrediction)_get_response_values_get_response_values_binary)assert_allcloseassert_array_equalT) return_X_yF)copydresponse_method)decision_function predict_probapredict_log_probact|g}d}|jjd}tjt |5t |||dddy#1swYyxYw)zLCheck the error message with regressor an not supported response method.)response_methods) mocking_datamocking_targetz should either be a classifiermatchrN)r __class____name__pytestraises ValueErrorr)r my_estimatorXerr_msgs g/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sklearn/utils/tests/test_response.py(test_get_response_values_regressor_errorr*sc 1?BSTL(A''0011OPG z 1O\1oNOOOs AA%return_response_method_usedctdd\}}tj||}t||d|}t |d|j ||dJ|r |ddk(sJyy) z=Check the behaviour of `_get_response_values` with regressor. r n_samples random_statepredictrr+N)rrfitrrr1)r+r'y regressorresultss r)"test_get_response_values_regressorr9+s Ra 8DAq "&&q!,I" !$? G wqz9#4#4Q#78 1:  "qzY&&&#r1rctdd\}}tdj||}t||||}t |t r|dn|}t ||}t|d|||dJ|r |d|k(sJyy) zDCheck the behaviour of `_get_response_values` with outlier detector.2rr.r0r2r3Nr4)rrr5r isinstancelistgetattrr)rr+r'r6outlier_detectorr8chosen_response_methodprediction_methods r)*test_get_response_values_outlier_detectionrD<s ! >r:z estimator, X, y, err_msg, paramsz.Expected 'estimator' to be a binary classifierautozCpos_label=unknown is not a valid label: It should be one of \[0 1\]unknownrIz.be a binary classifier. Got 3 classes instead.c|j||tjt|5t ||fi|dddy#1swYyxYw)zMCheck that we raise the proper error messages in _get_response_values_binary.rN)r5r#r$r%r) estimatorr'r6r(paramss r)test_get_response_errorrgsD:MM!Q z 1<#Iq;F;<<(*=>$( *&FI FJ44X>q!tDE >> o -- -*>,o>$( *&FI FJ88BC >> 1 11 1r:)rrr1ctd\}}ttj||}t |||\}}|J|j |j k(sJ|dk(r-t j|dk\|dkjsJy|dk(r1|dkjdkDsJ|dkDjdkDsJyt j|dk(|dk(jsJy)Nrr=r rr3r) rr r r5rrqrNrrrssum logical_or)rr'Yrer_rJs r)-test_get_response_values_multilabel_indicatorr|as *q 9DAq 2 4599!Q?I,1oFI    <<177 "" "/)~~fk6Q;7;;=== / / !A%%% !A%%%}}Vq[&A+6::<< 50% of samples" warning should not be raised when calling `type_of_target(classes_)`. Non-regression test for issue #31583. rxr]errorrr N) rNrandom RandomStaterandnrepeataranger r5warningscatch_warnings simplefilter UserWarningr)r'r6clfs r)9test_response_values_type_of_target_on_classes_no_warningrxs a &&sA.A "))B-#A   " "1a (C  "Fg{3S!_EFFFs )B99C)1rnumpyrNr#sklearn.datasetsrrrrsklearn.ensemblersklearn.linear_modelrr sklearn.multioutputr sklearn.preprocessingr sklearn.treer r sklearn.utils._mockingrsklearn.utils._responserrsklearn.utils._testingrrr'r6rirjmark parametrizer*r9rDrLrRr[rargrlrnrurwr|rr:r)rsL  -0'F@UFD!1 !%tWag(ROO6u F 'G ' #&99%EF6u F4G  4,J  "*_>Q,RSMTM"6u F&1G&1R6u F*_>Q,RS&TG&R& " #   <  '   # $   R &Y ?   # $ <  0  4<54<6u F-G-66u F1G16 !! QR  23**"26H==(Fr: