U
    3‰d	  ã                   @   sT   d Z ddlm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S )	zTest the rcv1 loader, if the data is available,
or if specifically requested via environment variable
(e.g. for travis cron job).é    N)Úpartial)Úcheck_return_X_y)Úassert_almost_equal)Úassert_array_equalc                 C   s   | dd}|j |j }}|j ¡ |j }}t |¡s8t‚t |¡sFt‚d|j jksVt‚d|j jksft‚d|j	kstt‚d|j	ks‚t‚d|j	kst‚dt
|ƒks t‚|j d	¡s°t‚d
dddddg}t||d d… ƒ d}d}t||ƒD ].\}	}
| |
¡}|	|d d …|f j jksät‚qä| dddd}|j |j }}|j}t| ddd}t||ƒ tt |d d… ¡t |¡ƒ d}|D ]†}| ¡  |¡}| ¡  |¡}||d d …f  ¡ }||d d …f  ¡ }t||ƒ ||d d …f  ¡ }||d d …f  ¡ }t||ƒ qtd S )NF)Úshufflei©}¡iÇ' )é>F i„¸  )r   ég   )r   r   z.. _rcv1_dataset:ZC11ZC12ZC13ZC14ZC15ZC151é   )ZGMILZE143ZCCAT)é   i¶  iÑ TZtrainéM   )r   ÚsubsetZrandom_state)r   r   imZ  )iî  iÊ  iÚ6  )ÚdataÚtargetZtarget_namesÚtolistÚ	sample_idÚspÚissparseÚAssertionErrorÚsizeÚshapeÚlenZDESCRÚ
startswithr   ÚzipÚindexr   r   ÚnpÚsortZtoarrayr   )Zfetch_rcv1_fxtZdata1ZX1ZY1Zcat_listÚs1Zfirst_categoriesZsome_categoriesZnumber_non_zero_in_catÚnumÚcatÚjZdata2ZX2ZY2Ús2Z
fetch_funcZsome_sample_idsr   Zidx1Zidx2Zfeature_values_1Zfeature_values_2Ztarget_values_1Ztarget_values_2© r!   úD/tmp/pip-unpacked-wheel-zrfo1fqw/sklearn/datasets/tests/test_rcv1.pyÚtest_fetch_rcv1   sF    



r#   )Ú__doc__Zscipy.sparseÚsparser   Znumpyr   Ú	functoolsr   Z"sklearn.datasets.tests.test_commonr   Zsklearn.utils._testingr   r   r#   r!   r!   r!   r"   Ú<module>   s   