OJ Sales Simulated

Den här datamängden härleds från Dominicks OJ-datauppsättning och innehåller extra simulerade data för att samtidigt träna tusentals modeller på Azure Machine Learning.

Kommentar

Microsoft tillhandahåller Azure Open Datasets i befintligt fall. Microsoft ger inga garantier, uttryckliga eller underförstådda garantier eller villkor för din användning av datauppsättningarna. I den utsträckning som tillåts enligt din lokala lag frånsäger sig Microsoft allt ansvar för eventuella skador eller förluster, inklusive direkt, följdriktig, särskild, indirekt, tillfällig eller straffbar, till följd av din användning av datauppsättningarna.

Datamängden tillhandahålls enligt de ursprungliga villkor som gällde när Microsoft tog emot källdatan. Datamängden kan innehålla data från Microsoft.

Uppgifterna innehåller veckoförsäljning av apelsinjuice under 121 veckor. Det finns 3 991 butiker inkluderade och tre märken av apelsinjuice per butik så att 11 973 modeller kan tränas.

Visa den ursprungliga datauppsättningens beskrivning eller ladda ned datauppsättningen.

Kolumner

Name Datatyp Unik Värden (exempel) beskrivning
Annons heltal 1 Värde som anger om det fanns annonser för den apelsinjuicen under vecka 0: Inga annonser 1: Annonser
Varumärke sträng dominicks tropicana Apelsinjuicens varumärke
Pris dubbel 2.6 2.09 Pris på apelsinjuice (i USD)
Kvantitet heltal 10939 11638 Kvantitet apelsinjuice som såldes den veckan
Intäkter dubbel 38438.4 36036.0 Intäkter från försäljning av apelsinjuice under veckan (i USD)
Store heltal 2658 1396 Butiksnummer för butik där apelsinjuicen såldes
WeekStarting timestamp 1990-08-09 00:00:00 1992-02-20 00:00:00 Datum som indikerar försäljningsvecka

Förhandsgranskning

WeekStarting Store Varumärke Kvantitet Annons Pris Intäkter
10/1/1992 12:00:00 3571 minute.maid 13247 1 2,42 32057.74
10/1/1992 12:00:00 2999 minute.maid 18461 1 2.69 49660.09
10/1/1992 12:00:00 1198 minute.maid 13222 1 2.64 34906.08
10/1/1992 12:00:00 3916 minute.maid 12923 1 2.45 31661.35
10/1/1992 12:00:00 1688 minute.maid 9380 1 2.46 23074.8
10/1/1992 12:00:00 1040 minute.maid 18841 1 2.31 43522.71
10/1/1992 12:00:00 1938 minute.maid 14202 1 2,19 31102.38
10/1/1992 12:00:00 2405 minute.maid 16326 1 2.05 33468.3
10/1/1992 12:00:00 1972 minute.maid 16380 1 2,12 34725.6

Dataåtkomst

Azure Notebooks

from azureml.core.workspace import Workspace
ws = Workspace.from_config()
datastore = ws.get_default_datastore()
from azureml.opendatasets import OjSalesSimulated

Läsa data från 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)

Ladda upp enskilda datauppsättningar till Blob Storage

Vi laddar upp data till Blob och skapar FileDataset från den här mappen med csv-filer.

target_path = 'oj_sales_data'

datastore.upload(src_dir = oj_sales_path,
                target_path = target_path,
                overwrite = True, 
                show_progress = True)

Skapa fildatauppsättningen

Vi måste definiera sökvägen till data för att skapa 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)

Registrera fildatauppsättningen på arbetsytan

Vi vill registrera datamängden på vår arbetsyta så att vi kan anropa den som indata i vår pipeline för prognostisering.

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())

Nästa steg

Visa resten av datauppsättningarna i katalogen Öppna datamängder.