Ignora esplorazione

Machine Learning Samples

Sample: OJ Sales Simulated Data

OJ Sales Many Models Forecasting Retail Sales Grocery

Questo set di dati deriva dal set di dati OJ di Dominick e include dati simulati aggiuntivi con l’obiettivo di fornire un set di dati che semplifica il training simultaneo di migliaia di modelli in Azure Machine Learning.

I dati contengono le vendite settimanali del succo di arancia refrigerato nel corso di 121 settimane. Sono inclusi 3.991 punti vendita e 3 marche di succo di arancia per punto vendita, per consentire il training di 11.973 modelli.

Per altre informazioni sul set di dati originali, vedi questo collegamento. Puoi anche accedere al set di dati originale.

Notifiche

MICROSOFT FORNISCE I SET DI DATI APERTI DI AZURE “COSÌ COME SONO”. MICROSOFT NON OFFRE ALCUNA GARANZIA O CONDIZIONE ESPLICITA O IMPLICITA RELATIVAMENTE ALL’USO DEI SET DI DATI DA PARTE DELL’UTENTE. NELLA MISURA MASSIMA CONSENTITA DALLE LEGGI LOCALI, MICROSOFT NON RICONOSCE ALCUNA RESPONSABILITÀ RELATIVAMENTE A DANNI O PERDITE COMMERCIALI, INCLUSI I DANNI DIRETTI, CONSEQUENZIALI, SPECIALI, INDIRETTI, INCIDENTALI O PUNITIVI DERIVANTI DALL’USO DEI SET DI DATI DA PARTE DELL’UTENTE.

Questo set di dati viene fornito in conformità con le condizioni originali in base alle quali Microsoft ha ricevuto i dati di origine. Il set di dati potrebbe includere dati provenienti da Microsoft.

Access

Available inWhen to use
Azure Notebooks

Quickly explore the dataset with Jupyter notebooks hosted on Azure or your local machine.

Azure Databricks

Use this when you need the scale of an Azure managed Spark cluster to process the dataset.

Preview

WeekStarting Store Brand Quantity Advert Price Revenue
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
10/1/1992 12:00:00 AM 2905 minute.maid 10330 1 2.51 25928.3
Name Data type Unique Values (sample) Description
Advert int 1

Valore che indica se durante la settimana erano presenti annunci pubblicitari per il succo di arancia specifico

  • 0: Nessun annuncio
  • 1: Annunci
Brand string tropicana
minute.maid

Marca di succo di arancia

Price double 2.6
2.09

Prezzo del succo di arancia (in USD)

Quantity int 10939
11638

Quantità di succo di arancia venduta per la settimana specifica

Revenue double 36036.0
38438.4

Ricavi dalle vendite di succo di arancia per la settimana specifica (in USD)

Store int 2046
2658

Numero del punto vendita in cui è stato venduto il succo di arancia

WeekStarting timestamp 1990-08-09 00:00:00
1992-02-20 00:00:00

Data che indica la settimana a cui sono correlate le vendite

Select your preferred service:

Azure Notebooks

Azure Databricks

Azure Notebooks

Package: Language: Python
In [ ]:
from azureml.core.workspace import Workspace
ws = Workspace.from_config()
datastore = ws.get_default_config()
In [ ]:
from azureml.opendatasets import OjSalesSimulated

Read data from Azure Open Datasets

In [ ]:
# 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)
In [ ]:
# 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)
In [ ]:
oj_sales_files.download(oj_sales_path, overwrite=True)

Upload the individual datasets to Blob Storage

We upload the data to Blob and will create the FileDataset from this folder of csv files.

In [ ]:
target_path = 'oj_sales_data'

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

Create the file dataset

We need to define the path of the data to create the FileDataset.

In [ ]:
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)

Register the file dataset to the workspace

We want to register the dataset to our workspace so we can call it as an input into our Pipeline for forecasting.

In [ ]:
registered_ds = input_ds.register(ws, ds_name, create_new_version=True)
named_ds = registered_ds.as_named_input(ds_name)

Azure Databricks

Package: Language: Python
In [1]:
# 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
In [2]:
ojss_file.to_path()
In [3]:
# Download files to local storage
import os
import tempfile

mount_point = tempfile.mkdtemp()
ojss_file.download(mount_point, overwrite=True)
In [4]:
# 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)
In [5]:
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())
In [6]: