`L i@ddlZddlZddlmZddlmZddlm Z m Z ddl m Z ddl mZddlmZddlmZmZmZddlmZmZmZmZmZmZmZmZmZmZdd l m!Z!m"Z"m#Z#m$Z$ejJjMd eejJjMd eejJjMd ed Z'ejJjMdejPejRgejJjMdeezdZ*ejJjMd eejJjMd eejJjMd edZ+ejJjMgdgdgdggdgdggdfgdgdggdgdggdfgdgdggdgdgdfdejXdgdejXejXggdejXdgdejXejXgggdfddgdejXgddgddgejXejXgejXdgggdddejXggdgd ejXejXejXgejXejXdggd!d"gfgd#gd$ggd%gd&gejZgd'fgejJjMdeezejJjMdejPejRgd(Z.ejJjMgdgdgdggdgdgddgfgdgdggdgdgdgddgfgdgdggdgdgdfdejXdgdejXejXggdejXdgdejXejXggd"d"gfdddejXddgddejXejXejXdggdddejXddgdddejXddgddejXejXejXdggd!d"gfgd#gdggd#gdgdgdgejZddgfgejJjMdeezejJjMdejPejRgd)Z/ejJjMd eejJjMd eejJjMd ed*Z0ejJjMdeezd+Z1ejJjMd,ejdd-dd.d/d0ejdd1dd.d/d0fejdd-dd.d/d0ejfejhd2ejX3ejdd1dd.d45gd/6fgejJjMd ed7Z5d8Z6d9Z7ejJjMd:ddgejJjMdeezd;Z8ejJjMd ed<Z9ejJjMd ed=Z:d>Z;d?ZejJjMdejPejRgejJjMd:gdBejJjMdCeezejJjMdDdej~ejdEfejXejejdFfgejJjMdGdFdEgdHZCejJjMd eejJjMd edIZDejJjMd eejJjMd edJZEejJjMd eejJjMd edKZFejJjMdLe#e$fejJjMd edMZGejJjMdejPejRgdNZHejdOeezPdQZJdRZKdSZLdTZMdUZNy)VN) RandomState)assert_array_almost_equalassert_array_equal)linalg)make_classification)assert_allclose)CSC_CONTAINERSCSR_CONTAINERSLIL_CONTAINERS) _implicit_column_offset count_nonzerocsc_median_axis_0incr_mean_variance_axisinplace_column_scaleinplace_row_scaleinplace_swap_columninplace_swap_rowmean_variance_axis min_max_axis)assign_rows_csr csr_row_normsinplace_csr_row_normalize_l1inplace_csr_row_normalize_l2 csc_container csr_container lil_containerc Ntddd\}}d|d<d|d<d|d<||}d|d<d|d<tjt5t |d ddd||}||}t j t j ft jt jft jt jft jt jfg}|D]\} } |j| } ||fD]} | j| } t | d \} }| j| k(sJ|j| k(sJt| t j| d t|t j| d y#1swYBxYw) Nr random_staterrrr%raxisrpytestraises TypeErrorrnpfloat32float64int32int64astypedtypermeanvarrrrX_X_lilX_csrX_cscexpected_dtypes input_dtype output_dtypeX_testX_sparseX_meansX_varss j/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sklearn/utils/tests/test_sparsefuncs.pytest_mean_variance_axis0rF~ q!! 4DAqAdGAdGAdG ! EE$KAdG y !*5q)* % E % E RZZ RZZ 2:: 2:: O&5F! \+& FH{3H0BOGV==L0 00<<</ // %grwwvA/F G %fbffV!.D E  FF** FF$r5sparse_constructorctjjd}tjdd|}|j tj |j ddd}tj||df<||}|j|j dj|}t||d\}}|tj|jksJy) NrgY@)ir%) fill_valueshaper5 F)replace)weightsr*) r/randomrfullchoicearangerLnanrandr4rfinfoeps)r5rIrngr9missing_indices sample_weightr:r7s rE"test_mean_variance_axis0_precisionr[Ds ))   "C 5 ?Ajj1771:!6EjJOFFAoq1AHHQWWQZ(//6M =q AFAs %$$ $$ $c Ntddd\}}d|d<d|d<d|d<||}d|d<d|d<tjt5t |d ddd||}||}t j t j ft jt jft jt jft jt jfg}|D]\} } |j| } ||fD]} | j| } t | d \} }| j| k(sJ|j| k(sJt| t j| d t|t j| d y#1swYBxYw) Nrrrr r"r#r&r(r%r)r+r8s rEtest_mean_variance_axis1r^XrGrH)Xwr9rO)rrr%rr$r')r%r%r%)rr%r%)rrrr%)rr%r%r%)r%r$r%r$)?rarar%r'rrr)r$r$r)rrr'g@ra)r%rr%)rr'r%)r%rrrr%)rr'r'r'r%)r%r'r%cd}||j|}||j|}tjtj|d|}tj||} tj|tj } t |||| | d\} } } t |||| | |\}}}|j|k(sJ|j|k(sJ|j|k(sJt||\}}t| |t| |t| |t| |t| |t ||| | | d\}}}t ||||||\}}}t||t||t|||j|k(sJ|j|k(sJ|j|k(sJy)Nr%rr5r9r* last_meanlast_varlast_nrOr9r*) r4r/zerosrL zeros_liker3rr5rrr_r9rOrIr5r* Xw_sparserBrfrgrhmeans0vars0n_incr0means_w0vars_w0 n_incr_w0 means_simple vars_simplemeans1vars1n_incr1means_w1vars_w1 n_incr_w1s rE+test_incr_mean_variance_axis_weighted_axis1r|}sF D"2&--e4I!!$++E2H"a6I}}Ye4H ]]9BHH 5F4   FE7$;   $ Hgy >>U "" " ==E !! ! ??e ## # 2XD IL+fh/fl3eW-e[1gy15   FE7$;   $ Hgyfh/eW-gy1 >>U "" " ==E !! ! ??e ## #r\cd}||j|}||j|}tjtj|d|}tj|} tj|tj } t |||| | d\} } } t |||| | |\}}}|j|k(sJ|j|k(sJ|j|k(sJt||\}}t| |t| |t| |t| |t| |t ||| | | d\}}}t ||||||\}}}t||t||t|||j|k(sJ|j|k(sJ|j|k(sJy)Nrr%rdreri) r4r/rjsizerkr3rr5rrrls rE+test_incr_mean_variance_axis_weighted_axis0rs@ D"2&--e4I!!$++E2HQu5I}}Y'H ]]9BHH 5F4   FE7$;   $ Hgy >>U "" " ==E !! ! ??e ## # 2XD IL+fh/fl3eW-e[1gy15   FE7$;   $ Hgyfh/eW-gy1 >>U "" " ==E !! ! ??e ## #r\c dD]}tjjd}d}d}|dk(r+t|Dcgc]}|j dd|}}n*t|Dcgc]}|j dd|}}|dk(rtj |ntj |} tj | } tj | tj} tj|d} tj| } |dk(r | jn| } || } || }tjt5t|| | | dddtjt5t| || | | dddt||\}}t||| | | \}}}t!||t!||t#| j$|||| }t||\}}t!||t!||t#| j$||tj&|} |dk(r | jn| } || } || }|| }tj(tj(ftj*tj*ftj,tj*ftjtj*fg}|D]\}}||fD]}|j/|}| j/|} | j/|} t||\}}t||| | | \}}}|j0|k(sJ|j0|k(sJt!||t!||t#| j$||ycc}wcc}w#1swY`xYw#1swY;xYw) N)rr%r2rMr$)r~rdr%)r9r*rfrgr*rfrgrh)r/rPrrangerandintrjrkr3array atleast_2dTr,r-r.rrrrrLvstackr0r1r2r4r5)rrrr*rX n_features n_samplesi data_chunksrfrgrhr9r;r<rCrD X_means_incr X_vars_incrn_incrr=r>r?r@rBs rEtest_incr_mean_variance_axisrBsxM:ii##A&  19GLYGWX!3;;q!*;=XKXFKJFWX3;;q!);<XKX-1AIBHHZ(288I;N ==+y9 HH[^ $ MM! 19ACC!a e$ ]]9 %  #Y(V  ]]9 %  #DIQW   -UD9,C  HV- ) k6 "'<8!&+61774=&1e$,UD9!'<8!&+61774=&1 IIk "19ACC!a e$e$ZZ $ ZZ $ XXrzz " XXrzz "  *9 : %K"EN :#??;7%,,\: #??<8"4Xt"D4K'%! 51 k6$))\999"((L888)'<@)&+>"1774=&9! : :yM: YX    s#N:'N?OOO O c<d\}}tjjd}||j||}tj|}tj |}tj|j tj}t|||}t|fddi|\} } } ttj|jd| ttj|jd| tjt 5t|fddi|d d d t|d d ||}tjt 5t|fddi|d d d y #1swYKxYw#1swYy xYw) zCheck that we raise proper error when axis=1 and the dimension mismatch. Non-regression test for: https://github.com/scikit-learn/scikit-learn/pull/18655 )<r*rd)rfrgrhr*rr)r%N)r/rPrrUrjrkrLr3dictrrr6toarrayr7r,r- ValueError) rIrrrXr9rfrgrhkwargsmean0var0r:s rE)test_incr_mean_variance_axis_dim_mismatchrsL "Iz ))   #C388Iz:;A$I}}Y'H XXiooRXX 6F I HF,QAQA&ANE4BGGAIIKa0%8BFF199;Q/6 z "544V45IcrNXf MF z "544V455 55 55s-F.FFFzX1, X2r皙?csrdensityformatr! )rr%)rKrrr!)rc ||}||}d}tj|jdtj|jd}}tj|jdtj}t |||||\}}} t ||||| \}}} t j ||g} t|tj| j|t|tj| j|t| tjtj| jdy)Nrr%rdrr)) r/rjrLr3rsprrnanmeanrnanvarr isnan) X1X2rr*rfrgrh updated_mean updated_var updated_nr9s rE6test_incr_mean_variance_axis_equivalence_mean_variancers2 r B r B D((288A;/"((1+1FxI XXbhhqk 2F+B Xf,(L+y,C  I,(L+y 2r(AL"**QYY[t"DEK199;T!BCIr//!))+1F0FQOPr\c(d}tjddddj}tjddddj}tj|j dtj|j d}}tj|j dtj }t|||||\}}}t|||||\}}}t||t||t||y)Nrrr%rrrdr) rrPtocsrr/rjrLr3rr) r*rrrfrgrhrrrs rE test_incr_mean_variance_no_new_nrs D 1a1 5 ; ; =B 1a1 5 ; ; =B((288A;/"((1+1FxI XXbhhqk 2F"9 Xf#Ix,C Xf,(L+yL),K*Iv&r\c~d}tjddddj}tj|j dtj|j d}}d}t |||||\}}}t|tj|j d|j dy)Nrrr$rrr%r) rrPrr/rjrLrrrQ)r*r9rfrgrhr:new_ns rEtest_incr_mean_variance_n_floatrs D !Q!4::Mxx BHH= &(<>RST A  bffc3'c3'c2663'c3'    E CC'> .."##%$$& '#GV^3J .."##%$$& 3/K/K)J'&7r\c*tddd\}}d|d<d|d<d|d<||}tjt5t |d dddtjt5t |d dddtjt5t |d dddtjt5t |dddd dddtjt5t |d ddd dddtjt5t |d ddd dddy#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swYlxYw#1swYyxYw) Nrrrr r"r#r&r)r$rr)rr,r-rrr)rr9r:r<s rEtest_mean_variance_illegal_axisr-sa q!! 4DAqAdGAdGAdG ! E z "+5r*+ z "*5q)* z "+5r*+ z "  dT$  z "  TD  z "  dT$   #++**++      sHE 1E E%E1E=3F  EE"%E.1E:=F Fc tjtjfD]}|gdgdgdgdgdg|}tjgdtj}tj d|j d f|}tjgd tj}tj|}||ddfj||<t||||t||y) Nrr'rr$rrrb rrrrdr`r%)r%r'r) r/r0r1rintponesrL ones_likerrr)rr5r9X_rowsoutout_rowsexpects rEtest_densify_rowsrLs**bjj) (   9i C5 )2773ggq!''!*oU388IRWW5c"VQY<//1x68S13' (r\ctjjd}tjddd}|j }|j }|j }|jd}||z}t||t||t|j |j t||j t||j tjt5t|j|ddd|jtj}|jtj}|j }|j }|j }||z}t||t||t|j |j t||j t||j tjt5t|j|dddy#1swY.xYw#1swYyxYw)Nrd皙?r)r/rPrrrtocscrrUrrr,r-r.tolilr4r0rXr9XrXcXAscales rEtest_inplace_column_scaler]s ))   "C #sD)A B B B HHSME%KBU#U#bjjlBJJL9b"**,/b"**,/ y !/QWWY./ A LL $E B B B%KBU#U#bjjlBJJL9b"**,/b"**,/ y !/QWWY.//////s I.III(ctjjd}tjddd}|j }|j }|j }|jd}||jddz}t||t||t|j |j t||j t||j tjt5t|j|ddd|j!tj"}|j!tj"}|j }|j }|j }||jddz}t||t||t|j |j t||j t||j tjt5t|j|dddy#1swY>xYw#1swYyxYw)Nrrrrrrr%)r/rPrrrrrrUreshaperrr,r-r.rrr4r0rs rEtest_inplace_row_scaler}s ))   "C #sD)A B B B HHSME%--A Bb% b% bjjlBJJL9b"**,/b"**,/ y !/QWWY./ A LL $E B B B%--A Bb% b% bjjlBJJL9b"**,/b"**,/ y !/QWWY.//////sI2I?2I<?Jctjgdgdgdgdgdgtj}||}||}tjd|f}|d}||d|d \|d<|d <t |dd t |dd t |j|jt ||jt ||j||d |d \|d <|d <t |d d t |d d t |j|jt ||jt ||jtjt5t |jdddtjgdgdgdgdgdgtj}||}||}tjd|f}|d}||d|d \|d<|d <t |dd t |dd t |j|jt ||jt ||j||d |d \|d <|d <t |d d t |d d t |j|jt ||jt ||jtjt5t |jdddy#1swYxYw#1swYyxYw) Nrrrbrrrdswaprrr$r') r/rr1rget_blas_funcsrrrr,r-r.rr0rrr9r<r=rs rEtest_inplace_swap_rowrs  Iy)Y?rzz A ! E ! E  QD 1D 7DqtQrU#KAaD!B%UAr"UAr"u}} 8q%--/*q%--/*adAaD!JAaD!A$UAq!UAq!u}} 8q%--/*q%--/* y !('(  Iy)Y?rzz A ! E ! E  QD 1D 7DqtQrU#KAaD!B%UAr"UAr"u}} 8q%--/*q%--/*adAaD!JAaD!A$UAq!UAq!u}} 8q%--/*q%--/* y !('((-((,((sM0 M=0M:=Nctjgdgdgdgdgdgtj}||}||}tjd|f}|d}||dddf|ddd f\|dddf<|ddd f<t |dd t |dd t |j|jt ||jt ||j||dddf|ddd f\|dddf<|ddd f<t |dd t |dd t |j|jt ||jt ||jtjt5t |jdddtjgdgdgdgdgdgtj}||}||}tjd|f}|d}||dddf|ddd f\|dddf<|ddd f<t |dd t |dd t |j|jt ||jt ||j||dddf|ddd f\|dddf<|ddd f<t |dd t |dd t |j|jt ||jt ||jtjt5t |jdddy#1swYxYw#1swYyxYw) Nrrrbrrrdrrrr%) r/rr1rrrrrr,r-r.rr0rs rEtest_inplace_swap_columnrs  Iy)Y?rzz A ! E ! E  QD 1D 7DQq!tWa2h/AadGQq"uXq"%q"%u}} 8q%--/*q%--/*AadGQq!tW-AadGQq!tWq!$q!$u}} 8q%--/*q%--/* y !+EKKM*+  Iy)Y?rzz A ! E ! E  QD 1D 7DQq!tWa2h/AadGQq"uXq"%q"%u}} 8q%--/*q%--/*AadGQq!tW-AadGQq!tWq!$q!$u}} 8q%--/*q%--/* y !+EKKM*++-++,++s6N0 N=0N:=O)rr%N sparse_formatz.missing_values, min_func, max_func, ignore_nanFT large_indicescZtjgddd|ggdd|dggdg|}||} |r@| jjd | _| jjd | _t | || \} } t | ||| t | ||| y) Nrr$rrbrrrrdr3)r* ignore_nanr))r/rindicesr4indptrrr) r5r*rmissing_valuesmin_funcmax_funcrrr9rB mins_sparse maxs_sparses rE test_min_maxrs$   N #   "    AQH#++227;"//009+H4JWK{HQT$:;{HQT$:;r\c tjgdgdgdgdgdgtj}||}||}tjt 5t |jddddtjt5t |d dddtjt5t |d dddy#1swYhxYw#1swYExYw#1swYyxYw) Nrr$rrrbrrrdrr)r$r) r/rr1r,r-r.rrr)rrr9r<r=s rEtest_min_max_axis_errorsr(s  J 9i@  A ! E ! E y !,U[[]+, z "$U#$ z "%U$%% ,,$$%%s$C!C- C9!C*-C69Dc\tjgdgdgdgdgdgtj}||}||}|dk7}gd}|tj|dddfz}d D]Q}tt || |j | tt ||| |j | St jt5t |dddt jt5t |d dddt |d jt |d jk(sJt |d| jt |d | jk(sJ |jjtj|_ |jjtj|_t |d jt |d jk(sJt |d| jt |d | jk(sJy#1swY_xYw#1swY=xYw#t$rC} d| jdvr!tj j"dksJ| Yd} ~ yd} ~ wwxYw)Nrrrbrrrdr)?g?g333333?皙?r)rr%rNr))r*rZr$r%zaccording to the rule 'safe'r)r/rr1rr sumr,r-r.rr5rr4r3rargsrnbytes) rrr9r<r= X_nonzerorZX_nonzero_weightedr*es rEtest_count_nonzeror 8sN  J 9i@  A ! E ! EQI-M"RXXm%}|jddj|}||}tjtjfD]}|tjur@|jj||_ |jj||_ |jj|k(sJ|jj|k(sJ|||j|k(sJ|tur|xjdzc_t!tj"|j%d|Ay)N)rMr%rMrr$r%r))r csr_matrixr/rrr1r0randnr4r2r3rrr5rdatarabsr)rrrrsr5r9r< index_dtypes rEtest_inplace_normalizersO  %wwwwwr{ RB**bjj)G HHRO " "5 )a HHbhh/ GKbhh&$||22;? % 4 4[ A ==&&+5 55<<%%4 44 %e ,;;%' ''(,HH q %bffUm&7&7Q&7&? F GGr\ctjddd|d}tjj|ddz}t |}|j |k(sJ|t jk(rd nd }t||| y) NrrMrr)rr5r!r%r)r$gư>gHz>)rtol) rrPrnormrr5r/r0r)r5r9 scipy_normsnormsrs rEtest_csr_row_normsr!so #r%u2FA))...+q0K ! E ;;%  BJJ&4DDE;T2r\module)scopeparamsc H|j}tjjd}|t jdddd|}|j }tj |jdj}t||}||z }||fS) z?Returns equivalent tuple[sp.linalg.LinearOperator, np.ndarray].rirrrrrr)) paramr/rP default_rngrrasarrayr6ravelr )requestsparse_containerr!rBX_densemuX_sparse_centeredX_dense_centereds rEcentered_matricesr0s}}99((,L #sCLQH G HMMqM) * 0 0 2B/"=| . ..r\c|\}}tjj|}|j|jddf}t ||z|j |t ||z||zy)Nr%r)r/rPr'standard_normalrLrmatmatglobal_random_seedr0r.r/rXYs rEtest_implicit_center_matmatr7sv*;'' ))   2 3C -33A6;rWs  $G02NN   .9.9.9F:::FD2::rzz":;-~/NO%P<%$.9.9.9F:::FD Y )Y!7C Y , !=yI Y )Y!7>^a0 1^a0 1  Va[1a&1a&2662662BRVVQK PArvv(#  #J  " o . BHHY  +<-~/NO2::rzz":;A$<P=@A$H Y )Y!7!Q@ Y )Y !BQFK Y )Y!7>^a0 1^a0 1 #J Arvvq! $q!RVVRVVRVVQ&G HAq"&&!Q'Aq"&&!Q'Arvvrvvrvvq1  #J  "  9i 8 BHHaV  %6-~/NO2::rzz":;A$<P7:A$H.9.9.9N::::N:b-~/NO5P58  BIIaCA F BIIb!SQ G BIIaCA F BIIBGGG7BIIb!SrB   &.9Q:'(Q,'& <!Q(-~/NO,8P),8^.9 : <.9 (: ( /@/@.9.9-(::-(`.9.9-+::-+`2::rzz":;..>*IJ4"&&"))RYY!EF4-8<9 K/<<>.9.9 %:: %.9.9)W::)WX.9.9,::,D!#?@.9G:  G22::rzz":; 3< 3h~'FG/H/$AAEEr\