OJ Sales Simulated

Tato datová sada je odvozena z datové sady Dominick OJ a obsahuje další simulovaná data, která současně trénují tisíce modelů na azure Machine Učení.

Poznámka:

Microsoft poskytuje datové sady Azure Open Datasets na bázi "tak, jak je". Společnost Microsoft neposkytuje žádné záruky, výslovné ani předpokládané záruky ani podmínky týkající se vašeho používání datových sad. V rozsahu povoleném vaším místním zákonem společnost Microsoft odmítá veškerou odpovědnost za případné škody nebo ztráty, včetně přímých, následných, zvláštních, nepřímých, náhodných nebo represivních, vyplývajících z vašeho používání datových sad.

Na tuto datovou sadu se vztahují původní podmínky, které Microsoft přijal se zdrojovými daty. Datová sada může obsahovat data pocházející z Microsoftu.

Data obsahují týdenní prodej pomerančové šťávy za 121 týdnů. K dispozici je 3 991 obchodů a tři značky pomerančového džusu na obchod, aby bylo možné trénovat 11 973 modelů.

Prohlédněte si původní popis datové sady nebo si ji stáhněte.

Sloupce

Name Datový typ Jedinečný Values (sample) Popis
Inzerát int 0 Hodnota označující, zda byly reklamy pro tento pomerančový džus během týdne 0: Žádné reklamy 1: Reklamy
Značka string dominicks tropicana Značka pomerančového džusu
Cena double 2.6 2.09 Cena pomerančového džusu (v USD)
Množství int 10939 11638 Množství pomerančového džusu prodané za příslušný týden
Výnosy double 38438.4 36036.0 Výnosy z pomerančového džusu za příslušný týden (v USD)
Uložit int 2658 1396 Číslo obchodu, kde se pomerančový džus prodal
WeekStarting časové razítko 1990-08-09 00:00:00 1992-02-20 00:00:00 Datum udávající, ke kterému týdnu se prodeje vztahují

Ukázková

WeekStarting Uložit Značka Množství Inzerát Cena Výnosy
10.1.1992 12:00:00 3571 minute.maid 13247 0 2.42 32057.74
10.1.1992 12:00:00 2999 minute.maid 18461 0 2.69 49660.09
10.1.1992 12:00:00 1198 minute.maid 13222 0 2.64 34906.08
10.1.1992 12:00:00 3916 minute.maid 12923 0 2.45 31661.35
10.1.1992 12:00:00 1688 minute.maid 9380 0 2,46 23074.8
10.1.1992 12:00:00 1040 minute.maid 18841 0 2.31 43522.71
10.1.1992 12:00:00 1938 minute.maid 14202 0 2.19 31102.38
10.1.1992 12:00:00 2405 minute.maid 16326 0 2.05 33468.3
10.1.1992 12:00:00 1972 minute.maid 16380 0 2,12 34725.6

Přístup k datům

Azure Notebooks

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

Čtení dat z 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)

Nahrání jednotlivých datových sad do služby Blob Storage

Data nahrajeme do objektu blob a vytvoříme FileDataset z této složky souborů CSV.

target_path = 'oj_sales_data'

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

Vytvoření datové sady souborů

Potřebujeme definovat cestu k datům pro vytvoření 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)

Registrace datové sady souborů do pracovního prostoru

Datovou sadu chceme zaregistrovat do našeho pracovního prostoru, abychom ji mohli volat jako vstup do kanálu pro prognózování.

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

Další kroky

Prohlédněte si zbývající datové sady v katalogu Open Datasets.