Ë
    ÷Q(hU.  ã                   ó  — d Z ddlZddlmZ ddlmZmZ ddlmZm	Z	m
Z
 ddlmZm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mZmZ ddlmZ ddlmZm Z m!Z!m"Z" ddl#m$Z$  eddd¬«       eddd¬«       eddd¬«       eddd¬«       eddd¬«      fZ% edd d!¬«      Z& ejN                  e(«      Z) ee*edg eh d"£«      gd#gd$gd#gd#g eeddd%¬&«      g eed'dd(¬&«      gd)œd*¬+«      dd,d*dd-d-d.d/d)œd0„«       Z+d1„ Z,d2„ Z-y)3zhRCV1 dataset.

The dataset page is available at

    http://jmlr.csail.mit.edu/papers/volume5/lewis04a/
é    N)ÚGzipFile)ÚIntegralÚReal)ÚPathLikeÚmakedirsÚremove)ÚexistsÚjoiné   )ÚBunch)Úshuffle)ÚIntervalÚ
StrOptionsÚvalidate_paramsé   )Úget_data_home)ÚRemoteFileMetadataÚ_fetch_remoteÚ_pkl_filepathÚ
load_descr)Úload_svmlight_filesz.https://ndownloader.figshare.com/files/5976069Ú@ed40f7e418d10484091b059703eeb95ae3199fe042891dcec4be6696b9968374z lyrl2004_vectors_test_pt0.dat.gz)ÚurlÚchecksumÚfilenamez.https://ndownloader.figshare.com/files/5976066Ú@87700668ae45d45d5ca1ef6ae9bd81ab0f5ec88cc95dcef9ae7838f727a13aa6z lyrl2004_vectors_test_pt1.dat.gzz.https://ndownloader.figshare.com/files/5976063Ú@48143ac703cbe33299f7ae9f4995db49a258690f60e5debbff8995c34841c7f5z lyrl2004_vectors_test_pt2.dat.gzz.https://ndownloader.figshare.com/files/5976060Ú@dfcb0d658311481523c6e6ca0c3f5a3e1d3d12cde5d7a8ce629a9006ec7dbb39z lyrl2004_vectors_test_pt3.dat.gzz.https://ndownloader.figshare.com/files/5976057Ú@5468f656d0ba7a83afc7ad44841cf9a53048a5c083eedc005dcdb5cc768924aezlyrl2004_vectors_train.dat.gzz.https://ndownloader.figshare.com/files/5976048Ú@2a98e5e5d8b770bded93afc8930d88299474317fe14181aee1466cc754d0d1c1zrcv1v2.topics.qrels.gz>   ÚallÚtestÚtrainÚbooleanÚrandom_stateÚleft)Úclosedg        Úneither)Ú	data_homeÚsubsetÚdownload_if_missingr%   r   Ú
return_X_yÚ	n_retriesÚdelayT)Úprefer_skip_nested_validationr!   Fé   g      ð?c                 óB	  — d}d}	d}
d}t        | ¬«      } t        | d«      }|rt        |«      st        |«       t	        |d«      }t	        |d«      }t	        |d	«      }t	        |d
«      }|�r[t        |«      rt        |«      �sDg }t
        D ]N  }t        j                  d|j                  z  «       t        ||||¬«      }|j                  t        |¬«      «       ŒP t        ||	¬«      }t        j                  |d   |d   |d   |d   |d   g«      j                  «       }t!        j"                  |d   |d   |d   |d   |d   f«      }|j%                  t         j&                  d¬«      }t)        j*                  ||d¬«       t)        j*                  ||d¬«       |D ]'  }|j-                  «        t/        |j0                  «       Œ) n*t)        j2                  |«      }t)        j2                  |«      }|�rêt        |«      rt        |«      �sÓt        j                  dt4        j                  z  «       t        t4        |||¬«      }d}d}d}t!        j6                  ||
