電子發(fā)燒友App

硬聲App

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>PyTorch教程5.7之在Kaggle上預測房價

PyTorch教程5.7之在Kaggle上預測房價

2023-06-05 | pdf | 0.49 MB | 次下載 | 2積分

資料介紹

現(xiàn)在我們已經(jīng)介紹了一些用于構建和訓練深度網(wǎng)絡并使用包括權重衰減和丟失在內(nèi)的技術對其進行正則化的基本工具,我們準備通過參加 Kaggle 競賽將所有這些知識付諸實踐。房價預測競賽是一個很好的起點。數(shù)據(jù)相當通用,沒有表現(xiàn)出可能需要專門模型(如音頻視頻可能)的奇異結(jié)構。該數(shù)據(jù)集由 De Cock ( 2011 )收集,涵蓋 2006 年至 2010 年愛荷華州埃姆斯的房價。 它比Harrison 和 Rubinfeld (1978)著名的波士頓住房數(shù)據(jù)集大得多,擁有更多的例子和更多的特征。

在本節(jié)中,我們將帶您了解數(shù)據(jù)預處理、模型設計和超參數(shù)選擇的詳細信息。我們希望通過實踐方法,您將獲得一些直覺,這些直覺將指導您作為數(shù)據(jù)科學家的職業(yè)生涯。

%matplotlib inline
import pandas as pd
import torch
from torch import nn
from d2l import torch as d2l
%matplotlib inline
import pandas as pd
from mxnet import autograd, gluon, init, np, npx
from mxnet.gluon import nn
from d2l import mxnet as d2l

npx.set_np()
%matplotlib inline
import jax
import numpy as np
import pandas as pd
from jax import numpy as jnp
from d2l import jax as d2l
No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)
%matplotlib inline
import pandas as pd
import tensorflow as tf
from d2l import tensorflow as d2l

5.7.1. 下載數(shù)據(jù)

在整本書中,我們將在各種下載的數(shù)據(jù)集上訓練和測試模型。在這里,我們實現(xiàn)了兩個實用函數(shù)來下載文件和提取 zip 或 tar 文件。同樣,我們將它們的實現(xiàn)推遲到 第 23.7 節(jié)

def download(url, folder, sha1_hash=None):
  """Download a file to folder and return the local filepath."""

def extract(filename, folder):
  """Extract a zip/tar file into folder."""

5.7.2. 格格

Kaggle是一個舉辦機器學習競賽的流行平臺。每場比賽都以數(shù)據(jù)集為中心,許多比賽由利益相關者贊助,他們?yōu)楂@勝的解決方案提供獎勵。該平臺幫助用戶通過論壇和共享代碼進行交互,促進協(xié)作和競爭。雖然排行榜追逐經(jīng)常失控,研究人員短視地關注預處理步驟而不是提出基本問題,但平臺的客觀性也具有巨大價值,該平臺有助于競爭方法之間的直接定量比較以及代碼共享,以便每個人都可以了解哪些有效,哪些無效。如果你想?yún)⒓?Kaggle 比賽,你首先需要注冊一個賬號(見圖 5.7.1)。

https://file.elecfans.com/web2/M00/A8/BC/poYBAGR3IKiAAYRAAAKeYMfXAiY589.png

圖 5.7.1 Kaggle 網(wǎng)站。

在房價預測比賽頁面,如圖 5.7.2所示,可以找到數(shù)據(jù)集(在“數(shù)據(jù)”選項卡下),提交預測,就可以看到你的排名,網(wǎng)址在這里:

https://www.kaggle.com/c/house-prices-advanced-regression-techniques

https://file.elecfans.com/web2/M00/A9/37/pYYBAGR3IK2AIz08AAJE64c9ZKo210.png

圖 5.7.2房價預測比賽頁面。

5.7.3. 訪問和讀取數(shù)據(jù)集

請注意,比賽數(shù)據(jù)分為訓練集和測試集。每條記錄包括房屋的屬性值和街道類型、建造年份、屋頂類型、地下室狀況等屬性。特征由各種數(shù)據(jù)類型組成。例如,建造年份用整數(shù)表示,屋頂類型用離散的分類分配表示,其他特征用浮點數(shù)表示。這就是現(xiàn)實使事情復雜化的地方:例如,一些數(shù)據(jù)完全缺失,缺失值簡單地標記為“na”。每個房子的價格僅包含在訓練集中(畢竟這是一場比賽)。我們希望對訓練集進行分區(qū)以創(chuàng)建驗證集,但我們只能在將預測上傳到 Kaggle 后才能在官方測試集上評估我們的模型。圖 5.7.2有下載數(shù)據(jù)的鏈接。

