SQL Server Python 和 R 教學課程的紐約市計程車示範資料

適用於:SQL Server 2016 (13.x) 和更新版本Azure SQL 受控執行個體

本文說明如何設定由紐約市計程車和禮車委員會公用資料所組成的範例資料庫。 此資料用於適用於 SQL Server 上資料庫內分析的數個 R 和 Python 教學課程。 為了更快速執行範例程式碼,我們建立了代表性的 1% 取樣資料。 在您的系統上,資料庫備份檔案會稍微超過 90MB,在主要資料表中提供一百七十萬個資料列。

若要完成此練習,您應該具備 SQL Server Management Studio (SSMS) 或可還原資料庫備份檔案及執行 T-SQL 查詢的其他工具。

使用此資料集的教學課程和快速入門包括下列內容:

下載檔案

範例資料庫是由 Microsoft 主控的 SQL Server 2016 BAK 檔案。 您可以在 SQL Server 2016 和更新版本上還原它。 開啟連結時,就會立即開始下載檔案。

檔案大小約為 90 MB。

注意

若要在 SQL Server 巨量資料叢集上還原範例資料庫,請下載 NYCTaxi_Sample.bak,並遵循將資料庫還原至 SQL Server 巨量資料叢集主要執行個體中的指引。

注意

若要在 Azure SQL 受控執行個體中的機器學習服務上還原範例資料庫,請遵循快速入門:將資料庫還原至 Azure SQL 受控執行個體中的指示,使用紐約市計程車示範資料庫 .bak 檔案操作:https://aka.ms/sqlmldocument/NYCTaxi_Sample.bak

  1. 下載 NYCTaxi_Sample.bak 資料庫備份檔案。

  2. 針對執行個體的預設 Backup 資料夾,將檔案複製到 C:\Program files\Microsoft SQL Server\MSSQL-instance-name\MSSQL\Backup 或類似的路徑。

  3. 在 SSMS 中,以滑鼠右鍵按一下 [資料庫],然後選取 [還原檔案和檔案群組]。

  4. 輸入 NYCTaxi_Sample 做為資料庫名稱。

  5. 選取 [從裝置],然後開啟檔案選取頁面來選取 NYCTaxi_Sample.bak 備份檔案。 選取 [新增] 以選取 NYCTaxi_Sample.bak

  6. 選取 [還原] 核取方塊,然後選取 [確定] 以還原資料庫。

檢閱資料庫物件

使用 SQL Server Management Studio,確認資料庫物件存在於 SQL Server 執行個體上。 您應該會看到資料庫、資料表、函式和預存程序。

rsql_devtut_BrowseTables

NYCTaxi_Sample 資料庫中的物件

下表摘要說明在紐約市計程車示範資料庫中建立的物件。

物件名稱 物件類型 說明
NYCTaxi_Sample [資料庫] 建立資料庫和兩個資料表:

dbo.nyctaxi_sample 資料表:包含主要紐約市計程車資料集。 叢集資料行存放區索引會加入資料表,以提升儲存體和查詢效能。 紐約市計程車資料集的 1% 樣本會插入此資料表。

dbo.nyc_taxi_models 資料表:用來保存所定型的進階分析模型。
fnCalculateDistance 純量值函式 計算上車與下車位置之間的直線距離。 此函數用於建立資料功能定型和儲存模型以及讓 R 模型能夠運作
fnEngineerFeatures 資料表值函式 建立用於模型定型的新資料功能。 此函式用於建立資料功能以及讓 R 模型能夠運作

預存程序是使用可在各種教學課程中找到的 R 和 Python 指令碼所建立。 下表摘要說明當您從各種課程執行指令碼時,可以選擇性地加入紐約市計程車示範資料庫中的預存程序。

預存程序 語言 說明
RxPlotHistogram R 呼叫 RevoScaleR rxHistogram 函數,以繪製變數的長條圖,然後傳回繪圖作為二進位物件。 這個預存程序用於探索資料並將其視覺化
RPlotRHist R 使用 Hist 函數來建立圖形,然後將輸出儲存為本機 PDF 檔案。 這個預存程序用於探索資料並將其視覺化
RxTrainLogitModel R 藉由呼叫 R 套件以將羅吉斯迴歸模型定型。 此模型會預測已支付 tipped 資料行的值,並使用隨機選取的 70%資料進行定型。 此預存程序會輸出已定型的模型,並儲存在資料表 dbo.nyc_taxi_models 中。 這個預存程序用於定型和儲存模型
RxPredictBatchOutput R 呼叫所定型的模型,以使用該模型來建立預測。 此預存程序接受查詢作為其輸入參數,並傳回包含輸入資料列分數的數值資料行。 這個預存程序用於預測潛在結果
RxPredictSingleRow R 呼叫所定型的模型,以使用該模型來建立預測。 此預存程序接受新的觀察值作為輸入,其個別特徵值會當作內嵌參數傳遞,並傳回值以預測新觀察值的結果。 這個預存程序用於預測潛在結果

查詢資料

執行查詢以確認資料已上傳,作為驗證步驟。

  1. 在 [物件總管] 的 [資料庫] 下,以滑鼠右鍵按一下 NYCTaxi_Sample 資料庫,然後開始新的查詢。

  2. 執行一些簡單的查詢:

    SELECT TOP(10) * FROM dbo.nyctaxi_sample;
    SELECT COUNT(*) FROM dbo.nyctaxi_sample;
    

資料庫包含一百七十萬個資料列。

  1. 資料庫內有包含資料集的 dbo.nyctaxi_sample 資料表。 此資料表已透過新增資料行存放區索引,針對集合式計算最佳化。 請執行此陳述式,在資料表上產生簡短摘要。

    SELECT DISTINCT [passenger_count]
        , ROUND (SUM ([fare_amount]),0) as TotalFares
        , ROUND (AVG ([fare_amount]),0) as AvgFares
    FROM [dbo].[nyctaxi_sample]
    GROUP BY [passenger_count]
    ORDER BY  AvgFares DESC
    

結果應該類似於下列螢幕擷取畫面中顯示的結果。

Table summary information

下一步

紐約市計程車範例資料現在可供實際操作學習之用。