
    -i&                        S SK r S SKrS SKrS SKJr  S SKJr  S SKJ	r	  S SK
JrJrJr  S SKJr  S SKJr  S SKJr  S S	KJr  S
 rS r\R0                  R3                  S/ SQ5      \R0                  R3                  S/ SQ5      S 5       5       rS$S jr\R0                  R3                  S/ SQ5      \R0                  R3                  S/ SQ5      S 5       5       rS$S jrS rS rS r \R0                  R3                  SS/ SQ/5      S 5       r!\R0                  R3                  SSS /5      S! 5       r"\R0                  R3                  S/ S"Q5      S# 5       r#g)%    N)
make_blobs)NotFittedError)GridSearchCV)KDTreeKernelDensityNearestNeighbors)kernel_norm)make_pipeline)StandardScaler)assert_allclosec                    US:X  a&  UR                   S   SUR                   S   S-   -  -  nOAUS:X  a;  UR                   S   UR                   S   S-   -  S-  SUR                   S   S-   -  -  n[        R                  " U S S 2S S S 24   U-
  S-  R                  S5      5      n[	        X1R                   S   U5      UR                   S   -  nUS:X  a2  U[        R
                  " S	XD-  -  X3-  -  5      R                  S5      -  $ US
:X  a  XTU:  R                  S5      -  $ US:X  a#  USXD-  X3-  -  -
  XC:  -  R                  S5      -  $ US:X  a,  U[        R
                  " U* U-  5      R                  S5      -  $ US:X  a  USXC-  -
  XC:  -  R                  S5      -  $ US:X  aD  U[        R                  " S[        R                  -  U-  U-  5      XC:  -  R                  S5      -  $ [        S5      e)Nscottr         	silverman   gaussiang      tophatepanechnikov      ?exponentiallinearcosineg      ?zkernel not recognized)	shapenpsqrtsumr	   expcospi
ValueError)YXkernelhdnorms         S/var/www/html/venv/lib/python3.13/site-packages/sklearn/neighbors/tests/test_kde.pycompute_kernel_slowr*      s   G|GGAJ2a01	
k	WWQZ1771:>*Q.B!''!*q.4IJ
!AtQJ-!#)..r23Aq''!*f-
:DbffTQU^qu56::2>>>	8	1ukk"o%%	>	!qu//AE:??CCC	=	 rvvqb1f~**2...	8	AE	ae,11"555	8	rvvcBEEkAo12ae<AA"EEE011    c           	      D   [        XX#S9nUR                  U5      R                  U5      n[        [        R
                  " U5      Xb[        SU5      S9  [        [        R
                  " UR                  U5      5      [        R                  " U5      U[        SU5      S9  g )N)r%   	bandwidthatolrtolgHz>)r.   r/   )	r   fitscore_samplesr   r   r   maxscoreprod)	r%   r-   r.   r/   r$   r#   	dens_truekdelog_denss	            r)   check_resultsr8   )   sr    
v
QCwwqz''*HBFF8$iT4Q
syy|bggi0t#dD/r+   r%   )r   r   r   r   r   r   r-   ){Gz?皙?r   r   r   c                     Su  p#[         R                  R                  S5      nUR                  X#5      nUR                  X#5      n[	        XeX5      nS H#  nS H  n	S H  n
[        XXXVU5        M     M     M%     g )Nd      r   )r   gh㈵>)gư>r9   )TF)r   randomRandomStaterandnr*   r8   )r%   r-   	n_samples
n_featuresrngr$   r#   r5   r/   r.   breadth_firsts              r)   test_kernel_densityrF   2   st    
 %I
))


