次の方法で共有


SQL Server Python および R チュートリアル用の NYC タクシー のデモ データ

適用対象: SQL Server 2016 (13.x) 以降 Azure SQL Managed Instance

この記事では、New York City Taxi and Limousine Commission (ニューヨーク市のタクシーとリムジンのコミッション) からのパブリック データで構成されるサンプル データベースを設定する方法について説明します。 このデータは、SQL Server でのデータベース内分析のために、いくつかの R および Python のチュートリアルで使用されています。 サンプル コードの実行速度を高めるために、データの代表的な 1% のサンプルを作成しました。 システムでは、データベース バックアップ ファイルが 90 MB をわずかに上回り、プライマリ データ テーブル内に 170 万行が提供されます。

この演習を完了するには、SQL Server Management Studio (SSMS)、またはデータベース バックアップ ファイルを復元し、T-SQL クエリを実行できる別のツールが必要です。

このデータセットを使用したチュートリアルとクイックスタートには、次の記事があります。

ファイルのダウンロード

サンプル データベースは、Microsoft によってホストされる SQL Server 2016 バックアップ (.bak) ファイルです。 SQL Server 2016 以降で復元できます。 リンクを開くとすぐに、ファイルのダウンロードが始まります。

ファイル サイズは約 90 MB です。

Note

サンプル データベースを SQL Server ビッグ データ クラスターで復元するには、NYCTaxi_Sample.bak をダウンロードして、「SQL Server ビッグ データ クラスターのマスター インスタンスにデータベースを復元する」の指示に従います。

Note

Azure SQL Managed Instance の Machine Learning Services でサンプル データベースを復元するには、Azure SQL Managed Instance にデータベースを復元する方法に関するクイックスタートの指示に従ってください。NYC タクシー デモ データベース .bak ファイル https://aka.ms/sqlmldocument/NYCTaxi_Sample.bak が使用されます。

  1. NYCTaxi_Sample.bak データベース バックアップ ファイルをダウンロードします。

  2. C:\Program files\Microsoft SQL Server\MSSQL-instance-name\MSSQL\Backup または自分のインスタンスの既定の Backup フォルダーの同様のパスに、ファイルをコピーします。

  3. SSMS で、[データベース] を右クリックし、[ファイルおよびファイル グループの復元] を選びます。

  4. データベース名として「NYCTaxi_Sample」と入力します。

  5. [デバイスから] を選んでから、ファイルの選択ページを開いて NYCTaxi_Sample.bak バックアップ ファイルを選びます。 [追加] を選んで NYCTaxi_Sample.bak を選びます。

  6. [復元] チェックボックスをオンにし、[OK] を選んでデータベースを復元します。

データベース オブジェクトの確認

SQL Server Management Studio を使用して、SQL Server インスタンスにデータベース オブジェクトが存在することを確認します。 データベース、テーブル、関数、ストアド プロシージャが表示されます。

rsql_devtut_BrowseTables

NYCTaxi_Sample データベース内のオブジェクト

次の表は、NYC タクシー デモ データベースで作成されたオブジェクトをまとめたものです。

オブジェクト名です。 オブジェクトの種類 説明
NYCTaxi_Sample database データベースと 2 つのテーブルを作成します。

dbo.nyctaxi_sample テーブル: メインの NYC タクシー データセットを格納します。 ストレージとクエリのパフォーマンスを向上させるために、クラスター化列ストア インデックスをテーブルに追加します。 NYC タクシー データセットの 1% のサンプルが、このテーブルに挿入されます。

dbo.nyc_taxi_models テーブル: トレーニング済みの Advanced Analytics モデルを保持するために使用します。
fnCalculateDistance スカラー値関数 (scalar-valued function) 乗車と降車の場所間の直線距離を計算します。 この関数は、データ機能の作成モデルのトレーニングと保存R モデルの運用に使用されます。
fnEngineerFeatures テーブル値関数 (table-valued function) モデル トレーニング用の新しいデータ機能を作成します。 この関数は、データ機能の作成モデルのトレーニングと保存、R モデルの運用に使用されます。

ストアド プロシージャは、さまざまなチュートリアルに記載されている R および Python スクリプトを使用して作成されます。 次のテーブルは、さまざまなレッスンでスクリプトを実行するときに、必要に応じて NYC タクシー デモ データベースに追加できるストアド プロシージャをまとめたものです。

ストアド プロシージャ Language 説明
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;
    

データベースには 170 万行が含まれています。

  1. データベース内には、データセットが格納されている dbo.nyctaxi_sample テーブルがあります。 テーブルは、columnstore インデックスを追加することにより、セットベースの計算に対して最適化されています。 次のステートメントを実行して、テーブルの簡単な概要を生成します。

    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
    

結果は、次のスクリーンショットに示すようになります。

テーブルの概要情報

次のステップ

NYC タクシー サンプル データをハンズオン学習で使用できるようになりました。