chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內(nèi)不再提示

PyTorch教程-2.2.數(shù)據(jù)預(yù)處理

姬房有 ? 來(lái)源:wq644921241 ? 作者:wq644921241 ? 2023-06-02 09:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

逗號(hào)分隔值 (CSV) 文件普遍用于存儲(chǔ)表格(類(lèi)似電子表格)數(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)、屋頂類(lèi)型 ( 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)值的列。我們可以按名稱(chēng)或通過(guò)基于整數(shù)位置的索引 ( ) 選擇列。iloc

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

以下是一些常見(jiàn)的插補(bǔ)啟發(fā)法。對(duì)于分類(lèi)輸入字段,我們可以將其視為NaN一個(gè)類(lèi)別。由于該RoofType 列采用值SlateNaN,pandas可以將此列轉(zhuǎn)換為兩列RoofType_SlateRoofType_nan。屋頂類(lèi)型為的行將分別將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))
from jax import numpy as jnp X, y = jnp.array(inputs.values), jnp.array(targets.values) X, y
No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)
(Array([[3., 0., 1.],
    [2., 0., 1.],
    [4., 1., 0.],
    [3., 0., 1.]], dtype=float32),
 Array([127500, 106000, 178100, 140000], dtype=int32))
import tensorflow as tf X, y = tf.constant(inputs.values), tf.constant(targets.values) X, y
(<tf.Tensor: shape=(4, 3), dtype=float64, numpy=
 array([[3., 0., 1.],
    [2., 0., 1.],
    [4., 1., 0.],
    [3., 0., 1.]])>,
 <tf.Tensor: shape=(4,), dtype=int64, numpy=array([127500, 106000, 178100, 140000])>)

2.2.4. 討論

您現(xiàn)在知道如何對(duì)數(shù)據(jù)列進(jìn)行分區(qū)、估算缺失變量以及將pandas數(shù)據(jù)加載到張量中。第 5.7 節(jié)中,您將掌握更多數(shù)據(jù)處理技能。雖然這個(gè)速成課程讓事情變得簡(jiǎn)單,但數(shù)據(jù)處理可能會(huì)變得棘手。例如,我們的數(shù)據(jù)集可能分布在從關(guān)系數(shù)據(jù)庫(kù)中提取的多個(gè)文件中,而不是到達(dá)單個(gè) CSV 文件。例如,在電子商務(wù)應(yīng)用程序中,客戶(hù)地址可能存在于一個(gè)表中,而購(gòu)買(mǎi)數(shù)據(jù)則存在于另一個(gè)表中。此外,從業(yè)者還面臨著分類(lèi)和數(shù)字以外的無(wú)數(shù)數(shù)據(jù)類(lèi)型。其他數(shù)據(jù)類(lèi)型包括文本字符串、圖像、音頻數(shù)據(jù)和點(diǎn)云。通常,需要先進(jìn)的工具和高效的算法來(lái)防止數(shù)據(jù)處理成為機(jī)器學(xué)習(xí)管道中的最大瓶頸。當(dāng)我們涉及計(jì)算機(jī)視覺(jué)和自然語(yǔ)言處理時(shí),就會(huì)出現(xiàn)這些問(wèn)題。最后,我們必須關(guān)注數(shù)據(jù)質(zhì)量。現(xiàn)實(shí)世界的數(shù)據(jù)集經(jīng)常受到異常值、傳感器錯(cuò)誤測(cè)量和記錄錯(cuò)誤的困擾,在將數(shù)據(jù)輸入任何模型之前必須解決這些問(wèn)題。數(shù)據(jù)可視化工具,例如 seaborn、 Bokehmatplotlib可以幫助您手動(dòng)檢查數(shù)據(jù)并形成關(guān)于您可能需要解決的問(wèn)題的直覺(jué)。