"C		)(A		)(A#A&<I D!.fQ9M "/ ! r+   c                 ^   [         R                  R                  S5      nUR                  X5      nSnS H  n[	        XES9R                  U5      nUR                  S5      nUR                  UR                  :X  d   e[        SS9R                  U5      nUR                  USS	9u  pUS
:X  a!  [         R                  " X:  5      (       d   eM  US:X  d  M  [         R                  " U	SU-  :  5      (       a  M   e   S HO  n[	        XES9R                  U5      n[        R                  " [        5         UR                  S5        S S S 5        MQ     UR                  SS5      n[	        SS9R                  U5      nUR                  5       R                  S:X  d   eg ! , (       d  f       M  = f)Nr   皙?)r   r   )r-   r%   r=   r   )n_neighborsT)return_distancer   r      )r   r   r   r   r   r%   )r   r   )r   r?   r@   rA   r   r0   sampler   r   
kneighborsallpytestraisesNotImplementedError)rB   rC   rD   r$   r-   r%   r6   sampnbrsdistinds              r)   test_kernel_density_samplingrW   E   sj   
))


"C		)(AI(i?CCAFzz#ww$**$$$  A.2215OOAtO<	X66$*++++z! 66$Y.//// )$ Fi?CCAF]]./JJsO 0/ F 			!QA
z
*
.
.q
1C::<''' 0/s   4F
F,		algorithmauto	ball_treekd_treemetric)	euclidean	minkowski	manhattan	chebyshev	haversinec                    [         R                  R                  S5      nUR                  SS5      nUR                  SS5      n[	        XS9nU S:X  aH  U[
        R                  ;  a4  [        R                  " [        SS9   UR                  U5        S S S 5        g UR                  U5        UR                  U5      nUR                  UR                  S S :X  d   eg ! , (       d  f       g = f)	Nr   
   r   rX   r]   r\   zinvalid metric)matchr   )r   r?   r@   rA   r   r   valid_metricsrP   rQ   r"   r0   r1   r   )rX   r]   rD   r$   r#   r6   y_denss          r)    test_kde_algorithm_metric_choiceri   h   s     ))


"C		"aA		"aA
)
;CI&0D0D"D]]:-=>GGAJ ?> 	
""1%||qwwr{*** ?>s    C
C+c                     g )N )rB   rC   s     r)   test_kde_scorerl   }   s    r+   c                     [        5       n [        R                  " [        5         U R	                  [
        R                  R                  S5      [
        R                  R                  S5      S9  S S S 5        [        R                  " [        5         U R	                  [
        R                  R                  S5      [
        R                  R                  S5      * S9  S S S 5        g ! , (       d  f       N}= f! , (       d  f       g = f)N)   rd   sample_weightrn   )r   rP   rQ   r"   r0   r   r?   )r6   s    r)   test_kde_sample_weights_errorrq      s    
/C	z	"		  +299;K;KI;VW 
#	z	"		  +BII<L<LS<Q;QR 
#	" 
#	"	"	"s   AC'AC8'
C58
Dc                      [        SSSS/SS/SS//S9u  p[        [        SSS9[        SS95      n[	        / S	QS
9n[        X#S9nUR                  U 5        UR                  S   S:X  d   eg )Nr:   r   r   )cluster_stdrandom_statecentersF)	with_meanwith_stdr   rL   )MbP?r9   r:   r   rd   )kerneldensity__bandwidth)
param_gridry   )r   r
   r   r   dictr   r0   best_params_)r$   _pipe1paramssearchs        r)   test_kde_pipeline_gridsearchr      s    #AAAQRTUPV?WXDA7Z(E +DEF%3F
JJqM9:cAAAr+   c            	         Sn Sn[         R                  " U S5      nS GH/  n[         R                  R                  S5      nUR	                  X5      nSSUR                  SS9-  R                  [         R                  5      -   n[         R                  " XVSS9nX-  nUR	                  X5      n	S	 GH  n
S
 GH  nU
S:w  d  U[        R                  ;   d  M   [        XS9nUR                  XRS9  UR                  U	5      nUR                  SS9nUR                  U5        UR                  U	5      nUR                  SS9n[        X5        [        UU5        UR                  XVS9  UR                  U	5      nUR                  SS9nUR                  U5        UR                  U	5      nUR                  SS9n[        UU5        [        UU5        [         R                   " [         R"                  " UU-
  5      5      nUS:  d   eUR	                  5       nUR                  UUU-  S9  UR                  U	5      n[        UU5        GM     GM     GM2     g )Ni           @)r   r   rd   r   r   rd   )axisrY   )r^   r_   r`   ra   r\   re   ro   i  )rt   rx   )r   fullr?   r@   randr   astypeint8repeatr   rg   r   r0   r1   rM   r   r2   abs)rB   	size_testweights_neutralr'   rD   r$   weightsX_repetitionsn_samples_testtest_pointsrX   r]   r6   scores_const_weightsample_const_weightscores_no_weightsample_no_weightscores_weightrp   scores_ref_samplingsample_ref_samplingdiffscale_factorscores_scaled_weights                           r)   test_kde_sample_weightsr      s   IIggi-Oii##A&HHY"rAEEqEM)11"''::		!15"hh~19IN	)Vv7K7K-K')KC GGAG=*-*;*;K*H'*-**$**G'GGAJ'*'8'8'E$'*zztz'D$#$7J#$79IJ GGAG5$'$5$5k$BM$'JJDJ$AMGGM**-*;*;K*H'*-**$**G'#M3FG#M3FG 66"&&)9M)I"JKD%<'< $'88:LGGAlW.DGF+.+<+<[+I(#$8-HA O : r+   rp   )r:   rH   g333333?c                    [        5       n[        R                  " / SQS5      nUR                  X1S9  [        R                  " SS/S5      nUR	                  U5      n[        U R                  S5      5      n[        R                  " X&5        [        R                  " U5      nUR	                  U5      n[        XW5        g )N)r   g       @r   )r   r   ro   g?g @zdump.pkl)r   r   reshaper0   r1   strjoinjoblibdumploadr   )tmpdirrp   r6   datar$   scores	file_pathscores_pickleds           r)   test_picklingr      s     /C::ow/DGGDG.


C:w'Aq!FFKK
+,I
KK
++i
 C&&q)NF+r+   methodr1   rM   c                    [         R                  R                  S5      nUR                  SS5      n[	        5       n[
        R                  " [        5         [        X05      " U5        S S S 5        g ! , (       d  f       g = f)Nr   rd   r   )	r   r?   r@   rA   r   rP   rQ   r   getattr)r   rD   r$   r6   s       r)   test_check_is_fittedr      sT     ))


"C		"aA
/C	~	&Q 
'	&	&s   A11
A?)r   r   r:   c                 j   Su  p[         R                  R                  S5      nUR                  X5      n[	        U S9R                  U5      nUR                  S5      nUR                  U5      nUR                  UR                  :X  d   eUR                  U4:X  d   eU S:X  a&  UR                  S   SUR                  S   S-   -  -  nODU S	:X  a<  UR                  S   UR                  S   S
-   -  S-  SUR                  S   S-   -  -  nOU nUR                  [        R                  " U5      :X  d   eg )Nr<   r   )r-   r=   r   r   r   r   r   r   )r   r?   r@   rA   r   r0   rM   r1   r   
bandwidth_rP   approx)	r-   rB   rC   rD   r$   r6   rS   kde_scr&   s	            r)   test_bandwidthr      s   $I
))


"C		)(A
)
,
0
0
3C::c?Dq!F77djj   <<I<''' GGGAJ2a01	k	!WWQZ1771:>*Q.B!''!*q.4IJ>>V]]1----r+   r<   )$r   numpyr   rP   sklearn.datasetsr   sklearn.exceptionsr   sklearn.model_selectionr   sklearn.neighborsr   r   r   sklearn.neighbors._ball_treer	   sklearn.pipeliner
   sklearn.preprocessingr   sklearn.utils._testingr   r*   r8   markparametrizerF   rW   ri   rl   rq   r   r   r   r   r   rk   r+   r)   <module>r      sZ      ' - 0 E E 4 * 0 222 W &JKN LN (F &FGO+ H+"	S
B,I^ 4*AB, C,( OX#>?  @  &AB. C.r+   