
    PiP
                     8   d dl Zd dlZd dlmZ d dlmZ d dlmZm	Z	m
Z
 g dg dg dgZdggd	z  Zej                            d
dgez   e	z   e
z             d             Zd Zej                            d
dge
z             d             Zej                             ej        e          d k    d          ej                            d
dgez   e	z   e
z             d                         Zej                            d
dgez   e	z   e
z             d             ZdS )    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                     | t           n | t                     }t                                          |          }t          g d|                    d                     d S )N)r   r   r
   r   Tindices)datar   fitr   get_support)r   Xsels      /home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/sklearn/feature_selection/tests/test_variance_threshold.pytest_zero_variancer      s_    
 !(.>.>t.D.DA



!
!!
$
$C|||S__T_%B%BCCCCC    c                  b   t          j        t                    5  t                                          g dg           d d d            n# 1 swxY w Y   t          j        t                    5  t                                          ddgddgg           d d d            d S # 1 swxY w Y   d S )N)r   r   r	   r
   r   r   )pytestraises
ValueErrorr   r    r   r   test_zero_variance_value_errorr      s"   	z	"	" 0 0///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0	z	"	" 2 2!Q!Q 01112 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2s#   %AAA/(B$$B(+B(c                     | t           n | t                     }t          d                              |          }t          t                     df|j        k    sJ d S )Ng?)	thresholdr   )r   r   fit_transformlenshape)r   r   s     r   test_variance_thresholdr%      s_     !(.>.>t.D.DAC(((66q99AIIq>QW$$$$$$r   zRThis test is not valid for this platform, as it relies on numerical instabilities.)reasonc                     | t           n | t                     }d}t          j        t          |          5  t	                                          |           d d d            d S # 1 swxY w Y   d S )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+   '   s     ")/?/?/F/FA
@C	z	-	-	- # #"""# # # # # # # # # # # # # # # # # #s   "A&&A*-A*c                 @   t          j        t          t           j                  }t           j        |d<   t           j        |d d df<   | |n
 | |          }t                                          |          }t          g d|                    d                     d S )N)dtype)r   r   r   )r   r
   r   Tr   )	nparrayr   float64nanr   r   r   r   )r   arrr   r   s       r   test_variance_nanr3   <   s     (4rz
*
*
*CCIC1I'-=-=c-B-BA



!
!!
$
$Cyyy#//$/"?"?@@@@@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<      s        7 7 7 7 7 7 5 5 5 5 5 5 N N N N N N N N N N///:
" /.@>Q D D D2 2 2 +dVn-DEE% % FE% 
BF5MMQ	3    /.@>Q # #  # /.@>Q 	A 	A 	A 	A 	Ar   