U
    3‰dÊ  ã                   @   sP   d 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S )z2
Tests for sklearn.cluster._feature_agglomeration
é    N)Úassert_array_equal)ÚFeatureAgglomeration)Úassert_array_almost_equal)Ú
make_blobsc                  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ÚarrayZreshaper   ZmeanZmedianÚfitÚsizeÚuniqueZlabels_ÚAssertionErrorÚshapeZ	transformZinverse_transformr   )r   ÚXZ
agglo_meanZagglo_medianZXt_meanZ	Xt_medianZX_full_meanZX_full_median© r   úT/tmp/pip-unpacked-wheel-zrfo1fqw/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>6   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_out-   s    

 ÿr   )Ú__doc__Znumpyr	   Znumpy.testingr   Zsklearn.clusterr   Zsklearn.utils._testingr   Zsklearn.datasetsr   r   r   r   r   r   r   Ú<module>   s    