電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>PyTorch教程之?dāng)?shù)據(jù)預(yù)處理

PyTorch教程之?dāng)?shù)據(jù)預(yù)處理

2023-06-02 | pdf | 0.14 MB | 次下載 | 免費(fèi)

資料介紹

到目前為止,我們一直在處理以現(xiàn)成張量形式到達(dá)的合成數(shù)據(jù)。然而,要在野外應(yīng)用深度學(xué)習(xí),我們必須提取以任意格式存儲(chǔ)的雜亂數(shù)據(jù),并對(duì)其進(jìn)行預(yù)處理以滿足我們的需要。幸運(yùn)的是,pandas 庫(kù)可以完成大部分繁重的工作。本節(jié)雖然不能替代適當(dāng)?shù)?/font>pandas 教程,但將為您提供一些最常見(jiàn)例程的速成課程。

2.2.1. 讀取數(shù)據(jù)集

逗號(hào)分隔值 (CSV) 文件普遍用于存儲(chǔ)表格(類似電子表格)數(shù)據(jù)。此處,每一行對(duì)應(yīng)一個(gè)記錄并由多個(gè)(逗號(hào)分隔)字段組成,例如,“Albert Einstein,March 14 1879,Ulm,Federal polytechnic school,Accomplishments in the field of gravitational physics”。為了演示如何加載 CSV 文件pandas,我們?cè)谙旅鎰?chuàng)建了一個(gè) CSV 文件 ../data/house_tiny.csv此文件表示房屋數(shù)據(jù)集,其中每一行對(duì)應(yīng)一個(gè)不同的房屋,列對(duì)應(yīng)房間數(shù) ( NumRooms)、屋頂類型 ( RoofType) 和價(jià)格 ( Price)。

import os

os.makedirs(os.path.join('..', 'data'), exist_ok=True)
data_file = os.path.join('..', 'data', 'house_tiny.csv')
with open(data_file, 'w') as f:
  f.write('''NumRooms,RoofType,Price
NA,NA,127500
2,NA,106000
4,Slate,178100
NA,NA,140000''')

現(xiàn)在讓我們導(dǎo)入pandas并加載數(shù)據(jù)集read_csv。

import pandas as pd

data = pd.read_csv(data_file)
print(data)
  NumRooms RoofType  Price
0    NaN   NaN 127500
1    2.0   NaN 106000
2    4.0  Slate 178100
3    NaN   NaN 140000
import pandas as pd

data = pd.read_csv(data_file)
print(data)
  NumRooms RoofType  Price
0    NaN   NaN 127500
1    2.0   NaN 106000
2    4.0  Slate 178100
3    NaN   NaN 140000
import pandas as pd

data = pd.read_csv(data_file)
print(data)
  NumRooms RoofType  Price
0    NaN   NaN 127500
1    2.0   NaN 106000
2    4.0  Slate 178100
3    NaN   NaN 140000
import pandas as pd

data = pd.read_csv(data_file)
print(data)
  NumRooms RoofType  Price
0    NaN   NaN 127500
1    2.0   NaN 106000
2    4.0  Slate 178100
3    NaN   NaN 140000

2.2.2. 數(shù)據(jù)準(zhǔn)備

在監(jiān)督學(xué)習(xí)中,我們訓(xùn)練模型在給定一組輸入值的情況下預(yù)測(cè)指定的目標(biāo)值。我們處理數(shù)據(jù)集的第一步是分離出對(duì)應(yīng)于輸入值和目標(biāo)值的列。我們可以按名稱或通過(guò)基于整數(shù)位置的索引 ( ) 選擇列iloc

您可能已經(jīng)注意到,pandas將所有 CSV 條目替換NA為一個(gè)特殊的NaN不是數(shù)字)值。這也可能在條目為空時(shí)發(fā)生,例如“3,,,270000”。這些被稱為缺失值,它們是數(shù)據(jù)科學(xué)的“臭蟲(chóng)”,是您在整個(gè)職業(yè)生涯中都會(huì)遇到的持續(xù)威脅。根據(jù)上下文,缺失值可以通過(guò) 插補(bǔ)刪除來(lái)處理。插補(bǔ)用缺失值的估計(jì)值替換缺失值,而刪除只是丟棄那些包含缺失值的行或列。

