o
    pi                     @   s   d Z ddlZddlZddlZddlZddlZddlm	Z	 g Z
dZdZg dZdadadZdZd	d
 ZdddZe	ddddddd Ze	ddddddd Zdd Ze	ddddddd Ze	ddddddd ZdS )z
UCI Housing dataset.

This module will download dataset from
https://archive.ics.uci.edu/ml/machine-learning-databases/housing/ and
parse training set and test set into paddle reader creators.
    N)
deprecatedz:http://paddlemodels.bj.bcebos.com/uci_housing/housing.dataZ d4accdce7a25600298819f8e28e8d593)ZCRIMZZNZINDUSZCHASZNOXZRMZAGEZDISZRADZTAXZPTRATIOBZLSTATzYhttps://github.com/PaddlePaddle/book/raw/develop/01.fit_a_line/fluid/fit_a_line.fluid.tarZ 6e6dd637ccd5993961f68bfbde46090bc                 C   s   dd l }|d dd lm} | \}}t| }|jtt|| | ddd |	d |
tt|t |d|g |d |d	 tjd
sStd
 |jddd || d S )Nr   ZAggrcenter)coloralignzfeature scale   
   z./imagezimage/ranges.png0   )Zdpi)
matplotlibZuseZmatplotlib.pyplotZpyplotZsubplotslenbarlistrange	set_titleZxticksfeature_namesZxlimZset_figheightZset_figwidthospathexistsmakedirsZsavefigclose)maximumsminimumsr   ZpltZfigaxfeature_num r   a/home/app/PaddleOCR-VL/.venv_paddleocr/lib/python3.10/site-packages/paddle/dataset/uci_housing.pyfeature_range:   s"   




r      皙?c           	      C   s   t d ur
td ur
d S tj| dd}||jd | |}|jdd|jdd|jdd|jd  }}}t	|d D ]}|d d |f ||  || ||   |d d |f< q;t
|jd | }|d | a ||d  ad S )N )sepr   )Zaxis   )UCI_TRAIN_DATAUCI_TEST_DATAnpfromfileZreshapeshapemaxminsumr   int)	filenamer   ratiodatar   r   Zavgsioffsetr   r   r   	load_dataP   s   


6r2   z2.0.0zpaddle.text.datasets.UCIHousingr#   z>Please use new dataset API which supports paddle.io.DataLoader)ZsinceZ	update_tolevelreasonc                  C   "   t tjjtdt dd } | S )z
    UCI_HOUSING training set creator.

    It returns a reader creator, each sample in the reader is features after
    normalization and price number.

    :return: Training reader creator
    :rtype: callable
    uci_housingc                  s   *    t D ]} | d d | dd  fV  qd S Nr   )r$   dr   r   r   readerx      ztrain.<locals>.readerr2   paddledatasetcommondownloadURLMD5r;   r   r   r   traine      rE   c                  C   r5   )z
    UCI_HOUSING test set creator.

    It returns a reader creator, each sample in the reader is features after
    normalization and price number.

    :return: Test reader creator
    :rtype: callable
    r6   c                  s   r7   r8   )r%   r9   r   r   r   r;      r<   ztest.<locals>.readerr=   rD   r   r   r   test   rF   rG   c                  C   s:   t jjtdtd} tj| dd}t	 }|j
|d |S )Nr6   zfit_a_line.fluid.tarr   )mode)r   )r>   r?   r@   rA   FLUID_URL_MODELFLUID_MD5_MODELtarfileTarFiletempfilemkdtemp
extractall)Zparameter_tartardirpathr   r   r   fluid_model   s   rR   c                   C   s(   t tjjtdt td dd fS )zh
    It returns just one tuple data to do inference.

    :return: one tuple data
    :rtype: tuple
    r6   r   Nr   )r2   r>   r?   r@   rA   rB   rC   r%   r   r   r   r   predict_reader   s   rS   c                   C   s   t jjtdt d S )Nr6   )r>   r?   r@   rA   rB   rC   r   r   r   r   fetch   s   rT   )r   r    )__doc__r   rK   rM   numpyr&   Zpaddle.dataset.commonr>   Zpaddle.utilsr   __all__rB   rC   r   r$   r%   rI   rJ   r   r2   rE   rG   rR   rS   rT   r   r   r   r   <module>   s\   



