§
    ¥˜ºh’Ü  ã                   óB  — 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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mZ dd
lmZmZm Z m!Z! ddl"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d/d#dfg¦  «        ej(         )                    d0d1d2g¦  «        ej(         )                    d3dd4g¦  «        d5„ ¦   «         ¦   «         ¦   «         ¦   «         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(         )                    d0d1d2g¦  «        d6„ ¦   «         ¦   «         ¦   «         Z+e!ej(         )                    dg d7¢¦  «        d8„ ¦   «         ¦   «         Z,e!ej(         )                    d0d1d2g¦  «        d9„ ¦   «         ¦   «         Z-e!ej(         )                    d0d1d2g¦  «        d:„ ¦   «         ¦   «         Z.e!ej(         )                    d0d1d2g¦  «        ej(         )                    d;d<d<d=gg¦  «        d>„ ¦   «         ¦   «         ¦   «         Z/e!ej(         )                    dg d?¢¦  «        ej(         )                    d0d1d2g¦  «        d@„ ¦   «         ¦   «         ¦   «         Z0e!ej(         )                    dg dA¢¦  «        ej(         )                    d0d1d2g¦  «        dB„ ¦   «         ¦   «         ¦   «         Z1e!dC„ ¦   «         Z2 ej3        dD¬E¦  «        dF„ ¦   «         Z4 ej3        dD¬E¦  «        dG„ ¦   «         Z5e!ej(         )                    dHg dI¢¦  «        ej(         )                    d3dd4g¦  «        dJ„ ¦   «         ¦   «         ¦   «         Z6ej(         7                    dK¦  «        ej(         )                    dLd0dMidNfdOdMidPfg¦  «        dQ„ ¦   «         ¦   «         Z8ej(         )                    dRddSdTœdSdSdTœd4d2dTœg¦  «        dU„ ¦   «         Z9dV„ Z:ej(         7                    dW¦  «        ej(         7                    dK¦  «        ej(         )                    dLd0d2idXfdOdidYfd2ddZœdYfg¦  «        d[„ ¦   «         ¦   «         ¦   «         Z;e!ej(         7                    dW¦  «        ej(         )                    d\d]d^g¦  «        d_„ ¦   «         ¦   «         ¦   «         Z<e!d`„ ¦   «         Z=ej(         )                    d3dd4g¦  «        da„ ¦   «         Z>ej(         )                    d3dd4g¦  «        db„ ¦   «         Z?ej(         )                    d3dd4g¦  «        ej(         )                    d0d1d2g¦  «        dc„ ¦   «         ¦   «         Z@ej(         )                    d3dd4g¦  «        ej(         )                    ddddeiddfddgœg¦  «        dh„ ¦   «         ¦   «         ZAej(         )                    d3dd4g¦  «        ej(         )                    dided)dfieBdjfdddkdlgdmœeBdnfd.d.d4doœeBdpfdddqddrœeBdsfdddqd4drœeBdsfdddtdmœeCdufdddtdlgdmœeCdufg¦  «        ej(         )                    d0d1d2g¦  «        dv„ ¦   «         ¦   «         ¦   «         ZDej(         )                    dwdxddydgœeBdzfdxd{d|œeBd}fdxd{dydgœeBd~fi eBdfg¦  «        d€„ ¦   «         ZEej(         )                    d3dd4g¦  «        d�„ ¦   «         ZFej(         )                    d3dd4g¦  «        d‚„ ¦   «         ZGej(         )                    d3dd4g¦  «        dƒ„ ¦   «         ZHd„„ ZIej(         )                    d3dd4g¦  «        d…„ ¦   «         ZJej(         )                    d†dd4g¦  «        d‡„ ¦   «         ZKdˆ„ ZLd‰„ ZMej(         )                    d3dd4g¦  «        dŠ„ ¦   «         ZNe!ej(         )                    d‹g dŒ¢¦  «        d�„ ¦   «         ¦   «         ZOdŽ„ ZPej(         )                    d3dd4g¦  «        ej(         )                    d0d�¦  «        d�„ ¦   «         ¦   «         ZQd‘„ ZRd’„ ZSd“„ ZTd”„ ZUdS )•zTest the openml loader.é    N)Úpartial)Ú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_pypy)Ú_open_binaryz"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      új/var/www/html/services/rag-service/venv/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.info0   s   € ØŒ<ð 	0Ø&¨Ð/Ð/Øˆ	r   c                 ó*   — t          | j        ¦  «        S r   )Úiterr   r$   s    r   Ú__iter__z_MockHTTPResponse.__iter__5   s   € Ý�D”I‰ŒÐr   c                 ó   — | S r   © r$   s    r   Ú	__enter__z_MockHTTPResponse.__enter__8   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.   r3   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_nameT   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          ‰	|¦  «        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 )NTÚrbF)Ú
startswithr   r   r    r   )rA   Úhas_gzip_headerÚexpected_prefixrB   Údata_file_nameÚfÚfpÚdecompressed_frE   Údata_moduleÚgzip_responseÚread_fns           €€€€r   Ú_mock_urlopen_sharedz>_monkey_patch_webbased_functions.<locals>._mock_urlopen_sharedj   s/  ø€ Ø�~Š~˜oÑ.Ô.Ð.Ð.Ð.à#˜ C¨Ñ0Ô0ˆå˜+ ~Ñ6Ô6ð 	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 Á7<C Ã CÃCc                 ó"   •—  ‰| |‰d¬¦  «        S ©Nú.json©rA   rI   rJ   rB   r-   )rA   rI   rR   Úurl_prefix_data_descriptions     €€r   Ú_mock_urlopen_data_descriptionzH_monkey_patch_webbased_functions.<locals>._mock_urlopen_data_descriptionx   s)   ø€ Ø#Ð#ØØ+Ø7Øð	
ñ 
ô 
ð 	
r   c                 ó"   •—  ‰| |‰d¬¦  «        S rT   r-   )rA   rI   rR   Úurl_prefix_data_featuress     €€r   Ú_mock_urlopen_data_featureszE_monkey_patch_webbased_functions.<locals>._mock_urlopen_data_features€   ó)   ø€ Ø#Ð#ØØ+Ø4Øð	
ñ 
ô 
ð 	
r   c                 ó"   •—  ‰| |‰d¬¦  «        S )Nz.arffrV   r-   )rA   rI   rR   Ú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          ‰	|¦  «        5 } ‰
|d¦  «        }|                     ¦   «                              d¦  «        }t	          j        |¦  «        }d d d ¦  «         n# 1 swxY w Y   d|v rt          d ddd d ¬¦  «        ‚t          ‰	|¦  «        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 )
NrU   rG   zutf-8Úerroréœ  úSimulated mock error©rA   ÚcodeÚmsgÚhdrsrM   TF)	rH   r   r    ÚdecodeÚjsonÚloadsr   r   r   )rA   rI   rK   rL   rN   Ú	decoded_sÚ	json_datarM   rE   rO   rQ   Ú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ˆõ ˜+ ~Ñ6Ô6ð 	.¸!Ø$˜W Q¨Ñ-Ô-ˆNØ&×+Ò+Ñ-Ô-×4Ò4°WÑ=Ô=ˆIÝœ
 9Ñ-Ô-ˆIð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð �iÐÐÝØ˜sÐ(>ÀTÈdðñ ô ð õ ˜+ ~Ñ6Ô6ð 	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Â<3EÃ<<EÅE	ÅE	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_headerrH   Ú
ValueError)ÚrequestÚargsÚkwargsrA   rI   rX   r[   rn   r_   rW   rZ   rm   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&   ÚopenÚOPENML_TEST_DATA_MODULEÚtest_offlineÚsetattrÚsklearnÚdatasetsÚ_openml)ÚcontextÚdata_idrP   rv   rE   rX   r[   rn   r_   rR   rO   rD   rQ   rW   rZ   rm   r^   s     ` @@@@@@@@@@@@@r   Ú _monkey_patch_webbased_functionsr�   F   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ð0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ÚpandasrP   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ž   ©rP   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œ   rP   Ú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_dtypesc  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_dtypesw  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Ù   J  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¾   rL   ÚON)r¥   r¦   r�   r   r   rÄ   Úkind)r°   r€   r¢   Úbunch_liac_arffrÔ   s        r   Ú$test_fetch_openml_difference_parsersr  ?  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Ü  _  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.  r0  rÇ  r�   i  r…   iö  i7  i¤  i4  )r€  rÕ  rÖ  r×  rØ  rÙ  rÚ  rÛ  r-   r-   r   r   Údatasets_missing_valuesrà  R  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 )rL   ©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_intsrP   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   z0ignore:The default value of `parser` will changez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¥   Úraisesrr   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_pandasú.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c                 ó  — dddœ}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)zICheck that we raise a warning that pandas will be required in the future.Fr  r  r•   r  r	  TzGFrom version 1.4, `parser='auto'` with `as_frame=False` will use pandasrþ  r€   Nr-   )r   r   r
  r�   r¥   ÚwarnsÚFutureWarningr   )r°   r  r€   Úwarn_msgs       r   Ú+test_fetch_openml_requires_pandas_in_futurer  þ  s  € à¨6Ð2Ð2€FØ€Gð
IÝÐ@ÑAÔAÐAõ ÐGÑHÔHÐHøõ ð 4ð 4ð 4Ý(¨°g¸tÑDÔDÐDàUð 	õ Œ\�-¨xÐ8Ñ8Ô8ð 	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ÁA<Á.BÁ<B 	Â BÂB 	Â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   rr   r   r  s       r   Ú#test_fetch_openml_sparse_arff_errorr    sÑ   € õ0 Ô˜Ñ!Ô!Ð!Ø€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¬¦  «        }|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£   r  N)
r¥   r¦   r�   r   r«   Úscipyr  Ú
csr_matrixr©   r   )r°   r€   Ú	data_typerµ   r   Úklasss         r   Útest_fetch_openml_auto_moder  5  st   € õ 
Ô	˜XÑ	&Ô	&€Bå$ [°'¸4Ñ@Ô@Ð@Ý °&ÀÈuÐUÑUÔU€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�   r  ÚUserWarningr   r   )r°   r€   rf   s      r   Ú:test_convert_arff_data_dataframe_warning_low_memory_pandasr  J  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          | ||¦  «         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†   zƒMultiple active versions of the dataset matching the name iris exist. Versions may be fundamentally different, returning version 1.rþ  Fr�   )r‡   r¢   r£   rœ   N©r�   r¥   r  r  r   )r°   rP   r€   Ú	data_namerf   s        r   Ú,test_fetch_openml_iris_warn_multiple_versionr#  ^  sÈ   € ð €GØ€Iå$ [°'¸=ÑIÔIÐIð	ð õ
 
Œ•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°   rP   r€   rõ   Úexpected_observationsÚexpected_featuresr   s          r   Útest_fetch_openml_no_targetr(  u  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°   rP   rœ   r€   ÚpenguinsÚ	cat_dtypes         r   Útest_missing_values_pandasr1  ‰  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.r2  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°   rP   r±   r€   rf   r3  s         r   Útest_fetch_openml_inactiver7  Ÿ  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°   rP   r€   r  Úerr_typer  rœ   s          r   Útest_fetch_openml_errorr;  ´  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  r:  r  s      r   Ú)test_fetch_openml_raises_illegal_argumentr>  í  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°   rP   r€   Úexpected_row_id_msgÚexpected_ignore_msgÚ
target_colrf   s          r   Útest_warn_ignore_attributerF    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°   rP   r€   rf   s       r   Útest_dataset_with_openml_errorrI  =  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*  r!  rH  s       r   Ú test_dataset_with_openml_warningrL  F  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rJ  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€   rP   Tr¾   Úread_csv_kwargsÚskipinitialspacec              3   ó@   K  — | ]}|                      d ¦  «        V — ŒdS ©ú N©rH   ©rå  rË   s     r   ú	<genexpr>zFtest_fetch_openml_overwrite_default_params_read_csv.<locals>.<genexpr>b  s?   è è € ð ð Ø #ˆ�Š�sÑÔðð ð ð ð ð r   rå   c              3   ó@   K  — | ]}|                      d ¦  «        V — ŒdS rS  rU  rV  s     r   rW  zFtest_fetch_openml_overwrite_default_params_read_csv.<locals>.<genexpr>e  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_csvr\  O  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_FILErB  ÚstrÚmkdirr   r
   ÚosÚpathÚisfiler    )	r°   rP   Útmpdirr€   Úopenml_pathÚcache_directoryÚ	response1ÚlocationÚ	response2s	            r   Útest_open_openml_url_cacherk  o  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‚   r^  c                 ó    •— ‰r=t          ‰d¦  «        5 }|                     d¦  «         d d d ¦  «         n# 1 swxY w Y   t          d¦  «        ‚)NÚwÚ úInvalid request)rx   Úwriterr   )rs   rt   ru   rL   ri  rl  s       €€r   rv   z>test_open_openml_url_unlinks_local_path.<locals>._mock_urlopen‡  s‹   ø€ Øð 	Ý�h Ñ$Ô$ð ¨Ø—’˜‘”�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð åÐ*Ñ+Ô+Ð+s   ”6¶:½:rw   rq  rþ  )r|   r}   r~   r_  rB  r`  ra  r
   r{   r¥   r   rr   r   rb  rc  Úexists)r°   re  rl  r€   rf  rg  rv   ri  s     `    @r   Ú'test_open_openml_url_unlinks_local_pathrt  €  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‚   r^  ro  rp  c                  ód   •— t           j                             ‰ ¦  «        rt          d¦  «        ‚dS )NzFile exist!r…   )rb  rc  rs  Ú	Exception)ri  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_  rB  r`  ra  r
   rb  Úmakedirsrc  Údirnamerx   rr  r   r¥   r  ÚRuntimeWarning)	re  r€   rf  rg  rL   rx  r  Úresultri  s	           @r   Útest_retry_with_clean_cacher}  •  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‚   r^  c                  ó*   — t          d ddd d ¬¦  «        ‚)Nrb   rc   rd   r   r-   r   r   rx  z:test_retry_with_clean_cache_http_error.<locals>._load_data±  s%   € åØ˜3Ð$:ÀÈ$ð
