
     h.                        d dl Z d dlZd dlZd dlZd dlmZ d dlmZ d dlmZ d dl	Z	d dl
Zd dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZmZ d dlmZ d dlmZ d dlm Z  d dl!m"Z" d Z# e	j$        d          d             Z% e	j$        d          d             Z&e	j$        d             Z'e	j$        d             Z(d Z)d Z*d Z+d Z,d  Z-e	j.        /                    d!d"gd"d#gf          d$             Z0e	j.        /                    d%d&d'd(g d)fd*d+d,g d-fd.d/d0d1d2gfg          d3             Z1d4 Z2e	j.        /                    d5d6i d7d8gfd9i d7gfd:d;d<id=d>gfg          d?             Z3d@ Z4dA Z5dB Z6dC Z7dD Z8e	j.        /                    dEedFdGdHdIdJgfedKdLdMdIg fedNdOdMdIdJgfedPdPdMdIdQdRgfedSdTddIg fedUdVd8dIg f eedWX          dYdZd8dIg fg          d[             Z9e	j.        /                    d\eej:        e;feej:        ej:        feej:        e;feej:        e;feej:        ej:        feej:        e;fg          d]             Z<d^ Z=d_ Z>d` Z?da Z@dS )b    N)loads)dumps)partial)get_data_home)clear_data_home)
load_files)load_sample_images)load_sample_image)load_digits)load_diabetes)load_linnerud)	load_iris)load_breast_cancer)	load_wine)load_csv_dataload_gzip_compressed_csv_data)scale)Bunch_is_resourcecheck_as_framec                 p    t           j                            |           rt          j        |            d S d S N)ospathisdirshutilrmtree)r   s    \/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/sklearn/datasets/tests/test_base.py_remove_dirr!       s8    	w}}T d     module)scopec              #   t   K   t          |                     d                    }|V  t          |           d S )Nscikit_learn_data_home_teststrmktempr!   tmpdir_factorytmp_files     r    	data_homer-   %   s?      >(()FGGHHH
NNNr"   c              #   t   K   t          |                     d                    }|V  t          |           d S )Nscikit_learn_load_files_testr'   r*   s     r    load_files_rootr0   ,   s?      >(()GHHIIH
NNNr"   c              #      K   t          j        |           }t          j        |d          }|                    d           |                                 t          |          V  t          |           d S )NdirF)r3   delete   Hello World!
)tempfilemkdtempNamedTemporaryFilewritecloser(   r!   )r0   test_category_dir1sample_files      r    test_category_dir_1r=   3   s      !)o>>>-2DUSSSK'(((
 
!
!!!!"#####r"   c              #   t   K   t          j        |           }t          |          V  t          |           d S )Nr2   )r6   r7   r(   r!   )r0   test_category_dir2s     r    test_category_dir_2r@   =   sD      !)o>>>
 
