
    ёi                        S SK Jr  S SKJrJrJr  S SKrS SKrS SK	J
r
  S SKJr  \(       a  S SKJr  S SKJr  \S   r/ rSrS	r/ S
Qr " S S\5      rg)    )annotations)TYPE_CHECKINGAnyLiteralN)_check_exists_and_download)Dataset)_DTypeLiteraltraintestz:http://paddlemodels.bj.bcebos.com/uci_housing/housing.data d4accdce7a25600298819f8e28e8d593)CRIMZNINDUSCHASNOXRMAGEDISRADTAXPTRATIOBLSTATc                      \ rS rSr% SrS\S'   S\S'   S\S'      S       SS
 jjrSSS jjr    SS jrSS jr	Sr
g	)
UCIHousing3   a  
Implementation of `UCI housing <https://archive.ics.uci.edu/ml/datasets/Housing>`_
dataset

Args:
    data_file(str|None): path to data file, can be set None if
        :attr:`download` is True. Default None.
    mode(str): 'train' or 'test' mode. Default 'train'.
    download(bool): whether to download dataset automatically if
        :attr:`data_file` is not set. Default True.

Returns:
    Dataset: instance of UCI housing dataset.

Examples:

    .. code-block:: pycon

        >>> import paddle
        >>> from paddle.text.datasets import UCIHousing

        >>> class SimpleNet(paddle.nn.Layer):
        ...     def __init__(self):
        ...         super().__init__()
        ...
        ...     def forward(self, feature, target):
        ...         return paddle.sum(feature), target

        >>> paddle.disable_static()

        >>> uci_housing = UCIHousing(mode='train')

        >>> for i in range(10):
        ...     feature, target = uci_housing[i]
        ...     feature = paddle.to_tensor(feature)
        ...     target = paddle.to_tensor(target)
        ...
        ...     model = SimpleNet()
        ...     feature, target = model(feature, target)
        ...     print(feature.shape, target.numpy())
        paddle.Size([]) [24.]
        paddle.Size([]) [21.6]
        paddle.Size([]) [34.7]
        paddle.Size([]) [33.4]
        paddle.Size([]) [36.2]
        paddle.Size([]) [28.7]
        paddle.Size([]) [22.9]
        paddle.Size([]) [27.1]
        paddle.Size([]) [16.5]
        paddle.Size([]) [18.9]

_UciHousingDataSetModemode
str | None	data_filer	   dtypeNc                8   UR                  5       S;   d
   SU 35       eUR                  5       U l        Xl        U R                  c*  U(       d   S5       e[        U[        [
        SU5      U l        U R                  5         [        R                  " 5       U l	        g )Nr
   z*mode should be 'train' or 'test', but got z>data_file is not set and downloading automatically is disableduci_housing)
lowerr   r!   r   URLMD5
_load_datapaddleget_default_dtyper"   )selfr!   r   downloads       `/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/paddle/text/datasets/uci_housing.py__init__UCIHousing.__init__m   s     zz|  
 
 	? 8v>	? 
 JJL	">>! P8 83]HDN
 	--/
    c                   [         R                  " U R                  SS9nUR                  UR                  S   U-  U5      nUR                  SS9UR                  SS9UR                  SS9UR                  S   -  pen[        US-
  5       H"  nUS S 2U4   Xg   -
  XG   XW   -
  -  US S 2U4'   M$     [        UR                  S   U-  5      nU R                  S:X  a  US U U l        g U R                  S:X  a
  X8S  U l        g g )N )sepr   )axis   r   r   )npfromfiler!   reshapeshapemaxminsumrangeintr   data)	r+   feature_numratior?   maximumsminimumsavgsioffsets	            r-   r(   UCIHousing._load_data   s    {{4>>s3||DJJqM[8+FHH!HHH!HHH!Htzz!}, !
 {Q'Aq!t*tw.8;3LMDAJ (TZZ]U*+99WfDIYY& WDI !r0   c                    U R                   U   n[        R                  " US S 5      R                  U R                  5      [        R                  " USS  5      R                  U R                  5      4$ )N)r?   r6   arrayastyper"   )r+   idxr?   s      r-   __getitem__UCIHousing.__getitem__   s^     yy~xxSb	"))$**5rxxI8

&
 	r0   c                ,    [        U R                  5      $ )N)lenr?   )r+   s    r-   __len__UCIHousing.__len__   s    499~r0   )r?   r!   r"   r   )Nr   T)r!   r    r   r   r,   boolreturnNone)   g?)r@   r>   rA   floatrT   rU   )rL   r>   rT   z)tuple[npt.NDArray[Any], npt.NDArray[Any]])rT   r>   )__name__
__module____qualname____firstlineno____doc____annotations__r.   r(   rM   rQ   __static_attributes__ r0   r-   r   r   3   sq    3j !  !%'.	00 %0 	0
 
04& 	2r0   r   )
__future__r   typingr   r   r   numpyr6   r)   paddle.dataset.commonr   	paddle.ior   numpy.typingnptpaddle._typing.dtype_liker	   r   __all__r&   r'   feature_namesr   r_   r0   r-   <module>rj      sT    # . .   < 7$_5
B("m mr0   