ft         j8                  ¬«      }t!        j6                  |t         j:                  ¬«      }i }t        |d¬«      5 }|D ]k  }|j=                  d «      j?                  d!«      } tA        | «      dk(  sŒ2| \  }!}"}#|!|vr
|dz  }|||!<   tC        |"«      }"|"|k7  r|"}|dz  }|"||<   d||||!   f<   Œm 	 d"d"d"«       t/        |«       tE        ||«      }$||$d"d"…f   }t!        jF                  |
tH        ¬«      }%|jK                  «       D ]
  }&|&|%||&   <   Œ t!        jL                  |%«      }'|%|'   }%t        jN                  |d"d"…|'f   «      }t)        j*                  ||d¬«       t)        j*                  |%|d¬«       n*t)        j2                  |«      }t)        j2                  |«      }%|d#k(  rnP|d$k(  r|d"|…d"d"…f   }|d"|…d"d"…f   }|d"| }n/|d%k(  r||d"…d"d"…f   }||d"…d"d"…f   }||d" }ntQ        d&|z  «      ‚|rtS        ||||¬'«      \  }}}tU        d(«      }(|r||fS tW        ||||%|(¬)«      S # 1 sw Y   �ŒxY w)*a-  Load the RCV1 multilabel dataset (classification).

    Download it if necessary.

    Version: RCV1-v2, vectors, full sets, topics multilabels.

    =================   =====================
    Classes                               103
    Samples total                      804414
    Dimensionality                      47236
    Features            real, between 0 and 1
    =================   =====================

    Read more in the :ref:`User Guide <rcv1_dataset>`.

    .. versionadded:: 0.17

    Parameters
    ----------
    data_home : str or path-like, default=None
        Specify another download and cache folder for the datasets. By default
        all scikit-learn data is stored in '~/scikit_learn_data' subfolders.

    subset : {'train', 'test', 'all'}, default='all'
        Select the dataset to load: 'train' for the training set
        (23149 samples), 'test' for the test set (781265 samples),
        'all' for both, with the training samples first if shuffle is False.
        This follows the official LYRL2004 chronological split.

    download_if_missing : bool, default=True
        If False, raise an OSError if the data is not locally available
        instead of trying to download the data from the source site.

    random_state : int, RandomState instance or None, default=None
        Determines random number generation for dataset shuffling. Pass an int
        for reproducible output across multiple function calls.
        See :term:`Glossary <random_state>`.

    shuffle : bool, default=False
        Whether to shuffle dataset.

    return_X_y : bool, default=False
        If True, returns ``(dataset.data, dataset.target)`` instead of a Bunch
        object. See below for more information about the `dataset.data` and
        `dataset.target` object.

        .. versionadded:: 0.20

    n_retries : int, default=3
        Number of retries when HTTP errors are encountered.

        .. versionadded:: 1.5

    delay : float, default=1.0
        Number of seconds between retries.

        .. versionadded:: 1.5

    Returns
    -------
    dataset : :class:`~sklearn.utils.Bunch`
        Dictionary-like object. Returned only if `return_X_y` is False.
        `dataset` has the following attributes:

        - data : sparse matrix of shape (804414, 47236), dtype=np.float64
            The array has 0.16% of non zero values. Will be of CSR format.
        - target : sparse matrix of shape (804414, 103), dtype=np.uint8
            Each sample has a value of 1 in its categories, and 0 in others.
            The array has 3.15% of non zero values. Will be of CSR format.
        - sample_id : ndarray of shape (804414,), dtype=np.uint32,
            Identification number of each sample, as ordered in dataset.data.
        - target_names : ndarray of shape (103,), dtype=object
            Names of each target (RCV1 topics), as ordered in dataset.target.
        - DESCR : str
            Description of the RCV1 dataset.

    (data, target) : tuple
        A tuple consisting of `dataset.data` and `dataset.target`, as
        described above. Returned only if `return_X_y` is True.

        .. versionadded:: 0.20

    Examples
    --------
    >>> from sklearn.datasets import fetch_rcv1
    >>> rcv1 = fetch_rcv1()
    >>> rcv1.data.shape
    (804414, 47236)
    >>> rcv1.target.shape
    (804414, 103)
    i>F i„¸  ég   imZ  )r)   ÚRCV1zsamples.pklzsample_id.pklzsample_topics.pklztopics_names.pklzDownloading %s)Údirnamer-   r.   )r   )Ú
n_featuresé   r   r   é   é   é	   r   r0   é   é   F)Úcopy)Úcompresséÿÿÿÿ©ÚdtypeÚrb)r   ÚmodeÚasciiú Nr!   r#   r"   zLUnknown subset parameter. Got '%s' instead of one of ('all', 'train', test'))r%   zrcv1.rst)ÚdataÚtargetÚ	sample_idÚtarget_namesÚDESCR),r   r
   r	   r   r   ÚXY_METADATAÚloggerÚinfor   r   Úappendr   r   ÚspÚvstackÚtocsrÚnpÚhstackÚastypeÚuint32ÚjoblibÚdumpÚcloser   ÚnameÚloadÚTOPICS_METADATAÚzerosÚuint8Úint32ÚdecodeÚsplitÚlenÚintÚ_find_permutationÚemptyÚobjectÚkeysÚargsortÚ
