`L iddlmZddlZddlZddlmZmZmZddl m Z ddl m Z ddlmZdZdZd Zej&j)d d d gd ZdZdZej&j1dej&j)dgddZej&j1dej&j)d d d gdZdZej&j1dej&j)dd d gdZej&j1dej&j)d d d gdZdZy))MockN)assert_allcloseassert_array_almost_equal assert_equal) load_digits)_mds)euclidean_distancesc tjgdgdgdgdg}tjddgddgd d gd d gg}tj||d dd\}}tjddgddgddgddgg}t ||dy)Nrr rrr rrrrrr/$ѿsh|?w/?T㥛 ?Mb?X9vο皙ɿS㥛?rr)init n_componentsmax_itern_initgp= ףgS㥛gT㥛 ?gʡE?gZd;?gx&gʡEݿgL7A`?r )decimal)nparraymdssmacofr)simZX_X_trues e/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sklearn/manifold/tests/test_mds.py test_smacofr+ s ((L, lK LC 66"UENUFOfe_UVA ::cAa HDAq XX & E5>E6?VUOLFa3c tjgdgdgdgdg}tjddgddgd d gd d gg}tj||d ddd\}}tj||d dddd\}}||kDsJy)Nr rrrrrrrrrrrrrT)rrrrnormalized_stressF)rrrrr/metricr!r"r#r$)r%r&r(stress1stress2s r*&test_nonmetric_lower_normalized_stressr4s ((L, lK LC 66"UENUFOfe_UVA !!d1PTJAw JAw W  r,ctd\}}tjjd}|j t |dd}||}t jdd ddd j|}|j}t jdd d dd j|}|j}||kDsJy) NT) return_X_y*)seedF)sizereplacerr)rrrr0 random_stater ) rr!random default_rngchoicelenr#MDSfitstress_)r'r(rng ind_subsetmds_eststress_after_2_iterstress_after_3_iters r*test_nonmetric_mds_optimizationrI.s $ 'DAq ))  R  (CCFe)atol)r!r"r#rArBrCr)r0r'rFstresss r*test_mds_recovers_true_datarNKsn 1a&1a&1a&1a&12Agg   c!f __FFAD)r,ctjgdgdgdgdg}tjt5t j |ddddtjgdgdgdg}tjt5t j |ddddtjgdgdgdgdg}tjdd gd d gd d gg}tjt5t j ||ddddy#1swYxYw#1swYxYw#1swYyxYw)N)rr rrrrr)rr rrrrrr)rr)r!r"pytestraises ValueErrorr#r$)r%r&s r*test_smacof_errorrTZs ((L, lK LC z "" 3q!" ((L, = >C z "" 3q!" ((L, lK LC 66"UFOfe_EFA z "* 3Qq)**"" ""**s#D,D8 E,D58EE ctjgdgdgdgdg}tjdddd}|j |y) Nr rrrFr precomputed)r0n_jobsr dissimilarity)r!r"r#rArB)r%mds_clfs r*test_MDSrZosA ((L, lK LCgg# G  KKr,zignore::FutureWarningk)g?g?rctjgdgdgdgdg}tj|ddd\}}tj||zddd\}}t ||d t ||d y ) z>Test that non-metric MDS normalized stress is scale-invariant.r rrrFr r)r0rr<gh㈵>)rtolN)r!r"r#r$r)r[r%X1r2X2r3s r*test_normed_stressr`{sg ((L, lK LC**SKKB**QWUQQOKBGW40B&r,ctjjd}|jdd}t |}t t j}|jd|t j|d|}|j||jdd |k7sJt j||d||jdd |k7sJy) Nrrr ) side_effectz$sklearn.manifold._mds._smacof_singleauto)r0r/r<rr/) r!r= RandomStaterandnr rr#_smacof_singlesetattrrA fit_transform call_argsr$)r0 monkeypatchrDr'distmockests r*test_normalized_stress_autorns ))   "C !QA q !D C.. /D>E ''6 LCa >>! 0 1V ;; ;JJtFf3O >>! 0 1V ;; ;r,ctjgdgdgdg}tjddgddgdd gg}tj||d d y) N)LXz?LXz?)rqrp<)rrrsrpgE/?g8$g?g"?grY؀-?g; - ?gd%?Fr)rr0rr1)disrs r*test_isotonic_outofboundsrusd (( 8 ; <  C 88 "4 5 !3 4 !3 4  DJJseA6r,r/ctjddgddgddgddgg}t|}tjdd|j |}|j }|j}t|}|j|jz dzjdz }|r:tj||jdzjdz z }t||y)Nrrr r rr7)rr<r/) r!r"r r#rArB embedding_rCravelsumsqrtr)r/r'DrFr&rMD_mdsstress_Zs r*test_returned_stressr~s 1a&1a&1a&1a&12AAAgg+ c!f  A __F  "E*q0557!;H778 (:'?'?'AA'EFGFH%r,ctjddgddgddgddgg}tjdd|}|j |dz|j }|j |dz |j }t ||y) Nrrr r rr7)rr<r0d)r!r"r#rArBn_iter_r)r0r'rFn_iter1n_iter2s r*)test_convergence_does_not_depend_on_scalers 1a&1a&1a&1a&12AggG  KKCooG KKCooG'"r,ctjddgddgddgddgg}tjgdgdgdgdg}tjt5t j |dddtjt5t jj|dddy#1swYOxYw#1swYyxYw) Nrrr r r rrr) r!r"rQwarns FutureWarningr#r$rArB)r'r%s r*test_future_warning_n_initrs 1a&1a&1a&1a&12A ((L, lK LC m $ 3 m $  asC$C C  C) unittest.mockrnumpyr!rQ numpy.testingrrrsklearn.datasetsrsklearn.manifoldrr#sklearn.metricsr r+r4rImark parametrizerNrTrZfilterwarningsr`rnrur~rrr,r*rsj RR((/ 4,5:D%=1 *2 ***34m,'-5'34D%=1 <25 < 7*34,tUm<&=5&234D%=1#25#*r,