`L iDeddlmZddlZddlZddlmZddlmZddl m Z m Z ddl m Z ddlmZddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z dd l!m"Z"dd l#m$Z$dd l%m&Z&m'Z'm(Z(dd Z)d Z*dZ+dZ,dZ-dZ.dZ/dZ0ejbjedeeegdZ3dZ4dZ5ejbjedgdejbjedgddZ6dZ7dZ8y) )productN)assert_allclose)optimize) factorialxlogy)DummyRegressor)UndefinedMetricWarning)d2_absolute_error_scored2_pinball_scored2_tweedie_scoreexplained_variance_score make_scorer max_errormean_absolute_errormean_absolute_percentage_errormean_pinball_lossmean_squared_errormean_squared_log_errormean_tweedie_deviancemedian_absolute_errorr2_scoreroot_mean_squared_errorroot_mean_squared_log_error)_check_reg_targets) GridSearchCV)assert_almost_equalassert_array_almost_equalassert_array_equalc  tj|}|dz}|dz }tt||dtt ||ttj d|ztj d|ztt ||dtt||dtt||dtt||ddtt||ddtt||dt||}tj|sJ|dkDsJtt||dtt||dd tt||d dd tt||dtt||d dtt||d t||tt||d t||tj |tj"|z j%}t't)||dtj ||z j%|z z d}d}tj*||dz}tt-|||d||||j%||||j%z z tt)||t-||dtjdd|z}d |z}|} tt||d d| z| d zd | zzdzztt||d | dzdtj d z ztt||d d tj d zdz tt||d dtj.d zdz | z tj.|j%ztt||d tj$d|z d| zz d tj0t3|d |z| dzz z} tt||d d| dzdtj d z z| z z d tj | dzd z zd | z tj t5| zz } tt||d dd tj d zdz | z z y)N??皙?alpha333333?.Agףp= ?F force_finiterpower皙?cz|tj||z dzd|z tj||z dzzS)Nrr )npmaximum)y_truey_predr%s k/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sklearn/metrics/tests/test_regression.pyz)test_regression_metrics..Ms?:2 Ubjj&!4425d)qg??)r/arangerrrlogrrrrisfiniterrr rr absmediansumrr percentiler sqrtmeanrr) n_samplesr1r2y_pred_2mape dev_medianr% pinball_loss y_quantilendev_means r3test_regression_metricsrO&sx YYy !F aZFzH*66:C@vv.266!f*-rvva&j/AB+FF;SA)&&93?)&(;SA)&&DcJ)&(#FL-ff=sC )&& 9D ;;t   #:: &&1370%;eDeQO0@#F eDcffA666*q18FF3K6!223779J/ BFF6F? # ' ' )J 66 E5Lv5Ju5 vvu - 1 1 3 vz5 1 5 5 7 8 8 /s3YYq!i- (F ZFAffB7 adQUlQ&'ffA6Q1rvvay=8QffA6BFF1I 8IffE: bggaj.1  !RWWV_%8%8%::ffA6q6z8JaRSe8T2775Vq1u)=>??Hq1 QUq266!9} % 00 2661q5A+&&Q ! 1E)EEHq11BFF1I 8IX7U3Ur5ctdggdggd}tdggdggd}tj|t j |k(sJy)Nr raw_values multioutput)rrr/rEpytestapprox)msermses r32test_root_mean_squared_error_multioutput_raw_valuerYsO qcUbTF EC "QC5B4&l KD 773<6==. .. .r5c tjgdgdgdg}tjgdgdgdg}t||}t|dt ||}t|dd t ||}t|d d t ||}t|d d t||}t|dt||}t|d tjt||d }tj|sJ|dkDsJt||}t|dt||d}t|dt||d}t|dt||dd}t|j dDcgc]}dtj"|dd|f|dd|fz j%tj"|dd|ftj&|dd|fz j%z z }}tj(tj*|d|}t-||t||dd}t||j/ddg}t|ddgd}t|dt|ddgd}t|dt||dd}t|tj0t||dd}t|tj0|ddddf}|ddddf}t||d}t||dd}t||t||d}t||dd}t||t|ddgdd}t|tj0t|ddgdd}t|tj2 ycc}w) N)r rrr )rr r r )r r rr )rrrr )r rr r g?guV?r(decimalr-g)\(?g?)decimalsr'r"variance_weightedrSguniform_averagegrRr%rTr g@r!gffffff@FrTr*r8g@)r/arrayrrrrrrraroundrr@rrr rangeshaperArCrBwhereisnanrrFnaninf)r1r2errorscoreiraw_expected_scoreycerror2s r3test_multioutput_regressionrqs XX|\<@ AF XX|\<@ AF vv .EBC #FF 3Eua0 "66 2Eua0 ' 7Eua0  /E45 ff -E45 II4VVDq QE ;;u   3;; !&& 1E01 VV1D EE}- VV1B CEv& VV3L QE v||A'   &&1q!t , - 1 1 3 &&1 &A, 77 8 < < > ? ?"((+=">CUVe%78 VV3DU VE16689 sB R#s1D EEs# R#s1D EEs# $7e Ervv& VV1BQV WErvv&AssF^F AssF^F VV1D EE $7eFv& VV1B CE ff2CRW XFv&  S#J$7e Ervv&  S#J$7e Ew'asBN<c ttdgdgdttdgdgdttdgdgdtt dgdgdtt dgdgdtt dgdgdttdgdgdttdgdgdttdgdgdttddgddgdttddgddgdttfD]}t|ddgddgdt|ddgddgdtj t|ddgddgdt|ddgddgdtjd}tj t"| 5td gd gdddd}tj t"| 5tgd gd dddd}tj t"| 5tgd gd dddd}tj t"| 5t%gd gd dddd }d}t't)dgdg|dd|z z dd}tj t"| 5t)dgdg|dddtj t"| 5t+dgdzdgdz|dddtt)dgdgdddd}d}tj t"| 5t)dgdg|dddtj t"| 5t+dgdzdgdz|dddd}t't)dgdg|dd|z z d}tj t"| 5t)dgdg|dddtj t"| 5t+dgdzdgdz|dddd}t't)dgdg|ddd}tj t"| 5t)dgdg|dddtj t"| 5t+dgdzdgdz|dddd}t't)dgdg|ddd}tj t"| 5t)dgdg|dddtj t"| 5t+dgdzdgdz|dddy#1swY~xYw#1swYUxYw#1swY,xYw#1swYxYw#1swYxYw#1swYxYw#1swYAxYw#1swYxYw#1swYxYw#1swYxYw#1swYUxYw#1swY(xYw#1swYxYw#1swYyxYw)Nrar!r rr8Fr)zcMean Squared Logarithmic Error cannot be used when targets contain values less than or equal to -1.match)r!@@)r!grwzhRoot Mean Squared Logarithmic Error cannot be used when targets contain values less than or equal to -1.g333333r+r(MbP?rtolz-can only be used on strictly positive y_pred.z)atolz3can only be used on strictly positive y and y_pred.rw)rrrrrrrrrr rr r/rjrirUraises ValueErrorrrrr )smsgr,s r3!test_regression_metrics_at_limitsrs*C53%8#>/u=sC.useD#qC84c:(#qC8f./ABd0 ,FHh1F? "? $"8RZZG-DE"8RZZG-DE"8R0"8R0z* Q"2r4P Q QQ Q Qs 3DD cd}dj|}tjt|5t gddgdgdggd|dddy#1swYyxYw)Nthis_value_is_not_validzFAllowed 'multioutput' string values are.+You provided multioutput={!r}rsrr r(r<)formatrUr|r}r)invalid_multioutputexpected_messages r3!test__check_reg_targets_exceptionr\sc3PWW   z)9 :R9sQC!ot=PQRRRs AAc ddgddgddgddgg}ddgddgdd gdd gg}t||d }t||d }t||d }t||d }t ||d }t ||d }t ||d d }t ||d d} t|ddgdt|ddgdt|ddgdt|ddgdt|ddgdt|ddgdt|ddgdt| ddgdddggd z}ddggd z}t||d }t||d }t||d }t ||d }t ||d }t|ddgdt|ddgdt|d d gdt|ddgdt|ddgdt ddgddggddgddggd }t|dd gdtj|t ddgddggddgddggd! k(sJt ddgddggddgddggd }t|dd"gdt ddgddggddgddggd d} t| tj d"gdddgddgg}dd gddgg}t ||d } t| dd#gdtj| t ||d! k(sJt ||d d} t| tjd#gdttj| t ||d!dt ||d }t|dd#gdtj|t ||k(sJt ||d d }t|dd$gdt ||d d} t| tjd#gdttj| t ||d%tjd dgddgdd&gg}tjd dgddgd'd'gg}t||d } ttjd|ztjd|zd } t| | dy)(Nr r(@r8@r<rr=@rRrSr"r`Frbg?g?r[?g?g?g g?g2w-!?ffffff?g(\?g-?gv?rr!rag r_ggrur)r:r;)rrrrrr r rr/rFrjrirrcrr?)r1r2rWmaepblrIrevsd2psevs2r2r22mslemsle2s r3!test_regression_multioutput_arrayrgs!fsBi#qAq6 2F!fq"g1v3x 0F VV FC ff, GC FF EC )&&l SD\:A "66| LC FF#< PD #Lu DcE6?A>cD%=!<cHi#8!DdVV$4a@a$q9cD$<;dUENA>dT4L!<!fX\F!fX\F VV FC ff, GC FF EC\:A FF EDcC:q9cC:q9cC:q9a#sQ7dS#J:1b'Aq6"aVaV$4,OAa!TA6 771: R1a&QFQF+9J   # R1a&QFQF+ CcAu:q9 # R1a& Q!Q   D dbffWe$4a@!fq!f F!fq!f F &&l ;Bb3+q9 772;(66?PQ QQ Q 66|% PCcBFFD>1=  ->US #66| LCcC;: 773<3FFC CC C FF#< PDdS$K; #Lu DdRVVTNA>  /US XXQx!Q!Q0 1F XXQx!SAq62 3F !&&l KD  q6zBFF1v:.L EdE15r5cLddgddgddgddgg}ddgddgdd gdd gg}t||d d g }t||d d g }t||d d g }t||d d g }t ||d d g }t ||d d g }t ||dd d g}t ||d d gd} t|ddt|ddt|ddt|ddt|ddt|ddt|ddt| ddtjddgddgddgg}tjddgddgddgg}t||ddg } ttjd|ztjd|zddg } t| | dy)Nr r(rr8rr<rrr=rr#r&rSr"r`Frbg(\?r[gzG?gffffff?g|гY?gGz?gPn?r:r;g333333?gffffff?) rrrrrr r rr/rcrr?) r1r2msewrmsewmaewmapewrwevswd2pswevsw2rrs r3test_regression_custom_weightsrs!fsBi#qAq6 2F!fq"g1v3x 0F ff3* ED #FFc KE vvC: FD *66Sz RE &&sCj 9B #FFc KD VV3S#J OE $S#JU EdA.tQ/eQ/vq1D!,dA.ua0tQ/XXQx!Q!Q0 1F XXQx!SAq62 3F !&&sCj ID  q6zBFF1v:.S#J EeQ/r5metriccdg}dg}d}tjt|5|||}tj|sJ dddy#1swYyxYw)Nrr z,not well-defined with less than two samples.rs)rUwarnsr r/rh)rr1r2 warning_msgrls r3test_regression_single_samplersWSFSF@K ,K @vv&xxs !AAcd}tjj|}|j|dz}|j|dz}t t ||dt ||dt t ||dt ||dd t t ||d t ||d d t t ||d t ||d d y) Nr6皙?g|۽r+rg8?r gh㈵>ryg ?r(go@)r/random RandomStaterandrr)global_random_seedrGrngr1r2s r3 test_tweedie_deviance_continuityrsI ))   2 3C XXi 3 &F XXi 3 &FffI>ffA6ffI>ffA6  ffI>ffA6  ffI>ffA6 r5ctjj|}|jd}d|z}t ||t j dk(sJy)Nr6sizeg333333?r-)r/rr exponentialrrUrV)rrandom_number_generatorr1r2s r3#test_mean_absolute_percentage_errorrsR ii334FG $ 0 0c 0 :F 6\F )&& 9V]]3=O OO Or5 distribution)normal lognormalruniformtarget_quantile)皙?r"?cttdstjddtjj |}t ||tj}tj|}t|}tjtjddd }|D]}tj|} t| } | |tjtjjz k\sJ||kz jdz z|k\|z jzz} | z} t| | fd } t!j"| j%} | j&sJt)| j*|d d | j,tj.|k(sJy)NquantilezOThis test requires a more recent version of numpy with support for np.quantile.i r fill_valuer$rr r6cNtj|}t|S)Nrr$)r/fullr)x constant_preddatarGrs r3objective_funczFtest_mean_pinball_loss_on_constant_predictions..objective_funcKs" a8  }OLLr5rrx)rzr{)hasattrr/rUskiprrgetattrrrrlinspacefinfofloat64epsrCrrminimizerFsuccessrrfunrV)rrrr best_predbest_constant_predbest_pblcandidate_predictionspredrr expected_pblrresultrrGs ` @@r3.test_mean_pinball_loss_on_constant_predictionsrs 2z "  , I ))   2 3C %73 %9 5D D/2IyA '9QHKKbkk!Q.DE%/ d; m?K h"**!5!9!99999tD4K005571;NO   % #%/S""   ! L#.!/(M  ~tyy{ ;F >>>FHHid> ::x0 00 0r5cd}tjj|}|j|df}|j |}gd}|D]p}t t |d}tdd }t|t| | j||} | jdtj|k(rpJy) Nirr)rrrr"rg?rF)r%greater_is_betterrr)strategyr)r) param_gridscoring)r/rrrrrrrrdictfit best_params_rUrV) rrGrXy all_quantilesr%neg_mean_pinball_loss regressor grid_searchs r3$test_dummy_quantile_parameter_tuningrXs I ))   2 3C A 'A Y'A;M L + #!  #JF " ]3)  #a)  '' 3v}}U7KKKK Lr5ctjj|}d}|j|}|j |j |z}t ||t||ddzk(sJy)Nr6rr"r$r()r/rrrcopyrrr)rrrMr1r2s r3#test_pinball_loss_relation_with_maerssn ))   2 3C A ZZQZ F [[]S[[^ +FFF+ VV3 7! ; < r s )*(5$;0Wt/T(n_@P#QRS!HPE*,=>31?31lL6 r5