o
    \iP
                     @   s  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ejd
dge e	 e
 dd Zdd Zejd
dge
 dd Zejjeed kddejd
dge e	 e
 dd Zejd
dge e	 e
 d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                 C   s:   | d u rt n| t }t |}tg d|jdd d S )N)r   r   r	   r
   Tindices)datar   fitr   get_support)r   Xsel r   /var/www/www-root/data/www/176.119.141.140/sports-predictor/venv/lib/python3.10/site-packages/sklearn/feature_selection/tests/test_variance_threshold.pytest_zero_variance   s   r   c                   C   s   t t t g dg W d    n1 sw   Y  t t t ddgddgg W d    d S 1 s;w   Y  d S )N)r   r   r   r	   r   r   )pytestraises
ValueErrorr   r   r   r   r   r   test_zero_variance_value_error   s   "r   c                 C   s>   | d u rt n| t }tdd|}tt df|jksJ d S )Ng?)	thresholdr   )r   r   fit_transformlenshape)r   r   r   r   r   test_variance_threshold   s   r    zRThis test is not valid for this platform, as it relies on numerical instabilities.)reasonc                 C   sX   | d u rt n| t }d}tjt|d t | W d    d S 1 s%w   Y  d S )Nz4No feature in X meets the variance threshold 0.00000)match)data2r   r   r   r   r   )r   r   msgr   r   r   'test_zero_variance_floating_point_error'   s
   "r%   c                 C   sf   t jtt jd}t j|d< t j|d d df< | d u r|n| |}t |}tg d|jdd d S )N)dtype)r   r   r   )r   r	   r
   Tr   )	nparrayr   float64nanr   r   r   r   )r   arrr   r   r   r   r   test_variance_nan<   s   
r,   )numpyr'   r   sklearn.feature_selectionr   sklearn.utils._testingr   sklearn.utils.fixesr   r   r   r   r#   markparametrizer   r   r    skipifvarr%   r,   r   r   r   r   <module>   s4    