csr_matrixÚ
ValueErrorÚshuffle_r   r   ))r)   r*   r+   r%   r   r,   r-   r.   Ú	N_SAMPLESÚ
N_FEATURESÚN_CATEGORIESÚN_TRAINÚrcv1_dirÚsamples_pathÚsample_id_pathÚsample_topics_pathÚtopics_pathÚfilesÚeachÚ	file_pathÚXyÚXrG   ÚfÚtopics_archive_pathÚn_catÚn_docÚdoc_previousÚyÚsample_id_bisÚcategory_namesÚlineÚline_componentsÚcatÚdocÚ_ÚpermutationÚ
categoriesÚkÚorderÚfdescrs)                                            úT/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sklearn/datasets/_rcv1.pyÚ
fetch_rcv1r‹   L   s©  € ðf €IØ€JØ€LØ€Gä¨	Ô2€IÜ�I˜vÓ&€HÙÜ�hÔÜ�XÔä  ¨=Ó9€LÜ" 8¨_Ó=€NÜ& xÐ1DÓEÐÜ Ð*<Ó=€Kò ¤F¨<Ô$8ÄÀ~Õ@VØˆÜò 	7ˆDÜ�K‰KÐ(¨4¯8©8Ñ3Ô4Ü%Ø˜h°)À5ôˆIð �L‰Lœ¨9Ô5Õ6ð	7ô ! °:Ô>ˆô �I‰I�r˜!‘u˜b ™e R¨¡U¨B¨q©E°2°a±5Ð9Ó:×@Ñ@ÓBˆÜ—I‘I˜r !™u b¨¡e¨R°©U°B°q±E¸2¸a¹5ÐAÓBˆ	Ø×$Ñ$¤R§Y¡Y°UÐ$Ó;ˆ	ä�‰�A�|¨aÕ0Ü�‰�I˜~¸Õ:ð ò 	ˆAØ�G‰GŒIÜ�1—6‘6�Nñ	ô �K‰K˜Ó%ˆÜ—K‘K Ó/ˆ	ò ÜÐ%Ô&¬f°[Õ.Aä�‰Ð$¤×':Ñ':Ñ:Ô;Ü+Ü X¸È%ô
Ðð
 ˆØˆØˆÜ�H‰H�i Ð.´b·h±hÔ?ˆÜŸ™ ´"·(±(Ô;ˆØˆÜÐ2¸Ô>ð 	6À!Øò 6�Ø"&§+¡+¨gÓ"6×"<Ñ"<¸SÓ"A�Ü�Ó'¨1Ó,Ø"1‘K�C˜˜aØ .Ñ0Ø ™
˜Ø.3˜ sÑ+ä˜c›(�CØ˜lÒ*Ø'*˜Ø ™
˜Ø/2˜ eÑ,Ø45�A�e˜^¨CÑ0Ð0Ò1ñ6÷	6ô" 	Ð"Ô#ô (¨°yÓAˆØˆkš1ˆnÑˆô —X‘X˜l´&Ô9ˆ
Ø×$Ñ$Ó&ò 	.ˆAØ,-ˆJ�~ aÑ(Ò)ð	.ô —
‘
˜:Ó&ˆØ Ñ&ˆ
Ü�M‰M˜!šA˜u˜H™+Ó&ˆä�‰�AÐ)°AÕ6Ü�‰�J °aÖ8ä�K‰KÐ*Ó+ˆÜ—[‘[ Ó-ˆ
à�‚ØØ	�7Ò	Øˆhˆwˆhšˆk‰NˆØˆhˆwˆhšˆk‰NˆØ˜h˜wÐ'‰	Ø	�6Ò	Øˆg‰hšˆk‰NˆØˆg‰hšˆk‰NˆØ˜g˜hÐ'‰	äð*Ø,2ñ3ó
ð 	
ñ
 Ü" 1 a¨ÀÔN‰ˆˆ1ˆiä˜
Ó#€FáØ�!ˆtˆäØ�q I¸JÈfôð ÷A	6ñ 	6ús   Ê%4RË<RÒRc                 óà   — | j                   }t        j                  |t        j                  ¬«      }t        j                  |t        j                  ¬«      }t        j
                  || |«       |S )zInverse permutation p.r?   )ÚsizerQ   r[   r]   ÚarangeÚput)ÚpÚnÚsÚis       rŠ   Ú_inverse_permutationr”   @  sG   € à	�‰€AÜ
�‰�œ"Ÿ(™(Ô#€AÜ
�	‰	�!œ2Ÿ8™8Ô$€AÜ‡F�Fˆ1ˆa�„OØ€Hó    c                 óv   — t        j                  | «      }t        j                  |«      }t        |«      }||   S )z!Find the permutation from a to b.)rQ   rf   r”   )ÚaÚbÚtÚuÚu_s        rŠ   rb   rb   I  s/   € ä
�
‰
�1‹€AÜ
�
‰
�1‹€AÜ	˜aÓ	 €BØˆR‰5€Lr•   ).Ú__doc__ÚloggingÚgzipr   Únumbersr   r   Úosr   r   r   Úos.pathr	   r
   rU   ÚnumpyrQ   Úscipy.sparseÚsparserN   Úutilsr   r   ri   Úutils._param_validationr   r   r   Ú r   Ú_baser   r   r   r   Ú_svmlight_format_ior   rJ   rZ   Ú	getLoggerÚ__name__rK   Ústrr‹   r”   rb   © r•   rŠ   ú<module>r®      se  ðñó Ý ß "ß )Ñ )ß  ã Û Ý å Ý 'ß KÑ KÝ ß OÓ OÝ 4ñ Ø<ØSØ3ôñ
 Ø<ØSØ3ôñ
 Ø<ØSØ3ôñ
 Ø<ØSØ3ôñ
 Ø<ØSØ0ôð+€ñ< %Ø8ØOØ%ô€ð 
ˆ×	Ñ	˜8Ó	$€ñ à˜8 TÐ*ÙÒ6Ó7Ð8Ø )˜{Ø'Ð(Ø�;Ø �kÙ˜x¨¨D¸Ô@ÐAÙ˜4  d°9Ô=Ð>ñ	ð #'ôð ØØØØØØØ
ódóðdòNór•   