!
!!!!"#####r"   c                 <   t          |           } | | k    sJ t          j                            |           sJ t	          |            t          j                            |           rJ t          |           } t          j                            |           sJ d S )Nr-   )r   r   r   existsr   rB   s    r    test_data_homerD   D   s    	222I	!!!!7>>)$$$$$ i((((w~~i((((( 	222I7>>)$$$$$$$r"   c                     t          |           }t          |j                  dk    sJ t          |j                  dk    sJ |j        J d S )Nr   )r   len	filenamestarget_namesDESCR)r0   ress     r    test_default_empty_load_filesrK   S   sZ    
_
%
%Cs}""""s  A%%%%9r"   c                     t          |          }t          |j                  dk    sJ t          |j                  dk    sJ |j        J |j        dgk    sJ d S )N      r5   )r   rF   rG   rH   rI   datar=   r@   r0   rJ   s       r    test_default_load_filesrQ   Z   sq    
_
%
%Cs}""""s  A%%%%98)*******r"   c                 R   t           j                            |                               d                                          }t          |d|d          }t          |j                  dk    sJ t          |j                  dk    sJ |j	        dk    sJ |j
        dgk    sJ d S )N/testzutf-8)description
categoriesencodingrM   zHello World!
)r   r   abspathsplitpopr   rF   rG   rH   rI   rO   )r=   r@   r0   categoryrJ   s        r    .test_load_files_w_categories_desc_and_encodingr\   b   s     w23399#>>BBDDH
V7  C s}""""s  A%%%%98()))))))r"   c                     t          |d          }t          |j                  dk    sJ t          |j                  dk    sJ |j        J |                    d          J d S )NF)load_contentrM   rN   rO   )r   rF   rG   rH   rI   getrP   s       r    test_load_files_wo_load_contentr`   o   sw     _5
9
9
9Cs}""""s  A%%%%9776??"""""r"   allowed_extensionsz.txtz.jsonc                    | dz                                    d}fd|D             }|D ]}|                    d           t          |           }t          fd|D                       t          |j                  k    sJ dS )z;Check the behaviour of `allowed_extension` in `load_files`.sub)z	file1.txtz
file2.jsonz
file3.jsonzfile4.mdc                     g | ]}|z  S  re   ).0fds     r    
<listcomp>z6test_load_files_allowed_extensions.<locals>.<listcomp>   s    """qQU"""r"   s   hello)ra   c                 @    g | ]}|j         v t          |          S re   )suffixr(   )rf   pra   s     r    ri   z6test_load_files_allowed_extensions.<locals>.<listcomp>   s,    HHH15G)G)GA)G)G)Gr"   N)mkdirwrite_bytesr   setrG   )tmp_pathra   filespathsrl   rJ   rh   s    `    @r    "test_load_files_allowed_extensionsrs   y   s     	5AGGIIIAE""""E"""E    	h
X2D
E
E
ECHHHHHHHIISN N      r"   zHfilename, expected_n_samples, expected_n_features, expected_target_nameszwine_data.csv      )class_0class_1class_2iris.csv      )setosa
versicolor	virginicazbreast_cancer.csv9     	malignantbenignc                     t          |           \  }}}|j        d         |k    sJ |j        d         |k    sJ |j        d         |k    sJ t          j                            ||           d S )Nr   rM   )r   shapenptestingassert_array_equal)filenameexpected_n_samplesexpected_n_featuresexpected_target_namesactual_dataactual_targetactual_target_namess          r    test_load_csv_datar      s     7DH6M6M3K 3Q#55555Q#66666q!%77777J!!"57LMMMMMr"   c                     d} d}t          |           }t          | |          }t          |          dk    sJ t          |          dk    sJ t          j                            |d         |d                    t          j                            |d         |d                    t          j                            |d	         |d	                    |d
                             d          sJ d S )Nry   ziris.rstdata_file_namer   descr_file_namer{      r   rM   rN   z.. _iris_dataset:)r   rF   r   r   r   
startswith)r   r   res_without_descrres_with_descrs       r    test_load_csv_data_with_descrr      s    N O%^DDD"%  N ~!#### !!Q&&&&J!!."35Fq5IJJJJ!!."35Fq5IJJJJ!!."35Fq5IJJJ"(()<=======r"   z filename, kwargs, expected_shapezdiabetes_data_raw.csv.gz  
   diabetes_target.csv.gzzdigits.csv.gz	delimiter,  A   c                 T    t          | fi |}|j        t          |          k    sJ d S r   )r   r   tuple)r   kwargsexpected_shaper   s       r    "test_load_gzip_compressed_csv_datar      s;     0CCFCCKn 5 5555555r"   c                      d} d}t          |           }t          | |          \  }}t          j                            ||           |                    d          sJ d S )Nr   zdiabetes.rstr   r   z.. _diabetes_dataset:)r   r   r   r   r   )r   r   expected_datar   descrs        r    -test_load_gzip_compressed_csv_data_with_descrr      sv    -N$O1PPPM6%'  K
 J!!+}===34444444r"   c                  "   	 t                      } t          | j                  dk    sJ t          | j                  dk    sJ | j        }t	          j        |d         ddd d f         t	          j        g dt          j                  k              sJ t	          j        |d         ddd d f         t	          j        g dt          j                  k              sJ | j        sJ d S # t          $ r t          j        d           Y d S w xY w)NrN   r   )         )dtyperM   )rN      ru   3Could not load sample images, PIL is not available.)r	   rF   imagesrG   r   allarrayuint8rI   ImportErrorwarningswarn)rJ   r   s     r    test_load_sample_imagesr      s"   M ""3:!####3=!!Q&&&& vfQi1aaa(BH___BH,U,U,UUVVVVVvfQi1aaa(BH[[[,Q,Q,QQRRRRRyy M M MKLLLLLLMs   C(C, ,DDc                      	 t          d          } | j        dk    sJ | j        dk    sJ d S # t          $ r t	          j        d           Y d S w xY w)Nz	china.jpgr   )i  i  r   r   )r
   r   r   r   r   r   )chinas    r    test_load_sample_imager      sz    M!+..{g%%%%{m++++++ M M MKLLLLLLMs   )- AAc                      t          j        d           t          j        t                    5  t	          d           d d d            d S # 1 swxY w Y   d S )NPILzblop.jpg)pytestimportorskipraisesAttributeErrorr
   re   r"   r    $test_load_missing_sample_image_errorr      s    
	~	&	& & &*%%%& & & & & & & & & & & & & & & & & &s   AAAc                  P   t          d          } | j        j        dk    sJ | j        j        s
J d            t          | j                  dk    sJ | j        sJ t                      }t          j	        
                    t          | j                  dz  |j        d           d	S )
