§
    ¨éUgFØ  ã                   óÆ  — d 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 ddl	m
Z
 ddlm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 dd	lmZmZmZmZ dd
lmZ ddlmZ ddl m!Z!m"Z"m#Z#m$Z$ dZ%dZ& G d„ d¦  «        Z' eed¬¦  «        Zd„ Z(e$ej)         *                    ddddidddfddddœdddfdddidddfddddœdddfdddid d!dfdd"ddœd d!dfd#dd#id$d%d&fd'dd'id(d)dfd'd*d+id(d)dfd,dd,id!d-dfd,d*d.id!d-dfd/dd/id0d$dfg¦  «        ej)         *                    d1d2d3g¦  «        ej)         *                    d4dd5g¦  «        d6„ ¦   «         ¦   «         ¦   «         ¦   «         Z+e$ej)         *                    ddddidddfddddœdddfdddidddfddddœdddfdddid d!dfdd"ddœd d!dfd#dd#id$d%d&fd'dd'id(d)dfd'd*d+id(d)dfd,dd,id!d-dfd,d*d.id!d-dfg¦  «        ej)         *                    d1d2d3g¦  «        d7„ ¦   «         ¦   «         ¦   «         Z,e$ej)         *                    dg d8¢¦  «        d9„ ¦   «         ¦   «         Z-e$ej)         *                    d1d2d3g¦  «        d:„ ¦   «         ¦   «         Z.e$ej)         *                    d1d2d3g¦  «        d;„ ¦   «         ¦   «         Z/e$ej)         *                    d1d2d3g¦  «        ej)         *                    d<d=d=d>gg¦  «        d?„ ¦   «         ¦   «         ¦   «         Z0e$ej)         *                    dg d@¢¦  «        ej)         *                    d1d2d3g¦  «        dA„ ¦   «         ¦   «         ¦   «         Z1e$ej)         *                    dg dB¢¦  «        ej)         *                    d1d2d3g¦  «        dC„ ¦   «         ¦   «         ¦   «         Z2e$dD„ ¦   «         Z3 ej4        dE¬F¦  «        dG„ ¦   «         Z5 ej4        dE¬F¦  «        dH„ ¦   «         Z6e$ej)         *                    dIg dJ¢¦  «        ej)         *                    d4dd5g¦  «        dK„ ¦   «         ¦   «         ¦   «         Z7ej)         *                    dLd1dMidNfdOdMidPfg¦  «        dQ„ ¦   «         Z8ej)         *                    dRddSdTœdSdSdTœd5d3dTœd5dSdTœg¦  «        dU„ ¦   «         Z9ej)         :                    dV¦  «        ej)         *                    dLd1d3idWfdOdidXfd3ddYœdXfg¦  «        dZ„ ¦   «         ¦   «         Z;e$ej)         :                    dV¦  «        ej)         *                    d[d\d]g¦  «        d^„ ¦   «         ¦   «         ¦   «         Z<e$d_„ ¦   «         Z=ej)         *                    d4dd5g¦  «        d`„ ¦   «         Z>ej)         *                    d4dd5g¦  «        da„ ¦   «         Z?ej)         *                    d4dd5g¦  «        ej)         *                    d1d2d3g¦  «        db„ ¦   «         ¦   «         Z@ej)         *                    d4dd5g¦  «        ej)         *                    dcdddiddeddfœg¦  «        dg„ ¦   «         ¦   «         ZAej)         *                    d4dd5g¦  «        ej)         *                    dhddd*deieBdifdddjdkgdlœeBdmfd/d/d5dnœeBdofdddpddqœeBdrfdddpd5dqœeBdrfdddsdlœeCdtfdddsdkgdlœeCdtfg¦  «        ej)         *                    d1d2d3g¦  «        du„ ¦   «         ¦   «         ¦   «         ZDej)         *                    dvdwddxdfœeBdyfdwdzd{œeBd|fdwdzdxdfœeBd}fi eBd~fg¦  «        d„ ¦   «         ZEej)         *                    d4dd5g¦  «        d€„ ¦   «         ZFej)         *                    d4dd5g¦  «        d�„ ¦   «         ZGej)         *                    d4dd5g¦  «        d‚„ ¦   «         ZHdƒ„ ZIej)         *                    d4dd5g¦  «        d„„ ¦   «         ZJej)         *                    d…dd5g¦  «        d†„ ¦   «         ZKd‡„ ZLdˆ„ ZMej)         *                    d4dd5g¦  «        d‰„ ¦   «         ZNe$ej)         *                    dŠg d‹¢¦  «        dŒ„ ¦   «         ¦   «         ZOd�„ ZPej)         *                    d4dd5g¦  «        ej)         *                    d1dŽ¦  «        d�„ ¦   «         ¦   «         ZQd�„ ZRd‘„ ZSd’„ ZTdS )“zTest the openml loader.é    N)Úpartial)Ú	resources)ÚBytesIO)Ú	HTTPError)Úconfig_context)Úfetch_openml)Ú_OPENML_PREFIXÚ_get_local_pathÚ_open_openml_urlÚ_retry_with_clean_cache)ÚBunch)Úcheck_pandas_support)ÚSkipTestÚassert_allcloseÚassert_array_equalÚfails_if_pypyz"sklearn.datasets.tests.data.openmlTc                   ó:   — e Zd Zd„ Zd
d„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d	S )Ú_MockHTTPResponsec                 ó"   — || _         || _        d S ©N)ÚdataÚis_gzip)Úselfr   r   s      úa/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/sklearn/datasets/tests/test_openml.pyÚ__init__z_MockHTTPResponse.__init__(   s   € ØˆŒ	ØˆŒˆˆó    éÿÿÿÿc                 ó6   — | j                              |¦  «        S r   )r   Úread)r   Úamts     r   r   z_MockHTTPResponse.read,   s   € ØŒy�~Š~˜cÑ"Ô"Ð"r   c                 ó8   — | j                              ¦   «          d S r   )r   Úclose©r   s    r   r"   z_MockHTTPResponse.close/   s   € ØŒ	�ŠÑÔÐÐÐr   c                 ó   — | j         rddiS i S )NzContent-EncodingÚgzip©r   r#   s    r   Úinfoz_MockHTTPResponse.info2   s   € ØŒ<ð 	0Ø&¨Ð/Ð/Øˆ	r   c                 ó*   — t          | j        ¦  «        S r   )Úiterr   r#   s    r   Ú__iter__z_MockHTTPResponse.__iter__7   s   € Ý�D”I‰ŒÐr   c                 ó   — | S r   © r#   s    r   Ú	__enter__z_MockHTTPResponse.__enter__:   s   € Øˆr   c                 ó   — dS )NFr,   )r   Úexc_typeÚexc_valÚexc_tbs       r   Ú__exit__z_MockHTTPResponse.__exit__=   s   € Øˆur   N)r   )
Ú__name__Ú
__module__Ú__qualname__r   r   r"   r'   r*   r-   r2   r,   r   r   r   r   '   s‚   € € € € € ðð ð ð#ð #ð #ð #ðð ð ðð ð ð
ð ð ðð ð ðð ð ð ð r   r   )Ú	data_homec                 ó2  ‡‡‡‡‡‡‡	‡
‡‡‡‡‡‡— dŠdŠdŠdŠdŠt           j        Št          dz   d|› �z   Š
ˆfd„Šˆˆ
ˆˆfd	„Š	ˆ	ˆfd
„Šˆ	ˆfd„Šˆ	ˆfd„Šˆˆ
ˆˆfd„Šˆˆˆˆˆˆˆˆfd„}t          r(|                      t
          j        j        d|¦  «         d S d S )Nz(https://api.openml.org/api/v1/json/data/z1https://api.openml.org/api/v1/json/data/features/zhttps://api.openml.org/data/v1/z-https://api.openml.org/api/v1/json/data/list/z.gzú.Úid_c                 ó"  •— t          j        dd| t          d¦  «        d …         ¦  «        |z   ‰z   }|                     dd¦  «                             dd¦  «                             dd	¦  «                             d
d¦  «                             dd¦  «                             dd¦  «                             dd¦  «                             dd¦  «                             dd¦  «                             dd¦  «                             dd¦  «        S )Nz\Wú-zhttps://api.openml.org/z-json-data-listz-jdlz-json-data-featuresz-jdfz-json-data-qualitiesz-jdqz
-json-dataz-jdz
-data_namez-dnz	-downloadz-dlz-limitz-lz-data_versionz-dvz-statusz-sz-deactivatedz-dactz-activez-act)ÚreÚsubÚlenÚreplace)ÚurlÚsuffixÚoutputÚpath_suffixs      €r   Ú
_file_namez4_monkey_patch_webbased_functions.<locals>._file_nameV   sî   ø€ åŒF�5˜#˜s¥3Ð'@Ñ#AÔ#AÐ#CÐ#CÔDÑEÔEØñàñð 	ð �NŠNÐ,¨fÑ5Ô5ßŠWÐ*¨FÑ3Ô3ßŠWÐ+¨VÑ4Ô4ßŠW�\ 5Ñ)Ô)ßŠW�\ 5Ñ)Ô)ßŠW�[ %Ñ(Ô(ßŠW�X˜tÑ$Ô$ßŠW�_ eÑ,Ô,ßŠW�Y Ñ%Ô%ßŠW�^ WÑ-Ô-ßŠW�Y Ñ'Ô'ð	
r   c                 óÒ  •— |                       |¦  «        sJ ‚ ‰	| |¦  «        }t          j        ‰
¦  «        |z  }|                     d¦  «        5 }|r?‰r=t	          |                     ¦   «         ¦  «        }t          |d¦  «        cd d d ¦  «         S  ‰|d¦  «        }t	          |                     ¦   «         ¦  «        }t          |d¦  «        cd d d ¦  «         S # 1 swxY w Y   d S )NÚrbTF)Ú
startswithr   ÚfilesÚopenr   r   r   )r@   Úhas_gzip_headerÚexpected_prefixrA   Údata_file_nameÚdata_file_pathÚfÚfpÚdecompressed_frD   Údata_moduleÚgzip_responseÚread_fns            €€€€r   Ú_mock_urlopen_sharedz>_monkey_patch_webbased_functions.<locals>._mock_urlopen_sharedl   sG  ø€ Ø�~Š~˜oÑ.Ô.Ð.Ð.Ð.à#˜ C¨Ñ0Ô0ˆÝ"œ¨Ñ5Ô5¸ÑFˆà× Ò  Ñ&Ô&ð 	4¨!Øð 4 =ð 4Ý˜QŸVšV™XœXÑ&Ô&�Ý(¨¨TÑ2Ô2ð	4ð 	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð
 ") ¨¨DÑ!1Ô!1�Ý˜^×0Ò0Ñ2Ô2Ñ3Ô3�Ý(¨¨UÑ3Ô3ð	4ð 	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð 	4ð 	4s   Á5CÂ<CÃC Ã#C c                 ó"   •—  ‰| |‰d¬¦  «        S ©Nú.json©r@   rJ   rK   rA   r,   )r@   rJ   rT   Úurl_prefix_data_descriptions     €€r   Ú_mock_urlopen_data_descriptionzH_monkey_patch_webbased_functions.<locals>._mock_urlopen_data_description{   s)   ø€ Ø#Ð#ØØ+Ø7Øð	