ñ 
ô 
ð 	
r   rc   rþ  )r|   r}   r~   r_  rB  r`  ra  r   r¥   r   r   )re  r€   rf  rg  rx  Ú	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)rr   rp   ©rs   rt   ru   s      r   Ú_mock_urlopen_raisez4test_fetch_openml_cache.<locals>._mock_urlopen_raise¾  s/   € Ýð ð ×"Ò"Ñ$Ô$ñ%ñ
ô 
ð 	
r   r‚   r^  TFr�   )r€   r£   r7   r   r¢   rœ   rw   )r`  ra  r�   r   r{   r|   r}   r~   r¹   rÐ   r   )
r°   rP   re  r…  r€   rg  Ú	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                 óZ  ‡‡— |s|dk    rt          j        d¦  «         d}t          | |d¦  «         t          dz   d|› �z   }d}|dz  Št	          ||¦  «        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‰   Tr9   r:   zdata-v1-dl-1666876.arff.gzztest_invalid_checksum.arffrG   é%   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/1666876rG   Tr'   )rp   Úendswithrx   r    r   r   )rs   rt   ru   rA   rL   Ú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 rw   Fr*  Ú1666876)r¥   r¦   r�   ry   r   r&   rx   Ú	bytearrayr    r?   ÚGzipFilerr  r|   r}   r~   rw   r{   r   rr   r   rÿ  )r°   r¢   r£   re  rœ   r€   Úoriginal_data_moduleÚoriginal_data_file_nameÚ	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ÐØ:ÐØÐ!=Ñ=ÐÝ	Ð*Ð,CÑ	DÔ	Dð !È	Ý”I˜i¨Ñ.Ô.ˆ	Ý˜ŸšÑ)Ô)Ñ*Ô*ˆØ ˆ�S�‰YŒY˜‰]Ñð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !õ
 