首先,我們將pandas使用我們在第 2.2 節(jié)中介紹的方法讀入和處理數(shù)據(jù)。為了方便起見,我們可以下載并緩存 Kaggle 住房數(shù)據(jù)集。如果與此數(shù)據(jù)集對應的文件已存在于緩存目錄中并且其 SHA-1 匹配sha1_hash,我們的代碼將使用緩存文件以避免因冗余下載而阻塞您的互聯(lián)網(wǎng)。

class KaggleHouse(d2l.DataModule):
  def __init__(self, batch_size, train=None, val=None):
    super().__init__()
    self.save_hyperparameters()
    if self.train is None:
      self.raw_train = pd.read_csv(d2l.download(
        d2l.DATA_URL + 'kaggle_house_pred_train.csv', self.root,
        sha1_hash='585e9cc93e70b39160e7921475f9bcd7d31219ce'))
      self.raw_val = pd.read_csv(d2l.download(
        d2l.DATA_URL + 'kaggle_house_pred_test.csv', self.root,
        sha1_hash='fa19780a7b011d9b009e8bff8e99922a8ee2eb90'))

訓練數(shù)據(jù)集包含 1460 個示例、80 個特征和 1 個標簽,而驗證數(shù)據(jù)包含 1459 個示例和 80 個特征。

data = KaggleHouse(batch_size=64)
print(data.raw_train.shape)
print(data.raw_val.shape)
Downloading ../data/kaggle_house_pred_train.csv from http://d2l-data.s3-accelerate.amazonaws.com/kaggle_house_pred_train.csv...
Downloading ../data/kaggle_house_pred_test.csv from http://d2l-data.s3-accelerate.amazonaws.com/kaggle_house_pred_test.csv...
(1460, 81)
(1459, 80)
data = KaggleHouse(batch_size=64)
print(data.raw_train.shape)
print(data.raw_val.shape)
Downloading ../data/kaggle_house_pred_train.csv from http://d2l-data.s3-accelerate.amazonaws.com/kaggle_house_pred_train.csv...
Downloading ../data/kaggle_house_pred_test.csv from http://d2l-data.s3-accelerate.amazonaws.com/kaggle_house_pred_test.csv...
(1460, 81)
(1459, 80)
data = KaggleHouse(batch_size=64)
print(data.raw_train.shape)
print(data.raw_val.shape)
Downloading ../data/kaggle_house_pred_train.csv from http://d2l-data.s3-accelerate.amazonaws.com/kaggle_house_pred_train.csv...
Downloading ../data/kaggle_house_pred_test.csv from http://d2l-data.s3-accelerate.amazonaws.com/kaggle_house_pred_test.csv...
(1460, 81)
(1459, 80)
data = KaggleHouse(batch_size=64)
print(data.raw_train.shape)
print(data.raw_val.shape)
Downloading ../data/kaggle_house_pred_train.csv from http://d2l-data.s3-accelerate.amazonaws.com/kaggle_house_pred_train.csv...
Downloading ../data/kaggle_house_pred_test.csv from http://d2l-data.s3-accelerate.amazonaws.com/kaggle_house_pred_test.csv...
(1460, 81)
(1459, 80)

5.7.4. 數(shù)據(jù)預處理

我們來看看前四個和最后兩個特征以及前四個示例中的標簽 (SalePrice)。

print(data.raw_train.iloc[:4, [0, 1, 2, 3, -3, -2, -1]])
  Id MSSubClass MSZoning LotFrontage SaleType SaleCondition SalePrice
0  1     60    RL     65.0    WD    Normal   208500
1  2     20    RL     80.0    WD    Normal   181500
2  3     60    RL     68.0    WD    Normal   223500
3  4     70    RL     60.0    WD    Abnorml   140000
print(data.raw_train.iloc[:4, [0, 1, 2, 3, -3, -2, -1]])
  Id MSSubClass MSZoning LotFrontage SaleType SaleCondition SalePrice
0  1     60    RL     65.0    WD    Normal   208500
1  2     20    RL     80.0    WD    Normal   181500
2  3     60    RL     68.0    WD    Normal   223500
3  4     70    RL     60.0    WD    Abnorml   140000
print(data.raw_train.iloc[:4, [0, 1, 2, 3, -3, -2, -1]])
  Id MSSubClass MSZoning LotFrontage SaleType SaleCondition SalePrice
0  1     60    RL     65.0    WD    Normal   208500
1  2     20    RL     80.0    WD    Normal   181500
2  3     60    RL     68.0    WD    Normal   223500
3  4     70    RL     60.0    WD    Abnorml   140000
print(data.raw_train.iloc[:4, [0, 1, 2, 3, -3, -2, -1]])

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

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

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

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