ñ 
ô 
ð 	
r   c                 ó"   •—  ‰| |‰d¬¦  «        S rV   r,   )r@   rJ   rT   Úurl_prefix_data_featuress     €€r   Ú_mock_urlopen_data_featureszE_monkey_patch_webbased_functions.<locals>._mock_urlopen_data_featuresƒ   ó)   ø€ Ø#Ð#ØØ+Ø4Øð	
ñ 
ô 
ð 	
r   c                 ó"   •—  ‰| |‰d¬¦  «        S )Nz.arffrX   r,   )r@   rJ   rT   Úurl_prefix_download_datas     €€r   Ú_mock_urlopen_download_datazE_monkey_patch_webbased_functions.<locals>._mock_urlopen_download_data‹   r^   r   c                 óþ  •— |                       ‰¦  «        sJ ‚ ‰	| d¦  «        }t          j        ‰
¦  «        |z  }|                     d¦  «        5 } ‰|d¦  «        }|                     ¦   «                              d¦  «        }t          j        |¦  «        }d d d ¦  «         n# 1 swxY w Y   d|v r t          d ddd t          ¦   «         ¬¦  «        ‚|                     d¦  «        5 }|r=t          |                     ¦   «         ¦  «        }t          |d¦  «        cd d d ¦  «         S  ‰|d¦  «        }t          |                     ¦   «         ¦  «        }t          |d	¦  «        cd d d ¦  «         S # 1 swxY w Y   d S )
NrW   rF   zutf-8Úerroréœ  úSimulated mock error©r@   ÚcodeÚmsgÚhdrsrO   TF)rG   r   rH   rI   r   ÚdecodeÚjsonÚloadsr   r   r   )r@   rJ   rL   rM   rN   rP   Ú	decoded_sÚ	json_datarO   rD   rQ   rS   Úurl_prefix_data_lists            €€€€r   Ú_mock_urlopen_data_listzA_monkey_patch_webbased_functions.<locals>._mock_urlopen_data_list“   s  ø€ Ø�~Š~Ð2Ñ3Ô3Ð3Ð3Ð3à#˜ C¨Ñ1Ô1ˆÝ"œ¨Ñ5Ô5¸ÑFˆð × Ò  Ñ&Ô&ð 	.¨!Ø$˜W Q¨Ñ-Ô-ˆNØ&×+Ò+Ñ-Ô-×4Ò4°WÑ=Ô=ˆIÝœ
 9Ñ-Ô-ˆIð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð �iÐÐÝØ˜sÐ(>ÀTÍgÉiÌiðñ ô ð ð × Ò  Ñ&Ô&ð 	4¨!Øð 4Ý˜QŸVšV™XœXÑ&Ô&�Ý(¨¨TÑ2Ô2ð	4ð 	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð
 ") ¨¨DÑ!1Ô!1�Ý˜^×0Ò0Ñ2Ô2Ñ3Ô3�Ý(¨¨UÑ3Ô3ð	4ð 	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð 	4ð 	4s+   ÁAB%Â%B)Â,B)Ã)3E2Ä)<E2Å2E6Å9E6c                 óŠ  •— |                       ¦   «         }|                      d¦  «        dk    }|                     ‰¦  «        r ‰||¦  «        S |                     ‰
¦  «        r ‰||¦  «        S |                     ‰¦  «        r ‰||¦  «        S |                     ‰	¦  «        r ‰||¦  «        S t          d|z  ¦  «        ‚)NzAccept-encodingr%   zUnknown mocking URL pattern: %s)Úget_full_urlÚ
get_headerrG   Ú
ValueError)ÚrequestÚargsÚkwargsr@   rJ   rZ   r]   rp   ra   rY   r\   ro   r`   s        €€€€€€€€r   Ú_mock_urlopenz7_monkey_patch_webbased_functions.<locals>._mock_urlopen¬   så   ø€ Ø×"Ò"Ñ$Ô$ˆØ!×,Ò,Ð->Ñ?Ô?À6ÒIˆØ�>Š>Ð.Ñ/Ô/ð 		FØ*Ð*¨3°Ñ@Ô@Ð@Ø�^Š^Ð4Ñ5Ô5ð 	FØ.Ð.¨s°OÑDÔDÐDØ�^Š^Ð4Ñ5Ô5ð 	FØ.Ð.¨s°OÑDÔDÐDØ�^Š^Ð7Ñ8Ô8ð 	FØ1Ð1°#°ÑGÔGÐGåÐ>ÀÑDÑEÔEÐEr   Úurlopen)r%   rI   ÚOPENML_TEST_DATA_MODULEÚtest_offlineÚsetattrÚsklearnÚdatasetsÚ_openml)ÚcontextÚdata_idrR   rx   rD   rZ   r]   rp   ra   rT   rQ   rC   rS   rY   r\   ro   r`   s     ` @@@@@@@@@@@@@r   Ú _monkey_patch_webbased_functionsr‚   H   s�  øøøøøøøøøøøøøø€ ð #MÐØRÐØ@ÐØJÐà€KÝŒi€Gå)¨CÑ/°/¸°/°/ÑA€Kð
ð 
ð 
ð 
ð 
ð,4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð
ð 
ð 
ð 
ð 
ð 
ð
ð 
ð 
ð 
ð 
ð 
ð
ð 
ð 
ð 
ð 
ð 
ð4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð2Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fõ ð LØ�Š�Ô(Ô0°)¸]ÑKÔKÐKÐKÐKðLð Lr   z9data_id, dataset_params, n_samples, n_features, n_targetsé=   r�   é–   é   é   Úiris)ÚnameÚversioné   é   é&   Úannealé1  éÑ   é   Úcpué�ž  é   éH   é   é_  é
   é   rˆ   zadult-censusé   éM   ÚMiceProteinéñŸ  i  Úparserú	liac-arffÚpandasrR   Fc                 ó„  — t          j        d¦  «        }t          | ||¬¦  «         t          d	dd|dœ|¤Ž}	t	          |	j        d         ¦  «        |k    sJ ‚t          |	t          ¦  «        sJ ‚t          |	j        |j	        ¦  «        sJ ‚|	j        j
        |||z   fk    sJ ‚t          |	j        |j	        ¦  «        sJ ‚|	j        j
        ||fk    sJ ‚|dk    r0t          |	j        |j        ¦  «        sJ ‚|	j        j
        |fk    sJ ‚n0t          |	j        |j	        ¦  «        sJ ‚|	j        j
        ||fk    sJ ‚|	j        �J ‚dS )
zŒCheck the behaviour of `fetch_openml` with `as_frame=True`.

    Fetch by ID and/or name (depending if the file was previously cached).
    rŸ   ©rR   TF©Úas_frameÚcacher�   Úidr†   Nr,   )ÚpytestÚimportorskipr‚   r   ÚintÚdetailsÚ
isinstancer   ÚframeÚ	DataFrameÚshaper   ÚtargetÚSeriesÚ
categories)
Úmonkeypatchr�   Údataset_paramsÚ	n_samplesÚ
n_featuresÚ	n_targetsr�   rR   ÚpdÚbunchs
             r   Útest_fetch_openml_as_frame_truer¸   Å   s…  € õR 
Ô	˜XÑ	&Ô	&€Bå$ [°'ÈÐWÑWÔWÐWÝð ØØØðð ð ð	ð €Eõ ˆuŒ}˜TÔ"Ñ#Ô# wÒ.Ð.Ð.Ð.Ý�e�UÑ#Ô#Ð#Ð#Ð#å�e”k 2¤<Ñ0Ô0Ð0Ð0Ð0ØŒ;Ô ¨J¸Ñ,BÐ CÒCÐCÐCÐCå�e”j "¤,Ñ/Ô/Ð/Ð/Ð/ØŒ:Ô 	¨:Ð6Ò6Ð6Ð6Ð6à�A‚~€~Ý˜%œ,¨¬	Ñ2Ô2Ð2Ð2Ð2ØŒ|Ô! i \Ò1Ð1Ð1Ð1Ð1å˜%œ,¨¬Ñ5Ô5Ð5Ð5Ð5ØŒ|Ô! i°Ð%;Ò;Ð;Ð;Ð;àÔÐ#Ð#Ð#Ð#Ð#r   c                 ó2  — t          j        d¦  «         t          | |d¬¦  «         t          d	dd|dœ|¤Ž}t	          |j        d         ¦  «        |k    sJ ‚t          |t          ¦  «        sJ ‚|j        �J ‚t          |j	        t          j        ¦  «        sJ ‚|j	        j        ||fk    sJ ‚t          |j        t          j        ¦  «        sJ ‚|dk    r|j        j        |fk    sJ ‚n|j        j        ||fk    sJ ‚t          |j        t          ¦  «        sJ ‚dS )
znCheck the behaviour of `fetch_openml` with `as_frame=False`.

    Fetch both by ID and/or name + version.
    rŸ   Tr¡   Fr¢   r¥   Nr†   r,   )r¦   r§   r‚   r   r¨   r©   rª   r   r«   r   ÚnpÚndarrayr­   r®   r°   Údict)r±   r�   r²   r³   r´   rµ   r�   r·   s           r   Ú test_fetch_openml_as_frame_falser½     sJ  € õJ Ô˜Ñ!Ô!Ð!å$ [°'ÈÐNÑNÔNÐNÝð ØØØðð ð ð	ð €Eõ ˆuŒ}˜TÔ"Ñ#Ô# wÒ.Ð.Ð.Ð.Ý�e�UÑ#Ô#Ð#Ð#Ð#àŒ;ÐÐÐå�e”j¥"¤*Ñ-Ô-Ð-Ð-Ð-ØŒ:Ô 	¨:Ð6Ò6Ð6Ð6Ð6å�e”l¥B¤JÑ/Ô/Ð/Ð/Ð/Ø�A‚~€~ØŒ|Ô! i \Ò1Ð1Ð1Ð1Ð1àŒ|Ô! i°Ð%;Ò;Ð;Ð;Ð;å�eÔ&­Ñ-Ô-Ð-Ð-Ð-Ð-Ð-r   )rƒ   r–   rœ   c                 ó  ‡
‡‡— t          j        d¦  «        Št          | |d¬¦  «         t          |ddd¬¦  «        }t          |ddd¬¦  «        }|j        |j        c}Š
ˆ
ˆfd„}|                     |¦  «        }‰j                             |‰
¦  «         |j        |j        c}Š‰j                             ‰|j	                 ‰
¦  «         ˆˆfd„}|                     |¦  «        }	‰j                             |	‰¦  «         d	S )
z:Check the consistency of the LIAC-ARFF and pandas parsers.rŸ   Tr¡   Frž   ©r�   r£   r¤   r�   c                 ó”   •— ‰| j                  }‰j        j                             |¦  «        r|                      |j        ¦  «        S | S r   )rˆ   ÚapiÚtypesÚis_numeric_dtypeÚastypeÚdtype)ÚseriesÚpandas_seriesÚdata_pandasr¶   s     €€r   Úconvert_numerical_dtypeszFtest_fetch_openml_consistency_parser.<locals>.convert_numerical_dtypesg  sC   ø€ Ø# F¤KÔ0ˆØŒ6Œ<×(Ò(¨Ñ7Ô7ð 	Ø—=’= Ô!4Ñ5Ô5Ð5àˆMr   c                 ó  •— ‰| j                  }‰j        j                             |¦  «        r|                      |j        ¦  «        S t          |j        ‰j        ¦  «        r$| j         	                    |j        j
        ¦  «        S | S r   )rˆ   rÁ   rÂ   rÃ   rÄ   rÅ   rª   ÚCategoricalDtypeÚcatÚrename_categoriesr°   )rÆ   rÇ   Úframe_pandasr¶   s     €€r   Ú(convert_numerical_and_categorical_dtypeszVtest_fetch_openml_consistency_parser.<locals>.convert_numerical_and_categorical_dtypes{  sy   ø€ Ø$ V¤[Ô1ˆØŒ6Œ<×(Ò(¨Ñ7Ô7ð 
	Ø—=’= Ô!4Ñ5Ô5Ð5Ý˜Ô+¨RÔ-@ÑAÔAð 	ð ”:×/Ò/°Ô0AÔ0LÑMÔMÐMàˆMr   N)
r¦   r§   r‚   r   r   ÚapplyÚtestingÚassert_frame_equalr«   Úfeature_names)r±   r�   Ú
bunch_liacÚbunch_pandasÚ	data_liacrÉ   Údata_liac_with_fixed_dtypesÚ
frame_liacrÏ   Úframe_liac_with_fixed_dtypesrÈ   rÎ   r¶   s             @@@r   Ú$test_fetch_openml_consistency_parserrÚ   N  s]  øøø€ õ 
Ô	˜XÑ	&Ô	&€Bå$ [°'ÈÐNÑNÔNÐNÝØØØØð	ñ ô €Jõ  ØØØØð	ñ ô €Lð (œ_¨lÔ.?Ð€Iˆ{ðð ð ð ð ð ð #,§/¢/Ð2JÑ"KÔ"KÐØ„J×!Ò!Ð"=¸{ÑKÔKÐKð  *Ô/°Ô1CÐ€J�ð „J×!Ò! ,¨|Ô/IÔ"JÈKÑXÔXÐXðð ð ð ð ð ð $.×#3Ò#3Ø0ñ$ô $Ð ð „J×!Ò!Ð">ÀÑMÔMÐMÐMÐMr   c                 ó
  — t          j        d¦  «         d}t          | |d¬¦  «         t          |dd|¬¦  «        }t          |dd|¬¦  «        }t	          |j        |j        ¦  «         t          |j        |j        ¦  «         dS )z^Check the equivalence of the dataset when using `as_frame=False` and
    `as_frame=True`.
    rŸ   rƒ   Tr¡   Fr¿   N)r¦   r§   r‚   r   r   r   r   r®   )r±   r�   r�   Úbunch_as_frame_trueÚbunch_as_frame_falses        r   Ú-test_fetch_openml_equivalence_array_dataframerÞ   ‘  s«   € õ Ô˜Ñ!Ô!Ð!à€GÝ$ [°'ÈÐNÑNÔNÐNÝ&ØØØØð	ñ ô Ðõ (ØØØØð	ñ ô Ðõ Ð(Ô-Ð/BÔ/GÑHÔHÐHÝÐ+Ô2Ð4GÔ4NÑOÔOÐOÐOÐOr   c                 óx  — t          j        d¦  «        }|j        j        j        }d}d}d}d} |g d¢¦  «        }t
          j        gdz  }	g d¢}
d	}t          | |d
¦  «         t          |d
d|¬¦  «        }|j	        }|j
        }|j        }t          ||j        ¦  «        sJ ‚t          j        |j        |	k    ¦  «        sJ ‚|j        |k    sJ ‚t          j        |j        |
k    ¦  «        sJ ‚t          j        |j        |
k    ¦  «        sJ ‚|j        |gk    sJ ‚t          ||j        ¦  «        sJ ‚|j        |k    sJ ‚|j        |k    sJ ‚|j        |k    sJ ‚|j        j        sJ ‚t          ||j        ¦  «        sJ ‚|j        |k    sJ ‚t          j        |j        |	|gz   k    ¦  «        sJ ‚|j        j        sJ ‚dS )z>Check fetching on a numerical only dataset with string labels.rŸ   rƒ   ©r„   r…   )r„   )r„   é   )zIris-setosazIris-versicolorzIris-virginicar…   )ÚsepallengthÚ
sepalwidthÚpetallengthÚ
petalwidthÚclassTFr¿   N)r¦   r§   rÁ   rÂ   rË   rº   Úfloat64r‚   r   r   r®   r«   rª   r¬   ÚallÚdtypesr­   ÚcolumnsrÓ   Útarget_namesr¯   rÅ   rˆ   ÚindexÚ	is_unique)r±   r�   r¶   rË   r�   Ú
data_shapeÚtarget_shapeÚframe_shapeÚtarget_dtypeÚdata_dtypesÚ
data_namesÚtarget_namer·   r   r®   r«   s                   r   Útest_fetch_openml_iris_pandasrõ   ¯  s  € õ 
Ô	˜XÑ	&Ô	&€BØ”v”|Ô4ÐØ€GØ€JØ€LØ€Kà#Ð#Ø<Ð<Ð<ñô €Lõ ”:�, Ñ"€KØKÐKÐK€JØ€Kå$ [°'¸4Ñ@Ô@Ð@åØØØØð	ñ ô €Eð Œ:€DØŒ\€FØŒK€Eå�d˜BœLÑ)Ô)Ð)Ð)Ð)ÝŒ6�$”+ Ò,Ñ-Ô-Ð-Ð-Ð-ØŒ:˜Ò#Ð#Ð#Ð#ÝŒ6�$”, *Ò,Ñ-Ô-Ð-Ð-Ð-ÝŒ6�%Ô%¨Ò3Ñ4Ô4Ð4Ð4Ð4ØÔ + Ò.Ð.Ð.Ð.å�f˜bœiÑ(Ô(Ð(Ð(Ð(ØŒ<˜<Ò'Ð'Ð'Ð'ØŒ<˜<Ò'Ð'Ð'Ð'ØŒ;˜+Ò%Ð%Ð%Ð%ØŒ<Ô!Ð!Ð!Ð!å�e˜Rœ\Ñ*Ô*Ð*Ð*Ð*ØŒ;˜+Ò%Ð%Ð%Ð%ÝŒ6�%”, +°°Ñ">Ò>Ñ?Ô?Ð?Ð?Ð?ØŒ;Ô Ð Ð Ð Ð Ð r   Útarget_columnrå   rä   c                 óö  — t          j        d¦  «        }d}t          | |d¦  «         t          |dd||¬¦  «        }t          |dd|¬¦  «        }|j                             |j        |j        ¦  «         t          |t          ¦  «        rL|j         	                    |j
        j        |                     |¦  «        ¦  «         |j        j        dk    sJ ‚d	S |j
        j        |k    sJ ‚|j        j        dk    sJ ‚d	S )
z@Check that we can force the target to not be the default target.rŸ   rƒ   TF)r�   r£   r¤   rö   r�   r¿   )r„   é   rà   N)r¦   r§   r‚   r   rÑ   rÒ   r«   rª   ÚlistÚassert_index_equalr®   rê   ÚIndexr   r­   rˆ   )r±   r�   rö   r¶   r�   Úbunch_forcing_targetÚbunch_defaults          r   Ú!test_fetch_openml_forcing_targetsrþ   â  s(  € õ
 
Ô	˜XÑ	&Ô	&€Bà€GÝ$ [°'¸4Ñ@Ô@Ð@Ý'ØØØØ#Øðñ ô Ðõ !ØØØØð	ñ ô €Mð „J×!Ò!Ð"6Ô"<¸mÔ>QÑRÔRÐRÝ�-¥Ñ&Ô&ð ;Ø
Œ
×%Ò%Ø Ô'Ô/°·²¸-Ñ1HÔ1Hñ	
ô 	
ð 	
ð $Ô(Ô.°(Ò:Ð:Ð:Ð:Ð:Ð:à#Ô*Ô/°=Ò@Ð@Ð@Ð@Ø#Ô(Ô.°(Ò:Ð:Ð:Ð:Ð:Ð:r   )rƒ   rŠ   rŽ   r’   r–   c                 ó–  — t          j        d¦  «        }t          | |d¬¦  «         t          |ddd|¬¦  «        }t          |ddd|¬¦  «        \  }}|j                             |j        |¦  «         t          ||j        ¦  «        r"|j         	                    |j
        |¦  «         dS |j                             |j
        |¦  «         dS )z>Check the behaviour of `return_X_y=True` when `as_frame=True`.rŸ   Tr¡   F©r�   r£   r¤   Ú
return_X_yr�   N)r¦   r§   r‚   r   rÑ   rÒ   r   rª   r¯   Úassert_series_equalr®   )r±   r�   r�   r¶   r·   ÚXÚys          r   Ú.test_fetch_openml_equivalence_frame_return_X_yr    så   € õ
 
Ô	˜XÑ	&Ô	&€Bå$ [°'ÈÐNÑNÔNÐNÝØØØØØðñ ô €Eõ ØØØØØðñ ô �D€A€qð „J×!Ò! %¤*¨aÑ0Ô0Ð0Ý�!�R”YÑÔð 7Ø
Œ
×&Ò& u¤|°QÑ7Ô7Ð7Ð7Ð7à
Œ
×%Ò% e¤l°AÑ6Ô6Ð6Ð6Ð6r   )rƒ   rŽ   r’   r–   c                 óü   — t          j        d¦  «         t          | |d¬¦  «         t          |ddd|¬¦  «        }t          |ddd|¬¦  «        \  }}t	          |j        |¦  «         t	          |j        |¦  «         dS )z?Check the behaviour of `return_X_y=True` when `as_frame=False`.rŸ   Tr¡   Fr   N)r¦   r§   r‚   r   r   r   r®   )r±   r�   r�   r·   r  r  s         r   Ú.test_fetch_openml_equivalence_array_return_X_yr  &  s¢   € õ
 Ô˜Ñ!Ô!Ð!å$ [°'ÈÐNÑNÔNÐNÝØØØØØðñ ô €Eõ ØØØØØðñ ô �D€A€qõ �u”z 1Ñ%Ô%Ð%Ý�u”| QÑ'Ô'Ð'Ð'Ð'r   c                 óø   — t          j        d¦  «         d}t          | |d¬¦  «         d}t          ||dd¬¦  «        }t          ||dd¬¦  «        }|j        j        j        dk    sJ ‚|j        j        d	k    sJ ‚d
S )z9Check the difference between liac-arff and pandas parser.rŸ   r–   Tr¡   Frž   r¿   rN   ÚON)r¦   r§   r‚   r   r   rÅ   Úkind)r±   r�   r£   Úbunch_liac_arffrÕ   s        r   Ú$test_fetch_openml_difference_parsersr  C  s±   € õ Ô˜Ñ!Ô!Ð!à€GÝ$ [°'ÈÐNÑNÔNÐNð €HÝ"ØØØØð	ñ ô €Oõ  ØØØØð	ñ ô €Lð ÔÔ%Ô*¨cÒ1Ð1Ð1Ð1ØÔÔ" cÒ)Ð)Ð)Ð)Ð)Ð)r   Úmodule)Úscopec                  ó2   — g d¢g d¢g d¢g d¢g d¢g d¢g d¢dœS )	z+Returns the columns names for each dataset.)râ   rã   rä   rå   ræ   )'Úfamilyzproduct-typeÚsteelÚcarbonÚhardnessÚtemper_rollingÚ	conditionÚformabilityÚstrengthú
non-ageingúsurface-finishzsurface-qualityÚenamelabilityÚbcÚbfÚbtúbw%2FmeÚblÚmÚchromÚphosÚcbondÚmarviÚexptlÚferroÚcorrúblue%2Fbright%2Fvarn%2FcleanÚlustreÚjurofmÚsÚpr­   ÚthickÚwidthr>   ÚoilÚboreÚpackingræ   )ÚvendorÚMYCTÚMMINÚMMAXÚCACHÚCHMINÚCHMAXræ   )NÚ Mean_Acc1298_Mean_Mem40_CentroidÚMean_Acc1298_Mean_Mem40_RolloffÚMean_Acc1298_Mean_Mem40_FluxÚMean_Acc1298_Mean_Mem40_MFCC_0ÚMean_Acc1298_Mean_Mem40_MFCC_1ÚMean_Acc1298_Mean_Mem40_MFCC_2ÚMean_Acc1298_Mean_Mem40_MFCC_3ÚMean_Acc1298_Mean_Mem40_MFCC_4ÚMean_Acc1298_Mean_Mem40_MFCC_5ÚMean_Acc1298_Mean_Mem40_MFCC_6ÚMean_Acc1298_Mean_Mem40_MFCC_7ÚMean_Acc1298_Mean_Mem40_MFCC_8ÚMean_Acc1298_Mean_Mem40_MFCC_9ÚMean_Acc1298_Mean_Mem40_MFCC_10ÚMean_Acc1298_Mean_Mem40_MFCC_11ÚMean_Acc1298_Mean_Mem40_MFCC_12ÚMean_Acc1298_Std_Mem40_CentroidÚMean_Acc1298_Std_Mem40_RolloffÚMean_Acc1298_Std_Mem40_FluxÚMean_Acc1298_Std_Mem40_MFCC_0ÚMean_Acc1298_Std_Mem40_MFCC_1ÚMean_Acc1298_Std_Mem40_MFCC_2ÚMean_Acc1298_Std_Mem40_MFCC_3ÚMean_Acc1298_Std_Mem40_MFCC_4ÚMean_Acc1298_Std_Mem40_MFCC_5ÚMean_Acc1298_Std_Mem40_MFCC_6ÚMean_Acc1298_Std_Mem40_MFCC_7ÚMean_Acc1298_Std_Mem40_MFCC_8ÚMean_Acc1298_Std_Mem40_MFCC_9ÚMean_Acc1298_Std_Mem40_MFCC_10ÚMean_Acc1298_Std_Mem40_MFCC_11ÚMean_Acc1298_Std_Mem40_MFCC_12ÚStd_Acc1298_Mean_Mem40_CentroidÚStd_Acc1298_Mean_Mem40_RolloffÚStd_Acc1298_Mean_Mem40_FluxÚStd_Acc1298_Mean_Mem40_MFCC_0ÚStd_Acc1298_Mean_Mem40_MFCC_1ÚStd_Acc1298_Mean_Mem40_MFCC_2ÚStd_Acc1298_Mean_Mem40_MFCC_3ÚStd_Acc1298_Mean_Mem40_MFCC_4ÚStd_Acc1298_Mean_Mem40_MFCC_5ÚStd_Acc1298_Mean_Mem40_MFCC_6ÚStd_Acc1298_Mean_Mem40_MFCC_7ÚStd_Acc1298_Mean_Mem40_MFCC_8ÚStd_Acc1298_Mean_Mem40_MFCC_9ÚStd_Acc1298_Mean_Mem40_MFCC_10ÚStd_Acc1298_Mean_Mem40_MFCC_11ÚStd_Acc1298_Mean_Mem40_MFCC_12ÚStd_Acc1298_Std_Mem40_CentroidÚStd_Acc1298_Std_Mem40_RolloffÚStd_Acc1298_Std_Mem40_FluxÚStd_Acc1298_Std_Mem40_MFCC_0ÚStd_Acc1298_Std_Mem40_MFCC_1ÚStd_Acc1298_Std_Mem40_MFCC_2ÚStd_Acc1298_Std_Mem40_MFCC_3ÚStd_Acc1298_Std_Mem40_MFCC_4ÚStd_Acc1298_Std_Mem40_MFCC_5ÚStd_Acc1298_Std_Mem40_MFCC_6ÚStd_Acc1298_Std_Mem40_MFCC_7ÚStd_Acc1298_Std_Mem40_MFCC_8ÚStd_Acc1298_Std_Mem40_MFCC_9ÚStd_Acc1298_Std_Mem40_MFCC_10ÚStd_Acc1298_Std_Mem40_MFCC_11ÚStd_Acc1298_Std_Mem40_MFCC_12ÚBH_LowPeakAmpÚBH_LowPeakBPMÚBH_HighPeakAmpÚBH_HighPeakBPMÚBH_HighLowRatioÚBHSUM1ÚBHSUM2ÚBHSUM3zamazed.suprisedzhappy.pleasedzrelaxing.calmzquiet.stillz
sad.lonelyzangry.aggresive)ÚageÚ	workclasszfnlwgt:z
education:zeducation-num:zmarital-status:zoccupation:zrelationship:zrace:zsex:zcapital-gain:zcapital-loss:zhours-per-week:znative-country:ræ   )NÚDYRK1A_NÚITSN1_NÚBDNF_NÚNR1_NÚNR2A_NÚpAKT_NÚpBRAF_NÚ	pCAMKII_NÚpCREB_NÚpELK_NÚpERK_NÚpJNK_NÚPKCA_NÚpMEK_NÚpNR1_NÚpNR2A_NÚpNR2B_NÚpPKCAB_NÚpRSK_NÚAKT_NÚBRAF_NÚCAMKII_NÚCREB_NÚELK_NÚERK_NÚGSK3B_NÚJNK_NÚMEK_NÚTRKA_NÚRSK_NÚAPP_NÚ
Bcatenin_NÚSOD1_NÚMTOR_NÚP38_NÚpMTOR_NÚDSCR1_NÚAMPKA_NÚNR2B_NÚpNUMB_NÚRAPTOR_NÚTIAM1_NÚpP70S6_NÚNUMB_NÚP70S6_NÚpGSK3B_NÚpPKCG_NÚCDK5_NÚS6_NÚADARB1_NÚAcetylH3K9_NÚRRP1_NÚBAX_NÚARC_NÚERBB4_NÚnNOS_NÚTau_NÚGFAP_NÚGluR3_NÚGluR4_NÚIL1B_NÚP3525_NÚpCASP9_NÚPSD95_NÚSNCA_NÚUbiquitin_NÚpGSK3B_Tyr216_NÚSHH_NÚBAD_NÚBCL2_NÚpS6_NÚpCFOS_NÚSYP_NÚ	H3AcK18_NÚEGR1_NÚH3MeK4_NÚCaNA_Nræ   )ÚpclassÚsurvivedrˆ   Úsexr�  ÚsibspÚparchÚticketÚfareÚcabinÚembarkedÚboatÚbodyú	home.dest©rƒ   rŠ   rŽ   r’   r–   r™   rœ   r,   r,   r   r   Údatasets_column_namesrÝ  c  s�   € ð PÐOÐOð(
ð (
ð (
ðR SÐRÐRðO
ð O
ð O
ð`
ð 
ð 
ð"O
ð O
ð O
ð`
ð 
ð 
ð{mð mð mr   c                  óª   — i i dd“dd“dd“dd“d	d
“dd“dd“dd“dd
“dd“dd“dd“dd“dd“dd“dd
“dd“ddddddddd
ddœ
¥i i i ddiddddddd d!œd"œS )#Nr  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/  r1  rÈ  r�   i  r†   iö  i7  i¤  i4  )r�  rÖ  r×  rØ  rÙ  rÚ  rÛ  rÜ  r,   r,   r   r   Údatasets_missing_valuesrá  V  sD  € ð ð
Ø�bð
à˜að
ð ˜ð
ð ˜1ð	
ð
 ˜"ð
ð ˜bð
ð ˜Rð
ð �"ð
ð �"ð
ð �"ð
ð �qð
ð �!ð
ð �ð
ð �Rð
ð �Bð
ð  �Rð!
ð" �Rð#
ð$ ØØØ,.ØØØØØØð7
ð 
ð 
ð: ØØØ˜!ˆ}àØØØØØØð
ð 
ðG,ð ,ð ,r   zJdata_id, parser, expected_n_categories, expected_n_floats, expected_n_ints))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�   )r’   rž   r•   r”   r   )r’   rŸ   r•   éE   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ø   rø   rø   c	                 óÈ  ‡— t          j        d¦  «        }	|	j        j        j        Št          | ||¬¦  «         t          |dd|¬¦  «        }
|
j        }t          ˆfd„|j	        D ¦   «         ¦  «        }t          d„ |j	        D ¦   «         ¦  «        }t          d„ |j	        D ¦   «         ¦  «        }||k    sJ ‚||k    sJ ‚||k    sJ ‚|j
                             ¦   «         ||         k    sJ ‚|                     ¦   «                              ¦   «                              ¦   «         }|                     ¦   «         D ])\  }}||                              |d	¦  «        }||k    sJ ‚Œ*d
S )zYCheck that `fetch_openml` infer the right number of categories, integers, and
    floats.rŸ   r¡   TFr¿   c                 ó4   •— g | ]}t          |‰¦  «        ¯|‘ŒS r,   )rª   )Ú.0rÅ   rË   s     €r   ú
<listcomp>z5test_fetch_openml_types_inference.<locals>.<listcomp>À  s)   ø€ ÐPÐPÐP�5­J°uÐ>NÑ,OÔ,OÐPˆÐPÐPÐPr   c                 ó(   — g | ]}|j         d k    ¯|‘ŒS )rN   ©r
  ©ræ  rÅ   s     r   rç  z5test_fetch_openml_types_inference.<locals>.<listcomp>Â  s$   € ÐIÐIÐI˜e°u´zÀSÒ7HÐ7H�EÐ7HÐ7HÐ7Hr   c                 ó(   — g | ]}|j         d k    ¯|‘ŒS )Úiré  rê  s     r   rç  z5test_fetch_openml_types_inference.<locals>.<listcomp>Ã  s$   € ÐGÐGÐG˜E°U´ZÀ3Ò5FÐ5F�%Ð5FÐ5FÐ5Fr   r   N)r¦   r§   rÁ   rÂ   rË   r‚   r   r«   r>   ré   rê   ÚtolistÚisnaÚsumÚto_dictÚitemsÚget)r±   r�   r�   Úexpected_n_categoriesÚexpected_n_floatsÚexpected_n_intsrR   rÝ  rá  r¶   r·   r«   Ún_categoriesÚn_floatsÚn_intsÚframe_feature_to_n_nanrˆ   Ú	n_missingÚexpected_missingrË   s                      @r   Ú!test_fetch_openml_types_inferencerü  ‰  s   ø€ õR 
Ô	˜XÑ	&Ô	&€BØ”v”|Ô4Ðå$ [°'ÈÐWÑWÔWÐWåØØØØð	ñ ô €Eð ŒK€EåØPÐPÐPÐP˜EœLÐPÑPÔPñô €Lõ ÐIÐI u¤|ÐIÑIÔIÑJÔJ€HÝÐGÐG U¤\ÐGÑGÔGÑHÔH€FàÐ0Ò0Ð0Ð0Ð0ØÐ(Ò(Ð(Ð(Ð(Ø�_Ò$Ð$Ð$Ð$àŒ=×ÒÑ!Ô!Ð%:¸7Ô%CÒCÐCÐCÐCà"ŸZšZ™\œ\×-Ò-Ñ/Ô/×7Ò7Ñ9Ô9ÐØ1×7Ò7Ñ9Ô9ð -ð -‰ˆˆiØ2°7Ô;×?Ò?ÀÀaÑHÔHÐØÐ,Ò,Ð,Ð,Ð,Ð,ð-ð -r   zparams, err_msgÚunknownz:The 'parser' parameter of fetch_openml must be a str amongr£   z<The 'as_frame' parameter of fetch_openml must be an instancec                 ó°   — d}t          | |d¦  «         t          j        t          |¬¦  «        5  t	          dd|i|¤Ž d d d ¦  «         d S # 1 swxY w Y   d S )Nr–   T©Úmatchr�   r,   )r‚   r¦   Úraisesrt   r   ©r±   ÚparamsÚerr_msgr�   s       r   Ú&test_fetch_openml_validation_parameterr  Õ  s­   € ð €GÝ$ [°'¸4Ñ@Ô@Ð@Ý	Œ•z¨Ð	1Ñ	1Ô	1ð 0ð 0ÝÐ/Ð/˜WÐ/¨Ð/Ð/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð 0ð 0s   ¯AÁAÁAr  Úauto)r£   r�   c                 ó  — d}	 t          d¦  «         t          d¦  «        ‚# t          $ rZ t          | |d¦  «         d}t	          j        t          |¬¦  «        5  t          d	d|i|¤Ž ddd¦  «         Y dS # 1 swxY w Y   Y dS w xY w)
z=Check that we raise the proper errors when we require pandas.r–   Ú!test_fetch_openml_requires_pandasz.This test requires pandas to not be installed.Tz:requires pandas to be installed. Alternatively, explicitlyrÿ  r�   Nr,   )r   r   ÚImportErrorr‚   r¦   r  r   )r±   r  r�   r  s       r   Ú'test_fetch_openml_requires_pandas_errorr
  é  sÿ   € ð €GðIÝÐ@ÑAÔAÐAõ ÐGÑHÔHÐHøõ ð 4ð 4ð 4Ý(¨°g¸tÑDÔDÐDØNˆÝŒ]�;¨gÐ6Ñ6Ô6ð 	4ð 	4ÝÐ3Ð3 Ð3¨FÐ3Ð3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð4øøøs3   „" ¢8BÁA7Á)BÁ7A;	Á;BÁ>A;	Á?BÂBz2ignore:Version 1 of dataset Australian is inactivez:Sparse ARFF datasets cannot be loaded with parser='pandas'z9Sparse ARFF datasets cannot be loaded with as_frame=True.)r�   r£   c                 óÚ   — t          j        d¦  «         d}t          | |d¦  «         t          j        t          |¬¦  «        5  t          d|ddœ|¤Ž ddd¦  «         dS # 1 swxY w Y   dS )	ztCheck that we raise the expected error for sparse ARFF datasets and
    a wrong set of incompatible parameters.
    rŸ   é$  Trÿ  F)r�   r¤   Nr,   )r¦   r§   r‚   r  rt   r   r  s       r   Ú#test_fetch_openml_sparse_arff_errorr     sÑ   € õ, Ô˜Ñ!Ô!Ð!Ø€Gå$ [°'¸4Ñ@Ô@Ð@Ý	Œ•z¨Ð	1Ñ	1Ô	1ð 
ð 
Ýð 	
ØØð	
ð 	
ð ð	
ð 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   ÁA Á A$Á'A$zdata_id, data_type)rƒ   Ú	dataframe)r  Úsparsec                 óÞ   — t          j        d¦  «        }t          | |d¦  «         t          |dd¬¦  «        }|dk    r|j        nt
          j        j        }t          |j	        |¦  «        sJ ‚dS )z&Check the auto mode of `fetch_openml`.rŸ   Tr  F)r�   r£   r¤   r  N)
r¦   r§   r‚   r   r¬   Úscipyr  Ú
csr_matrixrª   r   )r±   r�   Ú	data_typer¶   r   Úklasss         r   Útest_fetch_openml_auto_moder  $  sr   € õ 
Ô	˜XÑ	&Ô	&€Bå$ [°'¸4Ñ@Ô@Ð@Ý °&ÀÐFÑFÔF€DØ%¨Ò4Ð4ˆBŒLˆL½%¼,Ô:Q€EÝ�d”i Ñ'Ô'Ð'Ð'Ð'Ð'Ð'r   c                 ó6  — t          j        d¦  «         d}t          | |d¦  «         d}t          j        t          |¬¦  «        5  t          d¬¦  «        5  t          |ddd	¬
¦  «         ddd¦  «         n# 1 swxY w Y   ddd¦  «         dS # 1 swxY w Y   dS )z[Check that we raise a warning regarding the working memory when using
    LIAC-ARFF parser.rŸ   r–   Tz*Could not adhere to working_memory config.rÿ  g�íµ ÷Æ°>)Úworking_memoryFrž   r¿   N)r¦   r§   r‚   ÚwarnsÚUserWarningr   r   )r±   r�   rh   s      r   Ú:test_convert_arff_data_dataframe_warning_low_memory_pandasr  9  s3  € õ Ô˜Ñ!Ô!Ð!à€GÝ$ [°'¸4Ñ@Ô@Ð@à
6€CÝ	Œ•k¨Ð	-Ñ	-Ô	-ð ð Ý¨4Ð0Ñ0Ô0ð 	ð 	ÝØØØØ"ð	ñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s6   ÁBÁA6Á*BÁ6A:	Á:BÁ=A:	Á>BÂBÂBc                 óæ   — d}d}t          | ||¦  «         t          j        d¦  «        }t          j        t
          |¬¦  «        5  t          |ddd¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )	z\Check that a warning is raised when multiple versions exist and no version is
    requested.rƒ   r‡   a;  Multiple active versions of the dataset matching the name iris exist. Versions may be fundamentally different, returning version 1. Available versions:
- version 1, status: active
  url: https://www.openml.org/search?type=data&id=61
- version 3, status: active
  url: https://www.openml.org/search?type=data&id=969
rÿ  Frž   )rˆ   r£   r¤   r�   N)r‚   r<   Úescaper¦   r  r  r   )r±   rR   r�   Ú	data_namerh   s        r   Ú,test_fetch_openml_iris_warn_multiple_versionr  M  sÕ   € ð €GØ€Iå$ [°'¸=ÑIÔIÐIå
Œ)ð	Bñô €Cõ 
Œ•k¨Ð	-Ñ	-Ô	-ð 
ð 
ÝØØØØð		
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   ÁA&Á&A*Á-A*c                 óš   — d}d}d}d}t          | ||¦  «         t          ||ddd¬¦  «        }|j        j        ||fk    sJ ‚|j        �J ‚dS )z/Check that we can get a dataset without target.rƒ   Nr„   rá   Frž   ©r�   rö   r¤   r£   r�   )r‚   r   r   r­   r®   )r±   rR   r�   rö   Úexpected_observationsÚexpected_featuresr   s          r   Útest_fetch_openml_no_targetr#  h  s�   € ð €GØ€MØÐØÐå$ [°'¸=ÑIÔIÐIÝØØ#ØØØðñ ô €Dð Œ9Œ?Ð4Ð6GÐHÒHÐHÐHÐHØŒ;ÐÐÐÐÐr   c                 ó4  — t          j        d¦  «         d}t          | ||¬¦  «         t          |dd|¬¦  «        }|j        j        d         }|j        d                              ¦   «                              ¦   «         sJ ‚t          |j	        g d¢¦  «         d	S )
zRcheck that missing values in categories are compatible with pandas
    categoricalrŸ   iY¦  r¡   FT©r�   r¤   r£   r�   rÒ  )ÚFEMALEÚMALEÚ_N)
r¦   r§   r‚   r   r   ré   rî  Úanyr   r°   )r±   rR   r�   r�   ÚpenguinsÚ	cat_dtypes         r   Útest_missing_values_pandasr,  |  s«   € õ
 Ô˜Ñ!Ô!Ð!à€GÝ$ [°'ÈÐWÑWÔWÐWÝØØØØð	ñ ô €Hð ”Ô$ UÔ+€IàŒ=˜Ô×$Ò$Ñ&Ô&×*Ò*Ñ,Ô,Ð,Ð,Ð,Ý�yÔ+Ð-DÐ-DÐ-DÑEÔEÐEÐEÐEr   r²   éãž  Úglass2)r�   rˆ   r‰   c                 ó   — d}t          | ||¦  «         d}t          j        t          |¬¦  «        5  t	          dddddœ|¤Ž}ddd¦  «         n# 1 swxY w Y   |j        j        dk    sJ ‚|j        d	         d
k    sJ ‚dS )z;Check that we raise a warning when the dataset is inactive.r-  z(Version 1 of dataset glass2 is inactive,rÿ  Frž   )r¤   r£   r�   N)é£   rß  r¥   Ú40675r,   )r‚   r¦   r  r  r   r   r­   r©   )r±   rR   r²   r�   rh   r.  s         r   Útest_fetch_openml_inactiver2  ’  sè   € ð €GÝ$ [°'¸=ÑIÔIÐIØ
4€CÝ	Œ•k¨Ð	-Ñ	-Ô	-ð 
ð 
Ýð 
Ø %°ð
ð 
Ø?Mð
ð 
ˆð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð Œ;Ô Ò(Ð(Ð(Ð(ØŒ>˜$Ô 7Ò*Ð*Ð*Ð*Ð*Ð*s   ±AÁAÁAz"data_id, params, err_type, err_msgzNo active dataset glass2 foundrã   ræ   )r�   rö   z1Can only handle homogeneous multi-target datasets)r�   r£   zOSTRING attributes are not supported for array representation. Try as_frame=Truer  )r�   rö   r£   zTarget column 'family'Ú	undefinedz(Could not find target_column='undefined'c                 ó  — t          | ||¦  «         |                     dd¦  «        s|dk    rt          j        d¦  «         t          j        ||¬¦  «        5  t          dd|dœ|¤Ž d d d ¦  «         d S # 1 swxY w Y   d S )Nr£   TrŸ   rÿ  F)r¤   r�   r,   )r‚   rò  r¦   r§   r  r   )r±   rR   r�   r  Úerr_typer  r�   s          r   Útest_fetch_openml_errorr6  §  sÜ   € õd % [°'¸=ÑIÔIÐIØ‡z‚z�*˜dÑ#Ô#ð & v°Ò'9Ð'9ÝÔ˜HÑ%Ô%Ð%Ý	Œ�x wÐ	/Ñ	/Ô	/ð ;ð ;ÝÐ:˜5¨Ð:Ð:°6Ð:Ð:Ð:ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;ð ;ð ;s   ÁA5Á5A9Á<A9zparams, err_type, err_msgr   r‰   zCThe 'version' parameter of fetch_openml must be an int in the rangeÚnAmE)r�   rˆ   zCThe 'data_id' parameter of fetch_openml must be an int in the rangez6The 'version' parameter of fetch_openml must be an intzFNeither name nor data_id are provided. Please provide name or data_id.c                 ó|   — t          j        ||¬¦  «        5  t          di | ¤Ž d d d ¦  «         d S # 1 swxY w Y   d S )Nrÿ  r,   )r¦   r  r   )r  r5  r  s      r   Ú)test_fetch_openml_raises_illegal_argumentr9  à  s‘   € õ4 
Œ�x wÐ	/Ñ	/Ô	/ð ð ÝÐÐ�vÐÐÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   —1±5¸5c                 ó.  — d}d}d}t          | ||¦  «         d}|                     |¦  «        }t          j        t          |¬¦  «        5  t          ||ddd¬¦  «         d d d ¦  «         n# 1 swxY w Y   d	}|                     |¦  «        }t          j        t          |¬¦  «        5  t          ||ddd¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}|                     |¦  «        }t          j        t          |¬¦  «        5  t          ||d
gddd¬¦  «         d d d ¦  «         n# 1 swxY w Y   d	}|                     |¦  «        }t          j        t          |¬¦  «        5  t          ||d
gddd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr™   z.target_column='{}' has flag is_row_identifier.z&target_column='{}' has flag is_ignore.ÚMouseIDrÿ  Frž   r   ÚGenotyperæ   )r‚   Úformatr¦   r  r  r   )r±   rR   r�   Úexpected_row_id_msgÚexpected_ignore_msgÚ
target_colrh   s          r   Útest_warn_ignore_attributerA  þ  sä  € à€GØJÐØBÐÝ$ [°'¸=ÑIÔIÐIà€JØ
×
$Ò
$ ZÑ
0Ô
0€CÝ	Œ•k¨Ð	-Ñ	-Ô	-ð 
ð 
ÝØØ$ØØØð	
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð €JØ
×
$Ò
$ ZÑ
0Ô
0€CÝ	Œ•k¨Ð	-Ñ	-Ô	-ð 
ð 
ÝØØ$ØØØð	
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð €JØ
×
$Ò
$ ZÑ
0Ô
0€CÝ	Œ•k¨Ð	-Ñ	-Ô	-ð 
ð 
ÝØØ% wÐ/ØØØð	
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð €JØ
×
$Ò
$ ZÑ
0Ô
0€CÝ	Œ•k¨Ð	-Ñ	-Ô	-ð 
ð 
ÝØØ% wÐ/ØØØð	
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
sH   Á
A+Á+A/Á2A/Â(C	Ã	CÃCÄD)Ä)D-Ä0D-Å&F
Æ
FÆFc                 ó¾   — d}t          | ||¦  «         d}t          j        t          |¬¦  «        5  t	          |ddd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr†   zJOpenML registered a problem with the dataset. It might be unusable. Error:rÿ  Frž   r%  ©r‚   r¦   r  r  r   ©r±   rR   r�   rh   s       r   Útest_dataset_with_openml_errorrE  0  sÂ   € à€GÝ$ [°'¸=ÑIÔIÐIØ
V€CÝ	Œ•k¨Ð	-Ñ	-Ô	-ð Wð WÝ˜W¨E¸EÈ+ÐVÑVÔVÐVðWð Wð Wñ Wô Wð Wð Wð Wð Wð Wð Wð Wøøøð Wð Wð Wð Wð Wð Wó   ±AÁAÁAc                 ó¾   — d}t          | ||¦  «         d}t          j        t          |¬¦  «        5  t	          |ddd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrø   zFOpenML raised a warning on the dataset. It might be unusable. Warning:rÿ  Frž   r%  rC  rD  s       r   Ú test_dataset_with_openml_warningrH  9  sÂ   € à€GÝ$ [°'¸=ÑIÔIÐIØ
R€CÝ	Œ•k¨Ð	-Ñ	-Ô	-ð Wð WÝ˜W¨E¸EÈ+ÐVÑVÔVÐVðWð Wð Wñ Wô Wð Wð Wð Wð Wð Wð Wð Wøøøð Wð Wð Wð Wð Wð WrF  c                 ó`  — t          j        d¦  «         d}t          | |d¬¦  «         |ddddœ}t          di |¤Ž}t          di |¤dddii¤Ž}t	          d	„ |j        d
         j        j        D ¦   «         ¦  «        sJ ‚t          d„ |j        d
         j        j        D ¦   «         ¦  «        rJ ‚dS )zACheck that we can overwrite the default parameters of `read_csv`.rŸ   é6  F©r�   rR   Tr¿   Úread_csv_kwargsÚskipinitialspacec              3   ó@   K  — | ]}|                      d ¦  «        V — ŒdS ©ú N©rG   ©ræ  rÌ   s     r   ú	<genexpr>zFtest_fetch_openml_overwrite_default_params_read_csv.<locals>.<genexpr>U  s?   è è € ð ð Ø #ˆ�Š�sÑÔðð ð ð ð ð r   ræ   c              3   ó@   K  — | ]}|                      d ¦  «        V — ŒdS rO  rQ  rR  s     r   rS  zFtest_fetch_openml_overwrite_default_params_read_csv.<locals>.<genexpr>X  sB   è è € ð ð àð 	�Š�sÑÔðð ð ð ð ð r   Nr,   )	r¦   r§   r‚   r   rè   r«   rÌ   r°   r)  )r±   r�   Úcommon_paramsÚadult_without_spacesÚadult_with_spacess        r   Ú3test_fetch_openml_overwrite_default_params_read_csvrX  B  s,  € å
