U
    ‘Ç-eÆ
  ã                   @   sh   d 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mZ dd„ Zd	d
„ Zdd„ ZdS )z2
Tests for sklearn.cluster._feature_agglomeration
é    N)Úassert_array_equal)ÚFeatureAgglomeration)Ú
make_blobs)Úassert_array_almost_equalc                  C   s„  d} t  dddg¡ dd¡}t| t jd}t| t jd}| |¡ | |¡ t  t  |j	¡¡| ksft
‚t  t  |j	¡¡| ks€t
‚t  |j	¡|jd ksšt
‚t  |j	¡|jd ks´t
‚| |¡}| |¡}|jd | ksÚt
‚|jd | ksìt
‚|t  dg¡kst
‚|t  dg¡kst
‚| |¡}| |¡}t  |d ¡j| ksFt
‚t  |d ¡j| ks`t
‚t| |¡|ƒ t| |¡|ƒ d S )Né   r   é   ©Ú
n_clustersZpooling_funcgUUUUUUÕ?g        )ÚnpÚarrayÚreshaper   ÚmeanZmedianÚfitÚsizeÚuniqueZlabels_ÚAssertionErrorÚshapeÚ	transformÚinverse_transformr   )r	   ÚXZ
agglo_meanZagglo_medianZXt_meanZ	Xt_medianZX_full_meanZX_full_median© r   úq/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/sklearn/cluster/tests/test_feature_agglomeration.pyÚtest_feature_agglomeration   s,    





r   c                  C   sN   t ddd\} }tdd}| | ¡ |j}| ¡ }tdd„ t|ƒD ƒ|ƒ dS )	z9Check `get_feature_names_out` for `FeatureAgglomeration`.é   r   )Z
n_featuresZrandom_stater   )r	   c                 S   s   g | ]}d |› ‘qS )Zfeatureagglomerationr   )Ú.0Úir   r   r   Ú
<listcomp>9   s     z@test_feature_agglomeration_feature_names_out.<locals>.<listcomp>N)r   r   r   Zn_clusters_Zget_feature_names_outr   Úrange)r   Ú_Zagglor	   Z	names_outr   r   r   Ú,test_feature_agglomeration_feature_names_out0   s    

 ÿr   c               	   C   sÚ   t  dddg¡ dd¡} tdt jd}| | ¡ | | ¡}tjt	dd | 
¡  W 5 Q R X tjtdd |j
||d W 5 Q R X tjd	d
 t d¡ | 
|¡ W 5 Q R X tjtdd |j
|d W 5 Q R X d S )Nr   r   r   r   z$Missing required positional argument)ÚmatchzPlease provide only)ÚXtÚXredT)ÚrecordÚerrorz)Input argument `Xred` was renamed to `Xt`)r"   )r
   r   r   r   r   r   r   ÚpytestZraisesÚ	TypeErrorr   Ú
ValueErrorÚwarningsÚcatch_warningsÚsimplefilterZwarnsÚFutureWarning)r   Zestr!   r   r   r   Ú'test_inverse_transform_Xred_deprecation>   s    


r,   )Ú__doc__r(   Únumpyr
   r%   Znumpy.testingr   Zsklearn.clusterr   Zsklearn.datasetsr   Zsklearn.utils._testingr   r   r   r,   r   r   r   r   Ú<module>   s    