Symulowana sprzedaż OJ

Ten zestaw danych pochodzi z zestawu danych OJ Firmy Dominick i zawiera dodatkowe symulowane dane do jednoczesnego trenowania tysięcy modeli na Azure Machine Learning.

Uwaga

Firma Microsoft udostępnia zestawy danych Azure Open Datasets w zasadzie "tak jak to jest". Firma Microsoft nie udziela żadnych gwarancji, wyraźnych lub domniemanych, gwarancji ani warunków w odniesieniu do korzystania z zestawów danych. W zakresie dozwolonym na mocy prawa lokalnego firma Microsoft nie ponosi odpowiedzialności za wszelkie szkody lub straty, w tym bezpośrednie, wynikowe, specjalne, pośrednie, przypadkowe lub karne wynikające z korzystania z zestawów danych.

Zestaw danych jest udostępniany zgodnie z pierwotnymi warunkami, na jakich firma Microsoft otrzymała dane źródłowe. Zestaw danych może zawierać dane pozyskane z firmy Microsoft.

Dane zawierają tygodniową sprzedaż soku pomarańczowego w ciągu 121 tygodni. Istnieje 3991 sklepów i trzy marki soku pomarańczowego na sklep, aby można było wytrenować 11 973 modele.

Wyświetl oryginalny opis zestawu danych lub pobierz zestaw danych.

Kolumny

Nazwa Typ danych Unikatowe Wartości (przykład) Opis
Ogłoszenie int 1 Wartość wskazująca, czy były reklamy tego soku pomarańczowego w tygodniu 0: Brak reklam 1: Reklamy
Marka ciąg dominicks tropicana Marka soku pomarańczowego
Cena double 2.6 2.09 Cena soku pomarańczowego (w USD)
Liczba int 10939 11638 Ilość soku pomarańczowego sprzedana w tym tygodniu
Przychód double 38438.4 36036.0 Przychód ze sprzedaży soku pomarańczowego w tym tygodniu (w USD)
Przechowywanie int 2658 1396 Numer sklepu, w którym sprzedano sok pomarańczowy
Tydzień Rozpoczęcia sygnatura czasowa 1990-08-09 00:00:00 1992-02-20 00:00:00 Data wskazująca tydzień, z którym sprzedaż jest powiązana

Wersja zapoznawcza

Tydzień Rozpoczęcia Przechowywanie Marka Liczba Ogłoszenie Cena Przychód
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

Dostęp do danych

Azure Notebooks

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

Odczytywanie danych z usługi 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)

Upload poszczególnych zestawów danych do Storage obiektów blob

Przekażemy dane do obiektu blob i utworzymy zestaw FileDataset z tego folderu plików CSV.

target_path = 'oj_sales_data'

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

Tworzenie zestawu danych plików

Musimy zdefiniować ścieżkę danych, aby utworzyć zestaw PlikówDataset.

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)

Rejestrowanie zestawu danych pliku w obszarze roboczym

Chcemy zarejestrować zestaw danych w naszym obszarze roboczym, abyśmy mogli wywołać go jako dane wejściowe w potoku na potrzeby prognozowania.

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://docs.microsoft.com/en-us/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://docs.microsoft.com/en-us/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())

Następne kroki

Wyświetl pozostałe zestawy danych w katalogu Open Datasets (Otwarte zestawy danych).