OJ Sales Simulated (シミュレートされた OJ の売上)
このデータセットは、Dominick の OJ データセットから派生したものであり、Azure Machine Learning 上で数千のモデルを同時にトレーニングするための追加のシミュレートされたデータが含まれています。
注意
Microsoft は、Azure Open Datasets を "現状有姿" で提供します。 Microsoft は、データセットの使用に関して、明示または黙示を問わず、いかなる保証も行わないものとし、条件を定めることもありません。 現地の法律の下で認められている範囲内で、Microsoft は、データセットの使用に起因する、直接的、派生的、特別、間接的、偶発的、または懲罰的なものを含めたいかなる損害または損失に対しても一切の責任を負わないものとします。
このデータセットは、Microsoft がソース データを受け取った元の条件に基づいて提供されます。 データセットには、Microsoft が提供するデータが含まれている場合があります。
このデータには、121 週間にわたるオレンジ ジュースの週間売上が含まれています。 3,991 店舗および店舗ごとに 3 つのブランドのオレンジ ジュースが集計されているため、11,973 個のモデルをトレーニングできます。
元のデータセットの説明についてはこちらを参照してください。データセットはこちらでダウンロードしてください。
[列]
Name | データ型 | 一意 | 値 (サンプル) | 説明 |
---|---|---|---|---|
Advert | INT | 1 | その週にそのオレンジ ジュースの広告があったかどうかを示す値 (0: 広告なし、1: 広告あり) | |
ブランド | string | dominicks tropicana | オレンジ ジュースのブランド | |
価格 | double | 2.6 2.09 | オレンジ ジュースの価格 (米国ドル) | |
Quantity | INT | 10939 11638 | その週に販売されたオレンジ ジュースの量 | |
収益 | double | 38438.4 36036.0 | その週に販売されたオレンジ ジュースの売上 (米国ドル) | |
ストア | INT | 2658 1396 | オレンジ ジュースが販売された店舗番号 | |
WeekStarting | timestamp | 1990-08-09 00:00:00 1992-02-20 00:00:00 | 販売に関係している週を示す日付 |
プレビュー
WeekStarting | ストア | ブランド | Quantity | Advert | 価格 | 収益 |
---|---|---|---|---|---|---|
10/1/1992 12:00:00 AM | 3571 | minute.maid | 13247 | 1 | 2.42 | 32057.74 |
10/1/1992 12:00:00 AM | 2999 | minute.maid | 18461 | 1 | 2.69 | 49660.09 |
10/1/1992 12:00:00 AM | 1198 | minute.maid | 13222 | 1 | 2.64 | 34906.08 |
10/1/1992 12:00:00 AM | 3916 | minute.maid | 12923 | 1 | 2.45 | 31661.35 |
10/1/1992 12:00:00 AM | 1688 | minute.maid | 9380 | 1 | 2.46 | 23074.8 |
10/1/1992 12:00:00 AM | 1040 | minute.maid | 18841 | 1 | 2.31 | 43522.71 |
10/1/1992 12:00:00 AM | 1938 | minute.maid | 14202 | 1 | 2.19 | 31102.38 |
10/1/1992 12:00:00 AM | 2405 | minute.maid | 16326 | 1 | 2.05 | 33468.3 |
10/1/1992 12:00:00 AM | 1972 | minute.maid | 16380 | 1 | 2.12 | 34725.6 |
データ アクセス
Azure Notebooks
from azureml.core.workspace import Workspace
ws = Workspace.from_config()
datastore = ws.get_default_datastore()
from azureml.opendatasets import OjSalesSimulated
Azure Open Datasets からデータを読み取る
# Create a Data Directory in local path
import os
oj_sales_path = "oj_sales_data"
if not os.path.exists(oj_sales_path):
os.mkdir(oj_sales_path)
# Pull all of the data
oj_sales_files = OjSalesSimulated.get_file_dataset()
# or pull a subset of the data
oj_sales_files = OjSalesSimulated.get_file_dataset(num_files=10)
oj_sales_files.download(oj_sales_path, overwrite=True)
個々のデータセットを BLOB ストレージにアップロードする
データを BLOB にアップロードすると、csv ファイルのこのフォルダーから FileDataset が作成されます。
target_path = 'oj_sales_data'
datastore.upload(src_dir = oj_sales_path,
target_path = target_path,
overwrite = True,
show_progress = True)
ファイル データセットを作成する
FileDataset を作成するには、データのパスを定義する必要があります。
from azureml.core.dataset import Dataset
ds_name = 'oj_data'
path_on_datastore = datastore.path(target_path + '/')
input_ds = Dataset.File.from_files(path=path_on_datastore, validate=False)
ファイル データセットをワークスペースに登録する
データセットをワークスペースに登録して、予測のためのパイプラインの入力として呼び出せるようにします。
registered_ds = input_ds.register(ws, ds_name, create_new_version=True)
named_ds = registered_ds.as_named_input(ds_name)
Azure Databricks
# This is a package in preview.
# You need to pip install azureml-opendatasets in Databricks cluster. https://learn.microsoft.com/azure/data-explorer/connect-from-databricks#install-the-python-library-on-your-azure-databricks-cluster
# Download or mount OJ Sales raw files Azure Machine Learning file datasets.
# This works only for Linux based compute. See https://learn.microsoft.com/azure/machine-learning/service/how-to-create-register-datasets to learn more about datasets.
from azureml.opendatasets import OjSalesSimulated
ojss_file = OjSalesSimulated.get_file_dataset()
ojss_file
ojss_file.to_path()
# Download files to local storage
import os
import tempfile
mount_point = tempfile.mkdtemp()
ojss_file.download(mount_point, overwrite=True)
# Mount files. Useful when training job will run on a remote compute.
import gzip
import struct
import pandas as pd
import numpy as np
# load compressed OJ Sales Simulated gz files and return numpy arrays
def load_data(filename, label=False):
with gzip.open(filename) as gz:
gz.read(4)
n_items = struct.unpack('>I', gz.read(4))
if not label:
n_rows = struct.unpack('>I', gz.read(4))[0]
n_cols = struct.unpack('>I', gz.read(4))[0]
res = np.frombuffer(gz.read(n_items[0] * n_rows * n_cols), dtype=np.uint8)
res = res.reshape(n_items[0], n_rows * n_cols)
else:
res = np.frombuffer(gz.read(n_items[0]), dtype=np.uint8)
res = res.reshape(n_items[0], 1)
return pd.DataFrame(res)
import sys
mount_point = tempfile.mkdtemp()
print(mount_point)
print(os.path.exists(mount_point))
print(os.listdir(mount_point))
if sys.platform == 'linux':
print("start mounting....")
with ojss_file.mount(mount_point):
print(os.listdir(mount_point))
train_images_df = load_data(os.path.join(mount_point, 'train-tabular-oj-ubyte.gz'))
print(train_images_df.info())
次のステップ
Open Datasets カタログの残りのデータセットを表示します。