Ô˜Ñ!Ô!Ð!Ø€GÝ$ [¸'ÐQVÐWÑWÔWÐWð ØØØð	ð €Mõ (Ð8Ð8¨-Ð8Ð8ÐÝ$ð ð Ø
ðð Ø*<¸eÐ)Dðð ð Ðõ ð ð Ø'8Ô'>¸wÔ'GÔ'KÔ'Vðñ ô ñ ô ð ð ð õ ð ð à'Ô-¨gÔ6Ô:ÔEðñ ô ñ ô ð ð ð ð ð r   c                 ó¼  — d}t          | ||¦  «         t          j        j        j                             |¦  «        }t          |                     d¦  «        ¦  «        }t          ||¦  «        }t          ||¦  «        }t          j                             |¦  «        sJ ‚t          ||¦  «        }|                     ¦   «         |                     ¦   «         k    sJ ‚d S )Nrƒ   Úscikit_learn_data)r‚   r}   r~   r   Ú
_DATA_FILEr=  ÚstrÚmkdirr   r
   ÚosÚpathÚisfiler   )	r±   rR   Útmpdirr�   Úopenml_pathÚcache_directoryÚ	response1ÚlocationÚ	response2s	            r   Útest_open_openml_url_cacherg  b  sÁ   € à€Gå$ [°'¸=ÑIÔIÐIÝÔ"Ô*Ô5×<Ò<¸WÑEÔE€KÝ˜&Ÿ,š,Ð':Ñ;Ô;Ñ<Ô<€Oå  ¨oÑ>Ô>€Iå˜{¨OÑ<Ô<€HÝŒ7�>Š>˜(Ñ#Ô#Ð#Ð#Ð#å  ¨oÑ>Ô>€IØ�>Š>ÑÔ˜yŸ~š~Ñ/Ô/Ò/Ð/Ð/Ð/Ð/Ð/r   Úwrite_to_diskc                 óä  ‡‡— d}t           j        j        j                             |¦  «        }t          |                     d¦  «        ¦  «        }t          ||¦  «        Šˆˆfd„}|                      t           j        j        d|¦  «         t          j
        t          d¬¦  «        5  t          ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          j                             ‰¦  «        rJ ‚d S )Nrƒ   rZ  c                 ó    •— ‰r=t          ‰d¦  «        5 }|                     d¦  «         d d d ¦  «         n# 1 swxY w Y   t          d¦  «        ‚)NÚwÚ úInvalid request)rI   Úwritert   )ru   rv   rw   rN   re  rh  s       €€r   rx   z>test_open_openml_url_unlinks_local_path.<locals>._mock_urlopenz  s‹   ø€ Øð 	Ý�h Ñ$Ô$ð ¨Ø—’˜‘”�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð åÐ*Ñ+Ô+Ð+s   ”6¶:½:ry   rm  rÿ  )r}   r~   r   r[  r=  r\  r]  r
   r|   r¦   r  rt   r   r^  r_  Úexists)r±   ra  rh  r�   rb  rc  rx   re  s     `    @r   Ú'test_open_openml_url_unlinks_local_pathrp  s  s)  øø€ à€GÝÔ"Ô*Ô5×<Ò<¸WÑEÔE€KÝ˜&Ÿ,š,Ð':Ñ;Ô;Ñ<Ô<€OÝ˜{¨OÑ<Ô<€Hð,ð ,ð ,ð ,ð ,ð ,ð ×Ò�Ô(Ô0°)¸]ÑKÔKÐKå	Œ•zÐ):Ð	;Ñ	;Ô	;ð 7ð 7Ý˜ oÑ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7õ Œw�~Š~˜hÑ'Ô'Ð'Ð'Ð'Ð'Ð's   Â'CÃCÃCc                 ób  ‡— d}t           j        j        j                             |¦  «        }t          |                      d¦  «        ¦  «        }t          ||¦  «        Št          j	        t          j
                             ‰¦  «        ¦  «         t          ‰d¦  «        5 }|                     d¦  «         d d d ¦  «         n# 1 swxY w Y   t          ||¦  «        ˆfd„¦   «         }d}t          j        t"          |¬¦  «        5   |¦   «         }d d d ¦  «         n# 1 swxY w Y   |dk    sJ ‚d S )	Nrƒ   rZ  rk  rl  c                  ód   •— t           j                             ‰ ¦  «        rt          d¦  «        ‚dS )NzFile exist!r†   )r^  r_  ro  Ú	Exception)re  s   €r   Ú
_load_dataz/test_retry_with_clean_cache.<locals>._load_data’  s.   ø€ õ Œ7�>Š>˜(Ñ#Ô#ð 	+Ý˜MÑ*Ô*Ð*Øˆqr   z!Invalid cache, redownloading filerÿ  r†   )r}   r~   r   r[  r=  r\  r]  r
   r^  Úmakedirsr_  ÚdirnamerI   rn  r   r¦   r  ÚRuntimeWarning)	ra  r�   rb  rc  rN   rt  Úwarn_msgÚresultre  s	           @r   Útest_retry_with_clean_cacherz  ˆ  s™  ø€ Ø€GÝÔ"Ô*Ô5×<Ò<¸WÑEÔE€KÝ˜&Ÿ,š,Ð':Ñ;Ô;Ñ<Ô<€OÝ˜{¨OÑ<Ô<€HÝ„K•”—’ Ñ)Ô)Ñ*Ô*Ð*å	ˆh˜Ñ	Ô	ð  Ø	�Š�‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ ˜[¨/Ñ:Ô:ðð ð ð ñ ;Ô:ðð 3€HÝ	Œ•n¨HÐ	5Ñ	5Ô	5ð ð Ø�‘”ˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à�QŠ;ˆ;ˆ;ˆ;ˆ;ˆ;s$   Â CÃCÃ	CÄDÄD Ä#D c                 óR  — d}t           j        j        j                             |¦  «        }t          |                      d¦  «        ¦  «        }t          ||¦  «        d„ ¦   «         }d}t          j	        t          |¬¦  «        5   |¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nrƒ   rZ  c                  óB   — t          d ddd t          ¦   «         ¬¦  «        ‚)Nrd   re   rf   ©r   r   r,   r   r   rt  z:test_retry_with_clean_cache_http_error.<locals>._load_data¤  s)   € åØ˜3Ð$:ÀÍ'É)Ì)ð
ñ 
ô 
ð 	
r   re   rÿ  )r}   r~   r   r[  r=  r\  r]  r   r¦   r  r   )ra  r�   rb  rc  rt  Ú	error_msgs         r   Ú&test_retry_with_clean_cache_http_errorr  Ÿ  sì   € Ø€GÝÔ"Ô*Ô5×<Ò<¸WÑEÔE€KÝ˜&Ÿ,š,Ð':Ñ;Ô;Ñ<Ô<€Oå˜[¨/Ñ:Ô:ð
ð 
ñ ;Ô:ð
ð
 '€IÝ	Œ•y¨	Ð	2Ñ	2Ô	2ð ð Øˆ
‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÂBÂB Â#B c                 ó¢  — d„ }d}t          |                     d¦  «        ¦  «        }t          | ||¦  «         t          |d|ddd¬¦  «        \  }}|                      t
          j        j        d|¦  «         t          |d|ddd¬¦  «        \  }}	t          j	         
                    ||¦  «         t          j	         
                    ||	¦  «         d S )	Nc                 óJ   — t          d|                      ¦   «         z  ¦  «        ‚)NzhThis mechanism intends to test correct cachehandling. As such, urlopen should never be accessed. URL: %s)rt   rr   ©ru   rv   rw   s      r   Ú_mock_urlopen_raisez4test_fetch_openml_cache.<locals>._mock_urlopen_raise±  s-   € Ýð à")×"6Ò"6Ñ"8Ô"8ñ9ñ
ô 
ð 	
r   rƒ   rZ  TFrž   )r�   r¤   r6   r  r£   r�   ry   )r\  r]  r‚   r   r|   r}   r~   r   rº   rÑ   r   )
r±   rR   ra  rƒ  r�   rc  Ú	X_fetchedÚ	y_fetchedÚX_cachedÚy_cacheds
             r   Útest_fetch_openml_cacherˆ  ¯  só   € ð
ð 
ð 
ð €GÝ˜&Ÿ,š,Ð':Ñ;Ô;Ñ<Ô<€OÝ$ [°'¸=ÑIÔIÐIÝ'ØØØ!ØØØðñ ô Ñ€Iˆyð ×Ò�Ô(Ô0°)Ð=PÑQÔQÐQå%ØØØ!ØØØðñ ô Ñ€Hˆhõ „J×!Ò! )¨XÑ6Ô6Ð6Ý„J×!Ò! )¨XÑ6Ô6Ð6Ð6Ð6r   zas_frame, parser))Trž   )Frž   )TrŸ   )FrŸ   c                 ó’  ‡‡— |s|dk    rt          j        d¦  «         d}t          | |d¦  «         t          dz   d|› �z   }d}t	          j        |¦  «        |z  }|dz  Š|                     d¦  «        5 }	t          j        |	d¦  «        }
t          |
 	                    ¦   «         ¦  «        }d	|t          |¦  «        d
z
  <   ddd¦  «         n# 1 swxY w Y   t          j        ‰d¦  «        5 }|                     |¦  «         ddd¦  «         n# 1 swxY w Y   t          j        j        j        Šˆˆfd„}|                      t          j        j        d|¦  «         t          j        t&          ¦  «        5 }t          j                             |d||¬¦  «         ddd¦  «         n# 1 swxY w Y   |                     d¦  «        sJ ‚dS )z/Check that the checksum is working as expected.rŸ   rŠ   Tr8   r9   zdata-v1-dl-1666876.arff.gzztest_invalid_checksum.arffrF   é%   r†   NÚwbc                 ó   •— |                       ¦   «         }|                     d¦  «        rZt          ‰d¦  «        5 }|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   t	          t          |¦  «        d¬¦  «        S  ‰| ¦  «        S )Nzdata/v1/download/1666876rF   Tr&   )rr   ÚendswithrI   r   r   r   )ru   rv   rw   r@   rN   Úcorrupted_dataÚcorrupt_copy_pathÚmocked_openml_urls         €€r   Úswap_file_mockz9test_fetch_openml_verify_checksum.<locals>.swap_file_mockø  sÅ   ø€ Ø×"Ò"Ñ$Ô$ˆØ�<Š<Ð2Ñ3Ô3ð 	.ÝÐ'¨Ñ.Ô.ð *°!Ø!"§¢¡¤�ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *å$¥W¨^Ñ%<Ô%<ÀdÐKÑKÔKÐKà$Ð$ WÑ-Ô-Ð-s   »AÁA Á#A ry   Fr%  Ú1666876)r¦   r§   r‚   rz   r   rH   rI   r%   Ú	bytearrayr   r>   ÚGzipFilern  r}   r~   r   ry   r|   r  rt   r   r   )r±   r£   r¤   ra  r�   r�   Úoriginal_data_moduleÚoriginal_data_file_nameÚoriginal_data_pathÚ	orig_fileÚ	orig_gzipr   Úmodified_gzipr‘  Úexcr�  r�  s                  @@r   Ú!test_fetch_openml_verify_checksumrœ  Ô  sš  øø€ ð ð &�6˜XÒ%Ð%ÝÔ˜HÑ%Ô%Ð%à€GÝ$ [°'¸4Ñ@Ô@Ð@õ 3°SÑ8¸?À¸?¸?ÑJÐØ:ÐÝ"œÐ)=Ñ>Ô>ÐAXÑXÐØÐ!=Ñ=ÐØ	×	 Ò	  Ñ	&Ô	&ð !¨)Ý”I˜i¨Ñ.Ô.ˆ	Ý˜ŸšÑ)Ô)Ñ*Ô*ˆØ ˆ�S�‰YŒY˜‰]Ñð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !õ
 
ŒÐ(¨$Ñ	/Ô	/ð "°=Ø×Ò˜DÑ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "õ  Ô(Ô0Ô8Ðð.ð .ð .ð .ð .ð .ð ×Ò�Ô(Ô0°)¸^ÑLÔLÐLõ 
Œ•zÑ	"Ô	"ð 
 cÝÔ×%Ò%Ø 5°8ÀFð 	&ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð
 �9Š9�YÑÔÐÐÐÐÐs7   Á5ACÃCÃCÃ-DÄDÄDÅ5$F%Æ%F)Æ,F)c                 ó¶  — d„ }|                       t          j        j        d|¦  «         d}t	          j        t          t          j        dt          |z   › d�¦  «        ¬¦  «        5 }t	          j
        t          d¬¦  «        5  t          |d d¬	¦  «         d d d ¦  «         n# 1 swxY w Y   t          |¦  «        d
k    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 óB   — t          d ddd t          ¦   «         ¬¦  «        ‚)Ni”  úSimulated network errorrf   r}  r‚  s      r   Ú_mock_urlopen_network_errorzPtest_open_openml_url_retry_on_network_error.<locals>._mock_urlopen_network_error  s)   € ÝØ˜3Ð$=ÀDÍWÉYÌYð
ñ 
ô 
ð 	
r   ry   zinvalid-urlz+A network error occurred while downloading z. Retrying...rÿ  rŸ  r   )Údelayrø   )r|   r}   r~   r   r¦   r  r  r<   r  r	   r  r   r   r>   )r±   r   Úinvalid_openml_urlÚrecords       r   Ú+test_open_openml_url_retry_on_network_errorr¤    s›  € ð
ð 
ð 
ð
 ×ÒÝÔÔ  )Ð-Hñô ð ð 'Ðå	ŒÝÝŒiðCÝÐ!3Ñ3ðCð Cð Cñ
ô 
ð
ñ 
ô 
ð 	 ð 
ÝŒ]�9Ð,EÐFÑFÔFð 	@ð 	@ÝÐ/°¸QÐ?Ñ?Ô?Ð?ð	@ð 	@ð 	@ñ 	@ô 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@øøøð 	@ð 	@ð 	@ð 	@å�6‰{Œ{˜aÒÐÐÐÐð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð 	 ð 	 s6   Á%CÂB ÂCÂ B$	Â$CÂ'B$	Â(CÃCÃC)rž   rŸ   c                 óì   — |dk    rt          j        d¦  «         d}t          | ||¦  «         t          j                             |dd|¬¦  «        }|€J ‚|d         j        dk    sJ ‚d|d	         vsJ ‚dS )
z‰Check that we can load the "zoo" dataset.
    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/14340
    rŸ   é>   Fr%  Nr   )ée   é   ÚanimalrÓ   )r¦   r§   r‚   r}   r~   r   r­   )r±   rR   r�   r�   Údatasets        r   Ú&test_fetch_openml_with_ignored_featurer«  (  s¡   € ð �ÒÐÝÔ˜HÑ%Ô%Ð%Ø€GÝ$ [°'¸=ÑIÔIÐIåÔ×+Ò+Ø˜u¨u¸Vð ,ñ ô €Gð ÐÐÐð �6Œ?Ô  IÒ-Ð-Ð-Ð-Ø˜7 ?Ô3Ð3Ð3Ð3Ð3Ð3Ð3r   c                 ó2  — t          j        d¦  «        }d}t          | |d¬¦  «         dd|dœ}t          dddi|¤Ž}t          dddi|¤Ž}|j                             |j        |j        ¦  «         |j        j                             d	¦  «         	                    ¦   «         rJ ‚|j        j         
                    d	¦  «         	                    ¦   «         rJ ‚t          ddd
dœ|¤Ž}t          ddd
dœ|¤Ž}|j                             |j        d         |j        d         ¦  «         |j        d         j                             d	¦  «         	                    ¦   «         rJ ‚|j        d         j         
                    d	¦  «         	                    ¦   «         rJ ‚dS )z§Check that we strip the single quotes when used as a string delimiter.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/23381
    rŸ   r™   FrK  T©r£   r¤   r�   r�   rž   ú'r®  )r�   rö   ræ   Nr,   )r¦   r§   r‚   r   rÑ   r  r®   r\  rG   r)  r�  r«   )r±   r¶   r�   rU  Úmice_pandasÚmice_liac_arffs         r   Útest_fetch_openml_strip_quotesr±  >  sÁ  € õ 
Ô	˜XÑ	&Ô	&€BØ€GÝ$ [¸'ÐQVÐWÑWÔWÐWà!%°À'ÐJÐJ€MÝÐ@Ð@ hÐ@°-Ð@Ð@€KÝ!ÐFÐF¨ÐF¸ÐFÐF€NØ„J×"Ò" ;Ô#5°~Ô7LÑMÔMÐMØÔ!Ô%×0Ò0°Ñ5Ô5×9Ò9Ñ;Ô;Ð;Ð;Ð;ØÔ!Ô%×.Ò.¨sÑ3Ô3×7Ò7Ñ9Ô9Ð9Ð9Ð9õ ÐX h¸hÐXÐXÈ-ÐXÐX€KÝ!ð Ø¨(ðð Ø6Cðð €Nð „J×"Ò"ØÔ˜'Ô" NÔ$8¸Ô$Añô ð ð Ô  Ô)Ô-×8Ò8¸Ñ=Ô=×AÒAÑCÔCÐCÐCÐCØÔ  Ô)Ô-×6Ò6°sÑ;Ô;×?Ò?ÑAÔAÐAÐAÐAÐAÐAr   c                 óü   — t          j        d¦  «        }d}t          | |d¬¦  «         dd|dœ}t          dddi|¤Ž}t          dddi|¤Ž}|j                             |j        d	         |j        d	         ¦  «         d
S )z�Check that we can strip leading whitespace in pandas parser.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/25311
    rŸ   rJ  FrK  Tr­  r�   rž   ræ   Nr,   )r¦   r§   r‚   r   rÑ   r  r«   ©r±   r¶   r�   rU  Úadult_pandasÚadult_liac_arffs         r   Ú$test_fetch_openml_leading_whitespacer¶  [  s§   € õ 
Ô	˜XÑ	&Ô	&€BØ€GÝ$ [¸'ÐQVÐWÑWÔWÐWà!%°À'ÐJÐJ€MÝÐAÐA xÐA°=ÐAÐA€LÝ"ÐGÐG¨+ÐG¸ÐGÐG€OØ„J×"Ò"ØÔ˜7Ô# _Ô%:¸7Ô%Cñô ð ð ð r   c                 óä   — t          j        d¦  «        }d}t          | |d¬¦  «         dd|dœ}t          d
ddi|¤Ž}t          d
ddi|¤Ž}|j                             |j        |j        ¦  «         d	S )z¡Check that we can handle escapechar and single/double quotechar.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/25478
    rŸ   iZ¤  FrK  Tr­  r�   rž   Nr,   )r¦   r§   r‚   r   rÑ   rÒ   r«   r³  s         r   Ú&test_fetch_openml_quotechar_escapecharr¸  m  s’   € õ 
Ô	˜XÑ	&Ô	&€BØ€GÝ$ [¸'ÐQVÐWÑWÔWÐWà!%°À'ÐJÐJ€MÝÐAÐA xÐA°=ÐAÐA€LÝ"ÐGÐG¨+ÐG¸ÐGÐG€OØ„J×!Ò! ,Ô"4°oÔ6KÑLÔLÐLÐLÐLr   )UÚ__doc__r%   rk   r^  r<   Ú	functoolsr   Ú	importlibr   Úior   Úurllib.errorr   Únumpyrº   r¦   Úscipy.sparser  r}   r   Úsklearn.datasetsr   Úfetch_openml_origÚsklearn.datasets._openmlr	   r
   r   r   Úsklearn.utilsr   Ú$sklearn.utils._optional_dependenciesr   Úsklearn.utils._testingr   r   r   r   rz   r{   r   r‚   ÚmarkÚparametrizer¸   r½   rÚ   rÞ   rõ   rþ   r  r  r  ÚfixturerÝ  rá  rü  r  r
  Úfilterwarningsr  r  r  r  r#  r,  r2  rt   ÚKeyErrorr6  r9  rA  rE  rH  rX  rg  rp  rz  r  rˆ  rœ  r¤  r«  r±  r¶  r¸  r,   r   r   ú<module>rË     sh  ðØ Ð à €€€Ø €€€Ø 	€	€	€	Ø 	€	€	€	Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø €€€Ø Ð Ð Ð à €€€Ø "Ð "Ð "Ð "Ð "Ð "Ø >Ð >Ð >Ð >Ð >Ð >ðð ð ð ð ð ð ð ð ð ð ð ð  Ð Ð Ð Ð Ð Ø EÐ EÐ EÐ EÐ EÐ Eðð ð ð ð ð ð ð ð ð ð ð ð ?Ð à€ðð ð ð ð ñ ô ð ð< ˆwÐ(°DÐ9Ñ9Ô9€ðtLð tLð tLðz Ø„×ÒØ?ð 
ˆi˜ˆ_˜c 1 aÐ(Ø	�f¨Ð+Ð+¨S°!°QÐ7à	
ˆY˜ˆN˜B  AÐ&Ø	
�X¨!Ð,Ð,¨b°"°aÐ8à	ˆy˜#Ð  Q¨Ð*Ø	�u¨Ð+Ð+¨S°!°QÐ7à	�˜EÐ" B¨¨AÐ.à	�	˜4Ð  " b¨!Ð,Ø	�˜Ð'¨¨R°Ð3à	�˜EÐ" A r¨1Ð-Ø	�˜Ð'¨¨B°Ð2à	�˜EÐ" D¨"¨aÐ0ð'ñô ð0 „×Ò˜ K°Ð#:Ñ;Ô;Ø„×Ò˜¨4°¨-Ñ8Ô8ð($ð ($ñ 9Ô8ñ <Ô;ñ1ô ñ „ð6($ðZ Ø„×ÒØ?ð 
ˆi˜ˆ_˜c 1 aÐ(Ø	�f¨Ð+Ð+¨S°!°QÐ7à	
ˆY˜ˆN˜B  AÐ&Ø	
�X¨!Ð,Ð,¨b°"°aÐ8à	ˆy˜#Ð  Q¨Ð*Ø	�u¨Ð+Ð+¨S°!°QÐ7à	�˜EÐ" B¨¨AÐ.à	�	˜4Ð  " b¨!Ð,Ø	�˜Ð'¨¨R°Ð3à	�˜EÐ" A r¨1Ð-Ø	�˜Ð'¨¨B°Ð2ð#ñô ð, „×Ò˜ K°Ð#:Ñ;Ô;ð$.ð $.ñ <Ô;ñ-ô ñ „ð0$.ðR Ø„×Ò˜Ð$5Ð$5Ð$5Ñ6Ô6ð<Nð <Nñ 7Ô6ñ „ð<NðB Ø„×Ò˜ K°Ð#:Ñ;Ô;ðPð Pñ <Ô;ñ „ðPð8 Ø„×Ò˜ K°Ð#:Ñ;Ô;ð,!ð ,!ñ <Ô;ñ „ð,!ðb Ø„×Ò˜ K°Ð#:Ñ;Ô;Ø„×Ò˜¨<¸,ÈÐ9VÐ*WÑXÔXð;ð ;ñ YÔXñ <Ô;ñ „ð;ðB Ø„×Ò˜Ð$=Ð$=Ð$=Ñ>Ô>Ø„×Ò˜ K°Ð#:Ñ;Ô;ð7ð 7ñ <Ô;ñ ?Ô>ñ „ð7ð: Ø„×Ò˜Ð$:Ð$:Ð$:Ñ;Ô;Ø„×Ò˜ K°Ð#:Ñ;Ô;ð(ð (ñ <Ô;ñ <Ô;ñ „ð(ð4 ð*ð *ñ „ð*ð> €„�hÐÑÔðoð oñ  Ôðoðd €„�hÐÑÔð-ð -ñ  Ôð-ðd Ø„×ÒØPðð ð ñô ð4 „×Ò˜¨4°¨-Ñ8Ô8ð)-ð )-ñ 9Ô8ñ5ô ñ „ð8)-ð` „×ÒØð �yÐ!ØHð	
ð
 ˜Ð#ØJð	