ŒÐ(¨$Ñ	/Ô	/ð "°=Ø×Ò˜DÑ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "õ  Ô(Ô0Ô8Ðð.ð .ð .ð .ð .ð .ð ×Ò�Ô(Ô0°)¸^ÑLÔLÐLõ 
Œ•zÑ	"Ô	"ð 
 cÝÔ×%Ò%Ø 5°8ÀFð 	&ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð
 �9Š9�YÑÔÐÐÐÐÐs7   ÁAB1Â1B5Â8B5ÃC3Ã3C7Ã:C7Å$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                 ó(   — t          dddd d ¦  «        ‚)Nrp  i”  úSimulated network errorr   r„  s      r   Ú_mock_urlopen_network_errorzPtest_open_openml_url_retry_on_network_error.<locals>._mock_urlopen_network_error  s   € Ý˜˜CÐ!:¸DÀ$ÑGÔGÐGr   rw   zinvalid-urlz+A network error occurred while downloading z. Retrying...rþ  r   r   )Údelayr÷   )r{   r|   r}   r~   r¥   r  r  r=   Úescaper	   r   r   r   r?   )r°   r¡  Úinvalid_openml_urlÚrecords       r   Ú+test_open_openml_url_retry_on_network_errorr¦    sž  € ðHð Hð Hð ×ÒÝÔÔ  )Ð-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°   rP   rœ   r€   Údatasets        r   Ú&test_fetch_openml_with_ignored_featurer­  3  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˜   FrO  T©r¢   r£   r€   rœ   r�   ú'r­  )rœ   rõ   rå   Nr-   )r¥   r¦   r�   r   rÐ   r  r­   r`  rH   r.  r�  rª   )r°   rµ   r€   rY  Úmice_pandasÚmice_liac_arffs         r   Útest_fetch_openml_strip_quotesr³  I  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ž   rN  FrO  Tr¯  rœ   r�   rå   Nr-   )r¥   r¦   r�   r   rÐ   r  rª   ©r°   rµ   r€   rY  Úadult_pandasÚadult_liac_arffs         r   Ú$test_fetch_openml_leading_whitespacer¸  f  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¤  FrO  Tr¯  rœ   r�   Nr-   )r¥   r¦   r�   r   rÐ   rÑ   rª   rµ  s         r   Ú&test_fetch_openml_quotechar_escapecharrº  x  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   c                 óþ   — t          j        d¦  «         d}t          | |d¬¦  «         t          j        t          d¬¦  «        5  t
          j                             |¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )	z?Check that we raise a deprecation warning for parser parameter.rž   r‚   FrO  z)The default value of `parser` will changerþ  )r€   N)r¥   r¦   r�   r  r  r|   r}   r   )r°   r€   s     r   Ú$test_fetch_openml_deprecation_parserr¼  �  sÂ   € å
