`L i  tddlZddlZddlmZddlmZddlmZddl m Z m Z ddl m Z mZddlmZddlmZej&d Zd Zd Zej.j1d id eideieedgdZej.j1d d eideieedeedeedgdZej.j1dgddZej.j1dgddZej.j1dgddZej.j1dedZdZdZ ej.j1ddgddggej.j1d gdd!Z!ej.j1d"dgddgdd#ggd$gd%Z"y)&N)assert_array_equal)sparse load_iris)_safe_indexing check_array)CheckingClassifier_MockEstimatorOnOffPrediction)_convert_container)CSR_CONTAINERSctdS)NT) return_X_yrf/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sklearn/utils/tests/test_mocking.pyirisrs  %%rcy)NTrxs r_successrs rcy)NFrrs r_failrs rkwargscheck_Xcheck_y)rrcD|\}}tdi|j||yNr)r fit)rrXys rtest_check_on_fit_successr!s% DAq  $$Q*rc|\}}tdi|}tjt5|j ||dddy#1swYyxYwrr pytestraisesAssertionErrorr)rrrr clfs rtest_check_on_fit_failr(+sH DAq  &v &C ~ & 1 s AA pred_func)predict predict_probadecision_functionscorecr|\}}ttj||}t|||yNr)r rrgetattrrr)rr r's rtest_check_X_on_predict_successr3<s5 DAq X . 2 21a 8CGCArc|\}}ttj||}|jtt j t5t|||dddy#1swYyxYwr/) r rr set_paramsrr$r%r&r1r2s rtest_check_X_on_predict_failr6Esd DAq X . 2 21a 8CNN5N! ~ &#Y"###s A11A: input_type)listarrayr dataframec|\}}t||}tj||tjt j |tjdk(sJjdk(sJj|}tfd|DsJj|tjdk(sJjdj||j|tjdk(sJj|}|j dk(sJt j"|dk\|dkjsJj%|}|j dk(sJt j&|dk(|dk(}t)||}t)||}j||j|}|j d k(sJt j"|dk\|dkjsJj%|}|j d k(sJy) Nc3:K|]}|jvyw)N)classes_).0predr's r z+test_checking_classifier..]s7ts||#7sr ) foo_param)r<)d)rG)r r rrr?npuniquelenn_features_in_r*allr-r$approxr5r+shape logical_andr, logical_orr) rr7rr y_predy_proba y_decisionfirst_2_classesr's @rtest_checking_classifierrVPs DAq1j)A  CGGAqMs||RYYq\2 s||  !! !    "" " [[^F 77 77 7 99Q<6==+ ++ +NNRN 771a=  q !V]]1%5 55 5"G ==H $$ $ >>'Q,1 5 9 9 ;; ;&&q)J   x '' 'mmAFAF3Oq/*Aq/*AGGAqM"G ==H $$ $ >>'Q,1 5 9 9 ;; ;&&q)J   v %% %r csr_containerc|\}}||}ttj}tjt 5|j ||ddd|j ||ttddi}|j ||tjtd5|j ||dddy#1swYwxYw#1swYyxYw)Nr0 accept_sparseF)rcheck_X_paramszSparse data was passedmatch) r rissparser$r%r&rr TypeError)rrWrr X_sparser's r$test_checking_classifier_with_paramsr`xs DAqQH V__ 5C ~ & 1 GGHa _e,D CGGAqM y(@ A !sC .C CCcd|\}}td}tjt|dz}dt|dzdt|d}t j t 5}|j|||dddjjd|k(sJy#1swY(xYw) NTexpected_sample_weightrHzsample_weight.shape == (z,), expected (z,)!) sample_weightr) r rIonesrKr$r% ValueErrorrvalueargs)rrr r'rdmsgexcs r#test_checking_classifier_fit_paramsrks DAq D 9CGGCFaK(M $SVq[MAxs KC z "3c 1M23 99>>!  ## #33s *B&&B/c|\}}td}d}tjt|5|j ||dddy#1swYyxYw)NTrbz#Expected sample_weight to be passedr[r#)rrr r'err_msgs r+test_checking_classifier_missing_fit_paramsrnsJ DAq D 9C3G ~W 5 1 s A  Amethods_to_checkr*r+predict_methodc|\}}ttj|}|j||||vr5t j t 5t|||dddyt|||y#1swYyxYw)N)rro)r rr]rr$r%r&r1)rrorprr r's r)test_checking_classifier_methods_to_checkrrs DAq ) C GGAqM)) ]]> * , (GC ( + , , %^$Q' , ,s A??Bresponse_methodsr,r*r+r,c>|\}}t|}|j||t|dsJt|jt j |gd}|D]:}||vr&t||sJt||||k(r+Jt||s:Jy)N)rsr?rt)r rhasattrrr?rIrJr1)rrsrr estimatorpossible_responsesresponses r%test_mock_estimator_on_off_predictionrzs DAq-?OPI MM!Q 9j )) )y))299Q<8J&4 ' '9h/ ///79h/2h> >>y(3 33 4r)#numpyrIr$ numpy.testingrscipyrsklearn.datasetsr sklearn.utilsrrsklearn.utils._mockingr r sklearn.utils._testingr sklearn.utils.fixesr fixturerrrmark parametrizer!r(r3r6rVr`rkrnrrrzrrrrs  ,&56.&&  H H2 ++  E E/h/e,   K K##'OP$&Q$&N.9:" $[9o./P( ("  O$ '(9 44r