ð	ñô ð0ð 0ñô ð0ð „×ÒØà VÐ,Ð,Ø vÐ.Ð.Ø hÐ/Ð/Ø fÐ-Ð-ð	ñô ðIð Iñô ðIð „×ÒÐPÑQÔQØ„×ÒØð �xÐ ØHð	
ð
 ˜ÐØGð	
ð
  ¨TÐ2Ð2ØGð	
ðñô ð"
ð 
ñ#ô ñ RÔQð$
ð$ Ø„×ÒÐPÑQÔQØ„×ÒØàØðñô ð(ð (ñô ñ RÔQñ „ð(ð ðð ñ „ðð& „×Ò˜¨4°¨-Ñ8Ô8ð
ð 
ñ 9Ô8ð
ð4 „×Ò˜¨4°¨-Ñ8Ô8ðð ñ 9Ô8ðð& „×Ò˜¨4°¨-Ñ8Ô8Ø„×Ò˜ K°Ð#:Ñ;Ô;ðFð Fñ <Ô;ñ 9Ô8ðFð( „×Ò˜¨4°¨-Ñ8Ô8Ø„×ÒØà	�EÐØ (°qÐ9Ð9ðñô ð
+ð 
+ñô ñ 9Ô8ð
+ð „×Ò˜¨4°¨-Ñ8Ô8Ø„×ÒØ(à	�˜Ð" JÐ0PÐQàØ¨l¸GÐ-DÐEÐEØØ?ð		
ð Ø¨5Ð1Ð1Øð!ð	
ð Ø¨HÀ$ÐGÐGØØ$ð		
ð Ø¨HÀ%ÐHÐHØØ$ð		
ð Ø¨[Ð9Ð9ØØ6ð		
ð Ø¨k¸7Ð-CÐDÐDØØ6ð		
ðG)ñ,ô ,ðZ „×Ò˜ K°Ð#:Ñ;Ô;ð;ð ;ñ <Ô;ñ[,ô ,ñ 9Ô8ð^;ð „×ÒØð  D°YÐ?Ð?ØØQð	
ð  FÐ+Ð+ØØQð	
ð  F°yÐAÐAØØDð	
ð ØØTð	
ð!ñô ð2ð ñ3ô ð2ð
 „×Ò˜¨4°¨-Ñ8Ô8ð.
ð .
ñ 9Ô8ð.
ðb „×Ò˜¨4°¨-Ñ8Ô8ðWð Wñ 9Ô8ðWð „×Ò˜¨4°¨-Ñ8Ô8ðWð Wñ 9Ô8ðWðð ð ð@ „×Ò˜¨4°¨-Ñ8Ô8ð0ð 0ñ 9Ô8ð0ð  „×Ò˜¨4°¨-Ñ8Ô8ð(ð (ñ 9Ô8ð(ð(ð ð ð.ð ð ð  „×Ò˜¨4°¨-Ñ8Ô8ð7ð 7ñ 9Ô8ð7ðH Ø„×ÒØðð ð ñô ð+ ð + ñô ñ „ð+ ð\ ð  ð  ð8 „×Ò˜¨4°¨-Ñ8Ô8Ø„×Ò˜Ð#:Ñ;Ô;ð4ð 4ñ <Ô;ñ 9Ô8ð4ð(Bð Bð Bð:ð ð ð$Mð Mð Mð Mð Mr   