2.2.5. 練習(xí)

  1. 嘗試從UCI 機(jī)器學(xué)習(xí)存儲(chǔ)庫(kù)加載數(shù)據(jù)集,例如 Abalone并檢查它們的屬性。其中有多少缺失值?變量的哪一部分是數(shù)字的、分類(lèi)的或文本的?

  2. 嘗試按名稱(chēng)而不是按列號(hào)索引和選擇數(shù)據(jù)列。有關(guān)索引的 Pandas 文檔 包含有關(guān)如何執(zhí)行此操作的更多詳細(xì)信息。

  3. 您認(rèn)為您可以通過(guò)這種方式加載多大的數(shù)據(jù)集?可能有什么限制?提示:考慮讀取數(shù)據(jù)的時(shí)間、表示、處理和內(nèi)存占用。在筆記本電腦上試試這個(gè)。如果您在服務(wù)器上試用它會(huì)發(fā)生什么變化?

  4. 您將如何處理具有大量類(lèi)別的數(shù)據(jù)?如果類(lèi)別標(biāo)簽都是唯一的怎么辦?你應(yīng)該包括后者嗎?

  5. 你能想到什么 pandas 的替代品?如何從文件加載 NumPy 張量?查看Pillow,Python 圖像庫(kù)。



審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4848

    瀏覽量

    88923
  • 預(yù)處理
    +關(guān)注

    關(guān)注

    0

    文章

    33

    瀏覽量

    10736
  • pytorch
    +關(guān)注

    關(guān)注

    2

    文章

    812

    瀏覽量

    14424
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    機(jī)器學(xué)習(xí)為什么需要數(shù)據(jù)預(yù)處理

    數(shù)據(jù)預(yù)處理是準(zhǔn)備原始數(shù)據(jù)并使其適合機(jī)器學(xué)習(xí)模型的過(guò)程。這是創(chuàng)建機(jī)器學(xué)習(xí)模型的第一步也是關(guān)鍵的一步。 創(chuàng)建機(jī)器學(xué)習(xí)項(xiàng)目時(shí),我們并不總是遇到干凈且格式化的數(shù)據(jù)。在對(duì)
    的頭像 發(fā)表于 08-24 09:20 ?2562次閱讀
    機(jī)器學(xué)習(xí)為什么需要<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>預(yù)處理</b>

    請(qǐng)教大家一下關(guān)于數(shù)據(jù)預(yù)處理

    一般將獲得的加速度數(shù)據(jù)得進(jìn)行數(shù)據(jù)預(yù)處理,常見(jiàn)的預(yù)處理方法有去掉趨勢(shì)相、還得將離散的數(shù)值積分獲得振幅。請(qǐng)問(wèn)有做過(guò)的沒(méi),請(qǐng)教一下。
    發(fā)表于 06-07 11:16

    Pytorch模型訓(xùn)練實(shí)用PDF教程【中文】

    ,結(jié)構(gòu)與機(jī)器學(xué)習(xí)三大部分一致:第一章,介紹數(shù)據(jù)的劃分,預(yù)處理,數(shù)據(jù)增強(qiáng);第二章,介紹模型的定義,權(quán)值初始化,模型 Finetune;第三章,介紹各種損失函數(shù)及優(yōu)化器;第四章,介紹可視化工具,用于監(jiān)控
    發(fā)表于 12-21 09:18

    Python數(shù)據(jù)預(yù)處理方法

    機(jī)器學(xué)習(xí)-Python實(shí)踐Day3(特征工程--數(shù)據(jù)預(yù)處理2)
    發(fā)表于 06-03 15:55

    數(shù)據(jù)探索與數(shù)據(jù)預(yù)處理

    目錄1數(shù)據(jù)探索與數(shù)據(jù)預(yù)處理21.1 賽題回顧21.2 數(shù)據(jù)探索性分析與異常值處理21.3 相關(guān)性分析52特征工程82.1 光伏發(fā)電領(lǐng)域特征8
    發(fā)表于 07-12 08:37

    基于DSP CCS2.2實(shí)現(xiàn)指紋識(shí)別預(yù)處理系統(tǒng)

    本文選定100MHz DSP TMS320VC5402作為指紋信號(hào)的處理器,利用其流水線(xiàn)編碼的操作特點(diǎn),并結(jié)合指紋識(shí)別技術(shù),實(shí)現(xiàn)基于DSP CCS2.2的指紋識(shí)別預(yù)處理系統(tǒng)。
    發(fā)表于 05-31 10:15 ?2285次閱讀
    基于DSP CCS<b class='flag-5'>2.2</b>實(shí)現(xiàn)指紋識(shí)別<b class='flag-5'>預(yù)處理</b>系統(tǒng)

    利用Python和PyTorch處理面向?qū)ο蟮?b class='flag-5'>數(shù)據(jù)集(1)

    在本文中,我們將提供一種高效方法,用于完成數(shù)據(jù)的交互、組織以及最終變換(預(yù)處理)。隨后,我們將講解如何在訓(xùn)練過(guò)程中正確地把數(shù)據(jù)輸入給模型。PyTorch 框架將幫助我們實(shí)現(xiàn)此目標(biāo),我們
    的頭像 發(fā)表于 08-02 08:03 ?1084次閱讀

    什么是大數(shù)據(jù)采集和預(yù)處理

    一般情況下,大數(shù)據(jù)處理的流程為:數(shù)據(jù)采集和預(yù)處理、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)分析和數(shù)據(jù)可視化。
    的頭像 發(fā)表于 02-15 14:22 ?4924次閱讀

    那些年在pytorch上踩過(guò)的坑

    今天又發(fā)現(xiàn)了一個(gè)pytorch的小坑,給大家分享一下。手上兩份同一模型的代碼,一份用tensorflow寫(xiě)的,另一份是我拿pytorch寫(xiě)的,模型架構(gòu)一模一樣,預(yù)處理數(shù)據(jù)的邏輯也一模一
    的頭像 發(fā)表于 02-22 14:18 ?1510次閱讀
    那些年在<b class='flag-5'>pytorch</b>上踩過(guò)的坑

    那些年在pytorch上過(guò)的當(dāng)

    最近在修改上一個(gè)同事加載和預(yù)處理數(shù)據(jù)的代碼,原版的代碼使用tf1.4.1寫(xiě)的,數(shù)據(jù)加載也是完全就是for循環(huán)讀取+預(yù)處理,每讀入并預(yù)處理好一
    的頭像 發(fā)表于 02-22 14:19 ?791次閱讀
    那些年在<b class='flag-5'>pytorch</b>上過(guò)的當(dāng)

    PyTorch教程之數(shù)據(jù)預(yù)處理

    電子發(fā)燒友網(wǎng)站提供《PyTorch教程之數(shù)據(jù)預(yù)處理.pdf》資料免費(fèi)下載
    發(fā)表于 06-02 14:11 ?0次下載
    <b class='flag-5'>PyTorch</b>教程之<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>預(yù)處理</b>

    PyTorch入門(mén)須知PyTorch教程-2.2. 數(shù)據(jù)預(yù)處理

    到目前為止,我們一直在處理以現(xiàn)成張量形式到達(dá)的合成數(shù)據(jù)。然而,要在野外應(yīng)用深度學(xué)習(xí),我們必須提取以任意格式存儲(chǔ)的雜亂數(shù)據(jù),并對(duì)其進(jìn)行預(yù)處理以滿(mǎn)足我們的需要。幸運(yùn)的是,pandas 庫(kù)
    的頭像 發(fā)表于 06-05 15:15 ?1664次閱讀

    pytorch如何訓(xùn)練自己的數(shù)據(jù)

    pandas matplotlib 數(shù)據(jù)準(zhǔn)備 在訓(xùn)練模型之前,我們需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。這包括數(shù)據(jù)清洗、數(shù)據(jù)增強(qiáng)、
    的頭像 發(fā)表于 07-11 10:04 ?1298次閱讀

    PyTorch 數(shù)據(jù)加載與處理方法

    PyTorch 是一個(gè)流行的開(kāi)源機(jī)器學(xué)習(xí)庫(kù),它提供了強(qiáng)大的工具來(lái)構(gòu)建和訓(xùn)練深度學(xué)習(xí)模型。在構(gòu)建模型之前,一個(gè)重要的步驟是加載和處理數(shù)據(jù)。 1. PyTorch
    的頭像 發(fā)表于 11-05 17:37 ?1218次閱讀

    Minitab 數(shù)據(jù)清理與預(yù)處理技巧

    Minitab是一款功能強(qiáng)大的統(tǒng)計(jì)分析和質(zhì)量管理軟件,在數(shù)據(jù)分析過(guò)程中,數(shù)據(jù)清理與預(yù)處理是至關(guān)重要的環(huán)節(jié)。以下是一些在Minitab中進(jìn)行數(shù)據(jù)清理與
    的頭像 發(fā)表于 12-02 16:06 ?2270次閱讀