
    -iP
                        S SK rS SKrS SKJr  S SKJr  S SKJrJ	r	J
r
  / SQ/ SQ/ SQ/rS//S	-  r\R                  R                  S
S/\-   \	-   \
-   5      S 5       rS r\R                  R                  S
S/\
-   5      S 5       r\R                  R%                  \R&                  " \5      S :H  SS9\R                  R                  S
S/\-   \	-   \
-   5      S 5       5       r\R                  R                  S
S/\-   \	-   \
-   5      S 5       rg)    N)VarianceThreshold)assert_array_equal)BSR_CONTAINERSCSC_CONTAINERSCSR_CONTAINERS)r               )r   r	   r	   r
      )r   r   r	   r   r   g$b@
   sparse_containerc                     U c  [         OU " [         5      n[        5       R                  U5      n[        / SQUR	                  SS95        g )N)r   r   r
   r   Tindices)datar   fitr   get_support)r   Xsels      j/var/www/html/venv/lib/python3.13/site-packages/sklearn/feature_selection/tests/test_variance_threshold.pytest_zero_variancer      s>    
 !(.>t.DA


!
!!
$C|S__T_%BC    c                  J   [         R                  " [        5         [        5       R	                  / SQ/5        S S S 5        [         R                  " [        5         [        5       R	                  SS/SS//5        S S S 5        g ! , (       d  f       NQ= f! , (       d  f       g = f)N)r   r   r	   r
   r   r   )pytestraises
ValueErrorr   r    r   r   test_zero_variance_value_errorr      sh    	z	"/ 
#	z	"!Q!Q 01 
#	" 
#	"	"	"s   B B
B
B"c                     U c  [         OU " [         5      n[        SS9R                  U5      n[        [         5      S4UR                  :X  d   eg )Ng?)	thresholdr   )r   r   fit_transformlenshape)r   r   s     r   test_variance_thresholdr%      sE     !(.>t.DAC(66q9AIq>QWW$$$r   zRThis test is not valid for this platform, as it relies on numerical instabilities.)reasonc                     U c  [         OU " [         5      nSn[        R                  " [        US9   [	        5       R                  U5        S S S 5        g ! , (       d  f       g = f)Nz4No feature in X meets the variance threshold 0.00000)match)data2r   r   r   r   r   )r   r   msgs      r   'test_zero_variance_floating_point_errorr+   '   sF     ")/?/FA
@C	z	-" 
.	-	-s   A
A"c                 (   [         R                  " [        [         R                  S9n[         R                  US'   [         R                  US S 2S4'   U c  UOU " U5      n[        5       R                  U5      n[        / SQUR                  SS95        g )N)dtype)r   r   r   )r   r
   r   Tr   )	nparrayr   float64nanr   r   r   r   )r   arrr   r   s       r   test_variance_nanr3   <   sp     ((4rzz
*CCIC1I'-=c-BA


!
!!
$Cy#//$/"?@r   )numpyr.   r   sklearn.feature_selectionr   sklearn.utils._testingr   sklearn.utils.fixesr   r   r   r   r)   markparametrizer   r   r%   skipifvarr+   r3   r   r   r   <module>r<      sF     7 5 N N/:
" /.@>QDD2 +dVn-DE% F% FF5MQ	3   /.@>Q## /.@>Q	A	Ar   