zTest to check that we load a scaled version by default but that we can
    get an unscaled version when setting `scaled=False`.F)scaledr   r   r   r   gT5@g-C6?)atolN)r   rO   r   targetsizerF   feature_namesrI   r   r   assert_allcloser   )diabetes_rawdiabetes_defaults     r    test_load_diabetes_rawr      s     !...L"i////#((S((#|)**b0000$Jl  H-/?/D5      r"   zEloader_func, data_shape, target_shape, n_target, has_descr, filenames)r   r   )r   rN   Tr   )rt   ru   )rt   r   )rz   r{   )rz   )   r   data_filenametarget_filenamer   )r   )r   @   )r   	   )n_class)Q  r   )r   c                     |             t          t                    sJ j        j        |k    sJ j        j        |k    sJ t          d          r t          j                  |d         k    sJ |t          j                  |k    sJ |r	j	        sJ |r#dv sJ t          fd|D                       sJ d S d S )Nr   rM   data_modulec                 P    g | ]"}|v ot          d          |                   #S )r   r   )rf   rg   bunchs     r    ri   ztest_loader.<locals>.<listcomp>  sE        U
K|E-,@%(KK  r"   )
isinstancer   rO   r   r   hasattrrF   r   rH   rI   r   )loader_func
data_shapetarget_shapen_target	has_descrrG   r   s         @r    test_loaderr      s*   ( KMMEeU#####:z))))<----uo&& 95&'':a=88885%&&(2222 {{ 
%%%%   "  
 
 	
 	
 

 
	
 	
r"   z%loader_func, data_dtype, target_dtypec                 @     |             }t          || ||           d S )N)expected_data_dtypeexpected_target_dtyper   )r   
data_dtypetarget_dtypedefault_results       r    test_toy_dataset_frame_dtyper     s<     ![]]N&*	     r"   c                      t          d          } t          t          |                     }d|_        |d         |j        k    sJ d S )Nx)r   y)r   r   r   r   r   bunch_from_pkls     r    test_loads_dumps_bunchr   4  sI    CLLLE5<<((NN#."2222222r"   c                      t          d          } d| j        d<   t          t          |                     }|j        dk    sJ |d         dk    sJ d|_        |j        dk    sJ |d         dk    sJ d S )Noriginal)keyzset from __dict__r   changed)r   __dict__r   r   r   r   s     r    8test_bunch_pickle_generated_with_0_16_and_read_with_0_17r   ;  s    j!!!E 0EN55<<((N++++% J.... #N****% I------r"   c                  H    t                      } dt          |           v sJ d S )NrO   )r   r3   )rO   s    r    test_bunch_dirr   P  s(    ;;DSYYr"   c                      d} t          j        t          |           5  ddlm} ddd           n# 1 swxY w Y   d} t          j        t          |           5  ddlm} ddd           dS # 1 swxY w Y   dS )zLCheck that we raise the ethical warning when trying to import `load_boston`.z8The Boston housing prices dataset has an ethical problem)matchr   )load_bostonNzBcannot import name 'non_existing_function' from 'sklearn.datasets')non_existing_function)r   r   r   sklearn.datasetsr   r   )msgr   r   s      r    test_load_boston_errorr   V  s   
DC	{#	.	.	. 1 10000001 1 1 1 1 1 1 1 1 1 1 1 1 1 1 OC	{#	.	.	. ; ;::::::; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;s   155A--A14A1)Ar   r   r6   r   pickler   r   	functoolsr   r   numpyr   r   r   r   r   r	   r
   r   r   r   r   r   r   sklearn.datasets._baser   r   sklearn.preprocessingr   sklearn.utilsr   sklearn.utils.fixesr   "sklearn.datasets.tests.test_commonr   r!   fixturer-   r0   r=   r@   rD   rK   rQ   r\   r`   markparametrizers   r   r   r   r   r   r   r   r   r   float64intr   r   r   r   r   re   r"   r    <module>r     s   				                           * * * * * * , , , , , , ' ' ' ' ' ' / / / / / / . . . . . . ( ( ( ( ( ( * * * * * * * * * * * * & & & & & & / / / / / / & & & & & &        ( ' ' ' ' '       , , , , , , = = = = = =  
 h    h    $ $ $ $ $ $% % %  + + +
* 
* 
*# # # -67:K/LMM  NM N	#r#D#D#DE	S!BBBC	c2X'>? N N N> > >$ &	#R#r3	!2u-	;,tRj9 6 6 6
5 5 5M M M M M M& & &    K	Y4*F	Ivq$3	Hfa
|</0	
 
	64r:	j'2tR8	a	(	(	(*gr4L &
 
' &
, +	RZ-	
BJ/	bj#&	BJ$	
BJ/	BJ$
 
 
 
3 3 3. . .*  	; 	; 	; 	; 	;r"   