以下是一些常見(jiàn)的插補(bǔ)啟發(fā)法。對(duì)于分類輸入字段,我們可以將其視為NaN一個(gè)類別。由于該RoofType 列采用值SlateNaN,pandas可以將此列轉(zhuǎn)換為兩列RoofType_SlateRoofType_nan屋頂類型為的行將分別將Slate的值設(shè)置為 1 和 0。相反的情況適用于具有缺失值的行。RoofType_SlateRoofType_nanRoofType

inputs, targets = data.iloc[:, 0:2], data.iloc[:, 2]
inputs = pd.get_dummies(inputs, dummy_na=True)
print(inputs)
  NumRooms RoofType_Slate RoofType_nan
0    NaN        0       1
1    2.0        0       1
2    4.0        1       0
3    NaN        0       1
inputs, targets = data.iloc[:, 0:2], data.iloc[:, 2]
inputs = pd.get_dummies(inputs, dummy_na=True)
print(inputs)
  NumRooms RoofType_Slate RoofType_nan
0    NaN        0       1
1    2.0        0       1
2    4.0        1       0
3    NaN        0       1
inputs, targets = data.iloc[:, 0:2], data.iloc[:, 2]
inputs = pd.get_dummies(inputs, dummy_na=True)
print(inputs)
  NumRooms RoofType_Slate RoofType_nan
0    NaN        0       1
1    2.0        0       1
2    4.0        1       0
3    NaN        0       1
inputs, targets = data.iloc[:, 0:2], data.iloc[:, 2]
inputs = pd.get_dummies(inputs, dummy_na=True)
print(inputs)
  NumRooms RoofType_Slate RoofType_nan
0    NaN        0       1
1    2.0        0       1
2    4.0        1       0
3    NaN        0       1

對(duì)于缺失的數(shù)值,一種常見(jiàn)的啟發(fā)式方法是用 NaN相應(yīng)列的平均值替換條目。

inputs = inputs.fillna(inputs.mean())
print(inputs)
  NumRooms RoofType_Slate RoofType_nan
0    3.0        0       1
1    2.0        0       1
2    4.0        1       0
3    3.0        0       1
inputs = inputs.fillna(inputs.mean())
print(inputs)
  NumRooms RoofType_Slate RoofType_nan
0    3.0        0       1
1    2.0        0       1
2    4.0        1       0
3    3.0        0       1
inputs = inputs.fillna(inputs.mean())
print(inputs)
  NumRooms RoofType_Slate RoofType_nan
0    3.0        0       1
1    2.0        0       1
2    4.0        1       0
3    3.0        0       1
inputs = inputs.fillna(inputs.mean())
print(inputs)
  NumRooms RoofType_Slate RoofType_nan
0    3.0        0       1
1    2.0        0       1
2    4.0        1       0
3    3.0        0       1

2.2.3. 轉(zhuǎn)換為張量格式

inputs現(xiàn)在 和中的所有條目targets都是數(shù)字,我們可以將它們加載到張量中(回憶一下2.1 節(jié))。

import torch

X, y = torch.tensor(inputs.values), torch.tensor(targets.values)
X, y
(tensor([[3., 0., 1.],
     [2., 0., 1.],
     [4., 1., 0.],
     [3., 0., 1.]], dtype=torch.float64),
 tensor([127500, 106000, 178100, 140000]))
from mxnet import np

X, y = np.array(inputs.values), np.array(targets.values)
X, y
(array([[3., 0., 1.],
    [2., 0., 1.],
    [4., 1., 0.],
    [3., 0., 1.]], dtype=float64),
 array([127500, 106000, 178100, 140000], dtype=int64))
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)