ó
‡ˆ\c           @   s¹  d  Z  d d l Z d d l Z d d l Z d d l Z 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 m Z m Z m Z 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 d
 l m Z e j  j! e j  j" e# ƒ ƒ Z$ e% Z& d „  Z' d „  Z( d „  Z) e
 j* j+ d e% e, g ƒ d „  ƒ Z- d „  Z. e
 j* j+ d e% e, g ƒ d „  ƒ Z/ e
 j* j+ d e% e, g ƒ d „  ƒ Z0 d „  Z1 e
 j* j+ d e% e, g ƒ d „  ƒ Z2 e
 j* j+ d e% e, g ƒ d „  ƒ Z3 d „  Z4 e
 j* j+ d e% e, g ƒ d „  ƒ Z5 e
 j* j+ d e% e, g ƒ d „  ƒ Z6 e
 j* j+ d e% e, g ƒ d „  ƒ Z7 e
 j* j+ d e% e, g ƒ d „  ƒ Z8 d „  Z9 e
 j* j+ d e% e, g ƒ d „  ƒ Z: e
 j* j+ d e% e, g ƒ e
 j* j+ d e% e, g ƒ d „  ƒ ƒ Z; d „  Z< d  „  Z= e
 j* j+ d e% e, g ƒ d! „  ƒ Z> e
 j* j+ d e% e, g ƒ d" „  ƒ Z? e
 j* j+ d e% e, g ƒ d# „  ƒ Z@ e
 j* j+ d e% e, g ƒ d$ „  ƒ ZA e
 j* j+ d e% e, g ƒ d% „  ƒ ZB e
 j* j+ d e% e, g ƒ d& „  ƒ ZC e
 j* j+ d e% e, g ƒ d' „  ƒ ZD e
 j* j+ d e% e, g ƒ d( „  ƒ ZE e
 j* j+ d e% e, g ƒ d) „  ƒ ZF e
 j* j+ d e% e, g ƒ d* „  ƒ ZG e
 j* j+ d e% e, g ƒ d+ „  ƒ ZH d, „  ZI d S(-   s   Test the openml loader.
iÿÿÿÿN(   t   fetch_openml(   t   _open_openml_urlt   _get_data_description_by_idt   _download_data_arfft   _get_local_patht   _retry_with_clean_cache(   t   assert_warns_messaget   assert_raise_message(   t   is_scalar_nan(   t   string_types(   t	   HTTPError(   t   check_return_X_y(   t   partialc         C   sì   d „  } t  d |  d t d d  ƒ } t |  d  ƒ } | d j ƒ  d k } | t k rd t d ƒ ‚ n  t | d | d  t ƒ } t j	 t
 | d	 ƒ d
 d ƒ} xI t t | j ƒ ƒ D]2 } t j j | d  d  … | f | | | ƒ ƒ q² Wd  S(   Nc         S   sŸ   |  j  | } | |  j k r„ |  j | } g  |  j d  d  … | f D]( } t | ƒ r[ d  n | t | ƒ ^ qC } t j | d d ƒS|  j d  d  … | f Sd  S(   Nt   dtypet   O(   t   feature_namest
   categoriest   dataR   t   Nonet   intt   npt   array(   t
   data_buncht   col_idxt   col_namet   catt   idxt   result(    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   decode_column$   s    Et   data_idt   cachet   target_columnt   formatt   sparse_arffsI   This test is not intended for sparse data, to keep code relatively simplet   file_idR   R   R   (   R    t   FalseR   R   t   lowert   Truet
   ValueErrorR   R   R   t   listt   ranget   lenR   t   testingt   assert_array_equal(   R   R   R   t   data_descriptiont   sparset	   data_arfft   data_downloadedt   i(    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   _test_features_list    s    	
c         C   s^  t  d | d | d t ƒ } t | j d ƒ |  k s: t ‚ t  d | d t ƒ t  d |  d t d | ƒ } | j d | k s t ‚ | j j | | f k sŸ t ‚ t | t ƒ rÌ | j	 j | f k st ‚ n6 t | t
 ƒ r| j	 j | t | ƒ f k st ‚ n  | j j t j k st ‚ | j	 j | k s5t ‚ t | j ƒ | k sPt ‚ x& | j D] } t | t ƒ sZt ‚ qZWxŽ | j j ƒ  D]} \ } } | j j | ƒ } t j | j d  d  … | f ƒ } | t j | ƒ } t | ƒ t t t | ƒ ƒ ƒ k s‰t ‚ q‰W|
 rÆt  d |  d t ƒ } | j j t j k rVt j j | j | j ƒ n t j | j | j ƒ stt ‚ | j	 j t j k r¥t j j | j	 | j	 ƒ qÆt j | j	 | j	 ƒ sÆt ‚ n  |	 rít | j t j j ƒ s/t ‚ nB t | j t j ƒ st ‚ t j t j  | j ƒ ƒ | k s/t ‚ t! t  d |  d t d | ƒ} t" | | ƒ | S(   Nt   namet   versionR   t   idR   R   (#   R    R#   R   t   detailst   AssertionErrorR   t   shapet
   isinstancet   strt   targetR'   R)   R   R   t   float64R   R	   R   t   itemst   indext   uniquet   isfinitet   setR(   R*   t   assert_allcloset   array_equalt   scipyR-   t
   csr_matrixt   ndarrayt   count_nonzerot   isnanR   R   (   R   t	   data_namet   data_versionR   t   expected_observationst   expected_featurest   expected_missingt   expected_data_dtypet   expected_target_dtypet   expect_sparset   compare_default_targett   data_by_name_idt
   data_by_idt   featureR   t   feature_idxt   valuest   data_by_id_defaultt
   fetch_func(    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   _fetch_dataset_from_openmlE   sT    
		".!!	c            s  d ‰
 d ‰ d ‰ d ‰ d ‰ t  j ‰	 d t f d „  ƒ  Y‰  ‡ f d †  ‰ ‡  ‡ ‡ ‡ ‡	 ‡
 f d	 †  ‰ ‡  ‡ ‡ ‡ ‡	 ‡ f d
 †  ‰ ‡  ‡ ‡ ‡ ‡	 ‡ f d †  ‰ ‡  ‡ ‡ ‡	 ‡ f d †  ‰ ‡ ‡ ‡ ‡ ‡
 ‡ ‡ ‡ f d †  } t r|  j t j j d | ƒ n  d  S(   Ns$   https://openml.org/api/v1/json/data/s-   https://openml.org/api/v1/json/data/features/s   https://openml.org/data/v1/s)   https://openml.org/api/v1/json/data/list/s   .gzt   MockHTTPResponsec           B   sD   e  Z d  „  Z d d „ Z d „  Z d d „ Z d „  Z d „  Z RS(   c         S   s   | |  _  | |  _ d  S(   N(   R   t   is_gzip(   t   selfR   RZ   (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   __init__ž   s    	iÿÿÿÿc         S   s   |  j  j | ƒ S(   N(   R   t   read(   R[   t   amt(    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyR]   ¢   s    c         S   s   |  j  j ƒ  S(   N(   R   t   tell(   R[   (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyR_   ¥   s    i    c         S   s   |  j  j | | ƒ S(   N(   R   t   seek(   R[   t   post   whence(    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyR`   ¨   s    c         S   s   |  j  j ƒ  d  S(   N(   R   t   close(   R[   (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyRc   «   s    c         S   s   |  j  r i d d 6Si  S(   Nt   gzips   Content-Encoding(   RZ   (   R[   (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   info®   s    	(   t   __name__t
   __module__R\   R]   R_   R`   Rc   Re   (    (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyRY      s   			c            s%   t  j d d |  t d ƒ ƒ | ˆ  S(   Ns   \Wt   -s   https://openml.org/(   t   ret   subR)   (   t   urlt   suffix(   t   path_suffix(    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt
   _file_name³   s    c            sŠ   |  j  ˆ ƒ s t ‚ t j j t d d t ˆ ƒ ˆ |  d ƒ ƒ } | rj ˆ rj t | d ƒ } ˆ  | t ƒ Sˆ | d ƒ } ˆ  | t	 ƒ Sd  S(   NR   t   openmls   .jsont   rb(
   t
   startswithR6   t   ost   patht   joint   currdirR9   t   openR%   R#   (   Rk   t   has_gzip_headerRs   t   fp(   RY   Rn   R   t   gzip_responset   read_fnt   url_prefix_data_description(    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   _mock_urlopen_data_description·   s    c            sŠ   |  j  ˆ ƒ s t ‚ t j j t d d t ˆ ƒ ˆ |  d ƒ ƒ } | rj ˆ rj t | d ƒ } ˆ  | t ƒ Sˆ | d ƒ } ˆ  | t	 ƒ Sd  S(   NR   Ro   s   .jsonRp   (
   Rq   R6   Rr   Rs   Rt   Ru   R9   Rv   R%   R#   (   Rk   Rw   Rs   Rx   (   RY   Rn   R   Ry   Rz   t   url_prefix_data_features(    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   _mock_urlopen_data_featuresÄ   s    c            sŠ   |  j  ˆ ƒ s t ‚ t j j t d d t ˆ ƒ ˆ |  d ƒ ƒ } | rj ˆ rj t | d ƒ } ˆ  | t ƒ Sˆ | d ƒ } ˆ  | t	 ƒ Sd  S(   NR   Ro   s   .arffRp   (
   Rq   R6   Rr   Rs   Rt   Ru   R9   Rv   R%   R#   (   Rk   Rw   Rs   Rx   (   RY   Rn   R   Ry   Rz   t   url_prefix_download_data(    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   _mock_urlopen_download_dataÏ   s    c            sá   |  j  ˆ ƒ s t ‚ t j j t d d t ˆ ƒ ˆ |  d ƒ ƒ } t j ˆ | d ƒ j	 ƒ  j
 d ƒ ƒ } d | k rŸ t d d  d d	 d
 d d d  d d  ƒ ‚ n  | rÁ t | d ƒ } ˆ  | t ƒ Sˆ | d ƒ } ˆ  | t ƒ Sd  S(   NR   Ro   s   .jsonRp   s   utf-8t   errorRk   t   codeiœ  t   msgs   Simulated mock errort   hdrsRx   (   Rq   R6   Rr   Rs   Rt   Ru   R9   t   jsont   loadsR]   t   decodeR
   R   Rv   R%   R#   (   Rk   Rw   t   json_file_patht	   json_dataRx   (   RY   Rn   R   Rz   t   url_prefix_data_list(    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   _mock_urlopen_data_listÜ   s    c            s¥   |  j  ƒ  } |  j d ƒ d k } | j ˆ ƒ r= ˆ | | ƒ S| j ˆ ƒ rY ˆ | | ƒ S| j ˆ ƒ ru ˆ | | ƒ S| j ˆ ƒ r‘ ˆ  | | ƒ St d | ƒ ‚ d  S(   Ns   Accept-encodingRd   s   Unknown mocking URL pattern: %s(   t   get_full_urlt
   get_headerRq   R&   (   t   requestRk   Rw   (   R|   R~   R‹   R€   R{   R}   RŠ   R   (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   _mock_urlopenð   s    t   urlopen(   Rd   Rv   t   objectt   test_offlinet   setattrt   sklearnt   datasetsRo   (   t   contextR   Ry   R   (    (   RY   Rn   R|   R~   R‹   R€   R   Ry   Rm   Rz   R{   R}   RŠ   R   sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt    _monkey_patch_webbased_functions   s    	$Ry   c   	      C   s¡   d } d } d } d } d } d } d } t  |  | | ƒ t t d t i | d	 6| d
 6| d 6| d 6| d 6| d 6| d 6t d 6t j d 6t d 6t d 6 d  S(   Ni=   t   irisi   t   classi–   i   i    sƒ   Multiple active versions of the dataset matching the name iris exist. Versions may be fundamentally different, returning version 1.R   RH   RI   R   RJ   RK   RL   RO   RM   RN   RP   (	   R—   R   t   UserWarningRX   R#   R   R;   R‘   R%   (	   t   monkeypatchRy   R   RH   RI   R   RJ   RK   RL   (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   test_fetch_openml_iris  s,    
c         C   s$   d } t  |  | t ƒ t | ƒ d  S(   Ni=   (   R—   R#   R1   (   R›   R   (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   test_decode_iris"  s    c   	      C   su   d } d } d } d d g } d } d } d } t  |  | | ƒ t | | | | | | | t t j d	 t d
 t ƒ	d  S(   Ni=   R˜   i   t   sepallengtht
   sepalwidthi–   i   i    RO   RP   (   R—   RX   R‘   R   R;   R#   (	   R›   Ry   R   RH   RI   R   RJ   RK   RL   (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt"   test_fetch_openml_iris_multitarget(  s    c   	      C   sl   d } d } d } d } d } d } d } t  |  | | ƒ t | | | | | | | t t d t d	 t ƒ	d  S(
   Ni   t   anneali   R™   i   i&   i  RO   RP   (   R—   RX   R‘   R#   R%   (	   R›   Ry   R   RH   RI   R   RJ   RK   RL   (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   test_fetch_openml_anneal;  s    c         C   s$   d } t  |  | t ƒ t | ƒ d  S(   Ni   (   R—   R#   R1   (   R›   R   (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   test_decode_annealN  s    c   	      C   su   d } d } d } d d d g } d } d } d	 } t  |  | | ƒ t | | | | | | | t t d
 t d t ƒ	d  S(   Ni   R¡   i   R™   s   product-typeR7   i   i$   i  RO   RP   (   R—   RX   R‘   R#   (	   R›   Ry   R   RH   RI   R   RJ   RK   RL   (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt$   test_fetch_openml_anneal_multitargetT  s    c   	      C   so   d } d } d } d } d } d } d } t  |  | | ƒ t | | | | | | | t t j d t d	 t ƒ	d  S(
   Ni1  t   cpui   R™   iÑ   i   i    RO   RP   (   R—   RX   R‘   R   R;   R#   R%   (	   R›   Ry   R   RH   RI   R   RJ   RK   RL   (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   test_fetch_openml_cpug  s    c         C   s$   d } t  |  | t ƒ t | ƒ d  S(   Ni1  (   R—   R#   R1   (   R›   R   (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   test_decode_cpuy  s    c   	      C   s¡   d } d } d } d } d } d } d } t  |  | | ƒ t t d t i | d	 6| d
 6| d 6| d 6| d 6| d 6| d 6t d 6t j d 6t d 6t d 6 d  S(   Ni$  t
   Australiani   t   YiU   i   i    s,   Version 1 of dataset Australian is inactive,R   RH   RI   R   RJ   RK   RL   RO   RM   RN   RP   (	   R—   R   Rš   RX   R%   R   R;   R‘   R#   (	   R›   Ry   R   RH   RI   R   RJ   RK   RL   (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   test_fetch_openml_australian  s,    
c   	      C   so   d } d } d } d } d } d } d } t  |  | | ƒ t | | | | | | | t j t d t d	 t ƒ	d  S(
   Ni_  s   adult-censusi   R™   i
   i   i    RO   RP   (   R—   RX   R   R;   R‘   R#   R%   (	   R›   Ry   R   RH   RI   R   RJ   RK   RL   (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   test_fetch_openml_adultcensusŸ  s    c   	      C   so   d } d } d } d } d } d } d } t  |  | | ƒ t | | | | | | | t j t d t d t ƒ	d  S(	   Ni   t   MiceProteini   R™   i   iM   RO   RP   (   R—   RX   R   R;   R‘   R#   R%   (	   R›   Ry   R   RH   RI   R   RJ   RK   RL   (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   test_fetch_openml_miceprotein²  s    c   	      C   s   d } d } d } d d d d d d	 g } d
 } d } d } t  |  | | ƒ t | | | | | | | t j t d t d t ƒ	d  S(   Niž  t   emotionsi   s   amazed.supriseds   happy.pleaseds   relaxing.calms   quiet.stills
   sad.lonelys   angry.aggresivei   iH   i    RO   RP   (   R—   RX   R   R;   R‘   R#   R%   (	   R›   Ry   R   RH   RI   R   RJ   RK   RL   (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   test_fetch_openml_emotionsÈ  s    	c         C   s$   d } t  |  | t ƒ t | ƒ d  S(   Niž  (   R—   R#   R1   (   R›   R   (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   test_decode_emotionsÜ  s    c   	      C   sª   d } t  |  | | ƒ t j j j j | ƒ } t | j d ƒ ƒ } t | | ƒ } t	 | | ƒ } t
 j j | ƒ sy t ‚ t | | ƒ } | j ƒ  | j ƒ  k s¦ t ‚ d  S(   Ni=   t   scikit_learn_data(   R—   R”   R•   Ro   t
   _DATA_FILER    R9   t   mkdirR   R   Rr   Rs   t   isfileR6   R]   (	   R›   Ry   t   tmpdirR   t   openml_patht   cache_directoryt	   response1t   locationt	   response2(    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   test_open_openml_url_cacheâ  s    t   write_to_diskc            s³   d } t  j j j j | ƒ } t | j d ƒ ƒ } t | | ƒ ‰  ‡  ‡ f d †  } |  j t  j j d | ƒ t	 j
 t d d ƒ t | | ƒ Wd  QXt j j ˆ  ƒ s¯ t ‚ d  S(   Ni=   R±   c            s>   ˆ r. t  ˆ  d ƒ  } | j d ƒ Wd  QXn  t d ƒ ‚ d  S(   Nt   wt    s   Invalid request(   Rv   t   writeR&   (   RŽ   t   f(   R¹   R¼   (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyR   ý  s    R   t   matchs   Invalid request(   R”   R•   Ro   R²   R    R9   R³   R   R“   t   pytestt   raisesR&   R   Rr   Rs   t   existsR6   (   R›   Ry   Rµ   R¼   R   R¶   R·   R   (    (   R¹   R¼   sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt'   test_open_openml_url_unlinks_local_pathô  s    c            sß   d } t  j j j j | ƒ } t |  j d ƒ ƒ } t | | ƒ ‰  t j	 t j
 j ˆ  ƒ ƒ t ˆ  d ƒ  } | j d ƒ Wd  QXt | | ƒ ‡  f d †  ƒ } d } t j t d | ƒ | ƒ  } Wd  QX| d k sÛ t ‚ d  S(	   Ni=   R±   R½   R¾   c              s%   t  j j ˆ  ƒ r! t d ƒ ‚ n  d S(   Ns   File exist!i   (   Rr   Rs   RÄ   t	   Exception(    (   R¹   (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt
   _load_data  s    s!   Invalid cache, redownloading fileRÁ   i   (   R”   R•   Ro   R²   R    R9   R³   R   Rr   t   makedirsRs   t   dirnameRv   R¿   R   RÂ   t   warnst   RuntimeWarningR6   (   Rµ   R   R¶   R·   RÀ   RÇ   t   warn_msgR   (    (   R¹   sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   test_retry_with_clean_cache  s    c         C   sx   d } t  j j j j | ƒ } t |  j d ƒ ƒ } t | | ƒ d „  ƒ } d } t j	 t
 d | ƒ | ƒ  Wd  QXd  S(   Ni=   R±   c           S   s+   t  d d  d d d d d d  d d  ƒ ‚ d  S(   NRk   R‚   iœ  Rƒ   s   Simulated mock errorR„   Rx   (   R
   R   (    (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyRÇ   '  s    s   Simulated mock errorRÁ   (   R”   R•   Ro   R²   R    R9   R³   R   RÂ   RÃ   R
   (   Rµ   R   R¶   R·   RÇ   t	   error_msg(    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt&   test_retry_with_clean_cache_http_error"  s    c   
   	   C   sÅ   d „  } d } t  | j d ƒ ƒ } t |  | | ƒ t d | d t d | d t ƒ \ } } |  j t j j d | ƒ t d | d t d | d t ƒ \ } }	 t	 j
 j | | ƒ t	 j
 j | |	 ƒ d  S(	   Nc         S   s   t  d |  j ƒ  ƒ ‚ d  S(   Nsh   This mechanism intends to test correct cachehandling. As such, urlopen should never be accessed. URL: %s(   R&   RŒ   (   RŽ   (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   _mock_urlopen_raise4  s    i   R±   R   R   t	   data_homet
   return_X_yR   (   R9   R³   R—   R    R%   R“   R”   R•   Ro   R   R*   R+   (
   R›   Ry   Rµ   RÐ   R   R·   t	   X_fetchedt	   y_fetchedt   X_cachedt   y_cached(    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   test_fetch_openml_cache2  s    	c         C   sz   d } d  } d } d } t |  | | ƒ t d | d | d t ƒ } | j j | | f k sa t ‚ | j d  k sv t ‚ d  S(   Ni=   i–   i   R   R   R   (   R   R—   R    R#   R   R7   R6   R:   (   R›   Ry   R   R   RJ   RK   R   (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   test_fetch_openml_notargetJ  s    	c         C   s™   d } t  |  | | ƒ t t d t d | d t ƒ} | j j d k sL t ‚ t t d t d d  d d d	 d
 d t ƒ} t	 | j
 d ƒ | k s• t ‚ d  S(   Niãž  s(   Version 1 of dataset glass2 is inactive,R   R   i£   i	   R2   t   glass2R3   i   R4   (   i£   i	   (   R—   R   Rš   R    R#   R   R7   R6   R   R   R5   (   R›   Ry   R   t   glas2t   glas2_by_version(    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   test_fetch_openml_inactiveX  s    c         C   s6   d } t  |  | | ƒ t t d t d d d t ƒd  S(   Niãž  s   No active dataset glass2 foundR2   RÙ   R   (   R—   R   R&   R    R#   (   R›   Ry   R   (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   test_fetch_nonexitingh  s    	c      
   C   sH   d } d d g } t  |  | | ƒ t t d t d | d | d t ƒd  S(   Ni=   RŸ   R™   s2   Can only handle homogeneous multi-target datasets,R   R   R   (   R—   R   R&   R    R#   (   R›   Ry   R   t   targets(    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   test_raises_illegal_multitargetr  s    c      
   C   sÞ   d } d } d } t  |  | | ƒ t t | j d ƒ t d | d d d t ƒt t | j d ƒ t d | d d d t ƒt t | j d ƒ t d | d d d	 g d t ƒt t | j d ƒ t d | d d d	 g d t ƒd  S(
   Ni   s,   target_column={} has flag is_row_identifier.s$   target_column={} has flag is_ignore.t   MouseIDR   R   R   t   GenotypeR™   (   R—   R   Rš   R    R    R#   (   R›   Ry   R   t   expected_row_id_msgt   expected_ignore_msg(    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   test_warn_ignore_attribute~  s(    c         C   s6   d } t  |  | | ƒ t t d t d | d t ƒd  S(   NiñŸ  s'   STRING attributes are not yet supportedR   R   (   R—   R   R&   R    R#   (   R›   Ry   R   (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   test_string_attribute˜  s
    c         C   s6   d } t  |  | | ƒ t t d t d | d t ƒd  S(   Ni   sJ   OpenML registered a problem with the dataset. It might be unusable. Error:R   R   (   R—   R   Rš   R    R#   (   R›   Ry   R   (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   test_dataset_with_openml_error¢  s    c         C   s6   d } t  |  | | ƒ t t d t d | d t ƒd  S(   Ni   sF   OpenML raised a warning on the dataset. It might be unusable. Warning:R   R   (   R—   R   Rš   R    R#   (   R›   Ry   R   (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt    test_dataset_with_openml_warning®  s    c      
   C   sd   d } t  |  | | ƒ t t d t d | d d d t ƒt t d t d | d d d g d t ƒd  S(   Ni=   s   Could not find target_column=R   R   t	   undefinedR   R™   (   R—   R   t   KeyErrorR    R#   (   R›   Ry   R   (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   test_illegal_columnº  s    		c         C   s6   d } t  |  | | ƒ t t d t d | d d ƒd  S(   Ni   s   Target column R   R   t   family(   R—   R   R&   R    (   R›   Ry   R   (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt.   test_fetch_openml_raises_missing_values_targetÈ  s    	c        
   C   st   t  t d t d d d d ƒt  t d t d d d d  d d ƒt  t d t d d d d d d ƒt  t d t ƒ d  S(   Ns   Dataset data_id=R   iÿÿÿÿR2   R3   sF   Neither name nor data_id are provided. Please provide name or data_id.(   R   R&   R    R   (    (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt)   test_fetch_openml_raises_illegal_argumentÐ  s    				(J   t   __doc__Rd   R…   t   numpyR   Rr   Ri   t   scipy.sparseRC   R”   RÂ   t   sklearn.datasetsR    t   sklearn.datasets.openmlR   R   R   R   R   t   sklearn.utils.testingR   R   t   sklearn.utilsR   t   sklearn.externals.sixR	   t(   sklearn.externals.six.moves.urllib.errorR
   t"   sklearn.datasets.tests.test_commonR   t	   functoolsR   Rs   RÉ   t   abspatht   __file__Ru   R%   R’   R1   RX   R—   t   markt   parametrizeR#   Rœ   R   R    R¢   R£   R¤   R¦   R§   Rª   R«   R­   R¯   R°   R»   RÅ   RÍ   RÏ   R×   RØ   RÜ   RÝ   Rß   Rä   Rå   Ræ   Rç   Rê   Rì   Rí   (    (    (    sA   lib/python2.7/site-packages/sklearn/datasets/tests/test_openml.pyt   <module>   sf   (	%	J	t$	$$	$$	$ $$$	$'		$$$$
$$$
$$$$