Ô˜Ñ!Ô!Ð!Ø€GÝ$ [¸'ÐQVÐWÑWÔWÐWå	Œ•mÐ+VÐ	WÑ	WÔ	Wð 7ð 7ÝÔ×%Ò%¨gÐ%Ñ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð 7ð 7s   Á!A2Á2A6Á9A6)VÚ__doc__r&   ri   rb  r=   Ú	functoolsr   Úior   Úurllib.errorr   Únumpyr¹   r¥   Úscipy.sparser  r|   r   Úsklearn.datasetsr   Úfetch_openml_origÚsklearn.datasets._openmlr	   r
   r   r   Úsklearn.utilsr   r   Úsklearn.utils._testingr   r   r   r   Úsklearn.utils.fixesr   ry   rz   r   r�   ÚmarkÚparametrizer·   r¼   rÙ   rÝ   rô   rý   r  r  r  ÚfixturerÜ  rà  rû  Úfilterwarningsr  r  r  r  r  r  r#  r(  r1  r7  rr   ÚKeyErrorr;  r>  rF  rI  rL  r\  rk  rt  r}  r�  rŠ  r�  r¦  r­  r³  r¸  rº  r¼  r-   r   r   ú<module>rÎ     sª  ðØ Ð Ø €€€Ø €€€Ø 	€	€	€	Ø 	€	€	€	Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø €€€Ø Ð Ð Ð à €€€Ø "Ð "Ð "Ð "Ð "Ð "Ø >Ð >Ð >Ð >Ð >Ð >ðð ð ð ð ð ð ð ð ð ð ð ð 6Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5ðð ð ð ð ð ð ð ð ð ð ð ð -Ð ,Ð ,Ð ,Ð ,Ð ,à>Ð à€ðð ð ð ð ñ ô ð ð< ˆwÐ(°DÐ9Ñ9Ô9€ðrLð rLð rLðv Ø„×ÒØ?ð 
ˆ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)-ðb „×ÒÐNÑOÔOØ„×ÒØð �yÐ!ØHð	
ð
 ˜Ð#ØJð	
ð	ñô ð0ð 0ñô ñ PÔOð0ð „×ÒØà VÐ,Ð,Ø vÐ.Ð.Ø hÐ/Ð/ðñô ðIð Iñô ðIðIð Ið Ið" „×ÒÐPÑQÔQà„×ÒÐNÑOÔOØ„×ÒØð �xÐ ØHð	
ð
 ˜ÐØGð	
ð
  ¨TÐ2Ð2ØGð	
ðñô ð"
ð 
ñ#ô ñ PÔOñ RÔQð(
ð$ Ø„×ÒÐPÑQÔQØ„×ÒØàØðñô ð(ð (ñô ñ RÔQñ „ð(ð ðð ñ „ðð& „×Ò˜¨4°¨-Ñ8Ô8ð
ð 
ñ 9Ô8ð
ð, „×Ò˜¨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ðJ Ø„×ÒØðð ð ñô ð* ð * ñô ñ „ð* ðZ ð  ð  ð4 „×Ò˜¨4°¨-Ñ8Ô8Ø„×Ò˜Ð#:Ñ;Ô;ð4ð 4ñ <Ô;ñ 9Ô8ð4ð(Bð Bð Bð:ð ð ð$Mð Mð Mð*7ð 7ð 7ð 7ð 7r   