OJ Sales Simulated

Deze gegevensset is afgeleid van de DATASET VAN Dek en bevat extra gesimuleerde gegevens om tegelijkertijd duizenden modellen te trainen op Azure Machine Learning.

Notitie

Microsoft biedt Azure Open Datasets op basis van 'as is'. Microsoft biedt geen expliciete of impliciete garanties of voorwaarden met betrekking tot uw gebruik van de gegevenssets. Voor zover dit volgens uw lokale recht is toegestaan, wijst Microsoft alle aansprakelijkheid af voor schade of verliezen, met inbegrip van directe, consequentiële, speciale, indirecte, incidentele of punitieve, die het gevolg zijn van uw gebruik van de gegevenssets.

Deze gegevensset wordt geleverd onder de oorspronkelijke voorwaarden dat Microsoft de brongegevens heeft ontvangen. De gegevensset kan gegevens bevatten die afkomstig zijn van Microsoft.

De gegevens bevatten wekelijkse verkoop van sinaasappelsap gedurende 121 weken. Er zijn 3991 winkels inbegrepen en drie merken sinaasappelsap per winkel, zodat 11.973 modellen kunnen worden getraind.

Bekijk de beschrijving van de oorspronkelijke gegevensset of download de gegevensset.

Kolommen

Name Gegevenstype Uniek Waarden (voorbeeld) Beschrijving
Advertentie int 1 Waarde die aangeeft of er tijdens de week 0 advertenties voor dat sinaasappelsap zijn geweest: Geen advertenties 1: Advertenties
Merk tekenreeks :ks Merk van sinaasappelsap
Prijs double 2.6 2.09 Prijs van de sinaasappelsap (in USD)
Aantal int 10939 11638 Hoeveelheid sinaasappelsap die in die week werd verkocht
Opbrengst double 38438.4 36036.0 Omzet uit verkoop van sinaasappelsap voor die week (in USD)
Opslaan int 2658 1396 Nummer van de winkel waarin de sinaasappelsap werd verkocht
WeekStarting tijdstempel 1990-08-09 00:00:00 1992-02-20 00:00:00 Datum die aangeeft op welke week de omzet betrekking heeft

Preview

WeekStarting Opslaan Merk Aantal Advertentie Prijs Opbrengst
10-10-1992 12:00:00 uur 3571 minute.minute.minute 13247 1 2.42 32057.74
10-10-1992 12:00:00 uur 2999 minute.minute.minute 18461 1 2.69 49660.09
10-10-1992 12:00:00 uur 1198 minute.minute.minute 13222 1 2.64 34906.08
10-10-1992 12:00:00 uur 3916 minute.minute.minute 12923 1 2.45 31661.35
10-10-1992 12:00:00 uur 1688 minute.minute.minute 9380 1 2.46 23074.8
10-10-1992 12:00:00 uur 1040 minute.minute.minute 18841 1 2.31 43522.71
10-10-1992 12:00:00 uur 1938 minute.minute.minute 14202 1 2.19 31102.38
10-10-1992 12:00:00 uur 2405 minute.minute.minute 16326 1 2.05 33468.3
10-10-1992 12:00:00 uur 1972 minute.minute.minute 16380 1 2.12 34725.6

Toegang tot gegevens

Azure Notebooks

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

Gegevens lezen uit 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)

De afzonderlijke gegevenssets uploaden naar Blob Storage

We uploaden de gegevens naar Blob en maken de FileDataset vanuit deze map met CSV-bestanden.

target_path = 'oj_sales_data'

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

De bestandsset maken

We moeten het pad van de gegevens definiëren om de FileDataset te maken.

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)

De bestandsset registreren bij de werkruimte

We willen de gegevensset registreren bij onze werkruimte, zodat we deze kunnen aanroepen als invoer in onze pijplijn voor prognoses.

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

Volgende stappen

Bekijk de rest van de gegevenssets in de Open Datasets catalogus.