Vendas simuladas de suco de laranja

Esse conjunto de dados é derivado do conjunto de dados sobre sucos de laranja da rede de lojas Dominick’s e inclui dados extra simulados para o treinamento simultâneo de milhares de modelos no Azure Machine Learning.

Observação

A Microsoft fornece o Azure Open Datasets no estado em que se encontra. A Microsoft não oferece garantias nem coberturas, expressas ou implícitas, em relação ao uso dos conjuntos de dados. Até o limite permitido pela legislação local, a Microsoft se exime de toda a obrigação por danos ou perdas, inclusive diretos, consequentes, especiais, indiretos, acidentais ou punitivos, resultantes do uso dos conjuntos de dados.

Esse conjunto de dados é fornecido de acordo com os termos originais com que a Microsoft recebeu os dados de origem. O conjunto de dados pode incluir dados originados da Microsoft.

Os dados contêm as vendas semanais do suco de laranja ao longo de 121 semanas. Há 3.991 lojas inclusas e 11,973 marcas de suco de laranja por loja, então 11.973 modelos podem ser treinados.

Exibir a descrição do conjuntos de dados original ou baixar o conjuntos de dados.

Colunas

Nome Tipo de dados Exclusivo Valores (exemplo) Descrição
Anúncio INT 1 Valor que indica se houve anúncios para esse suco de laranja durante a semana 0: Sem Anúncios 1: Anúncios
Marca string dominicks tropicana Marca de suco de laranja
Preço double 2.6 2.09 Preço do suco de laranja (em USD)
Quantidade INT 10939 11638 Quantidade de suco de laranja vendido na semana
Receita double 38438,4 36036,0 Receita das vendas de suco de laranja na semana (em USD)
Repositório INT 2658 1396 Número da loja na qual o suco de laranja foi vendido
WeekStarting timestamp 1990-08-09 00:00:00 1992-02-20 00:00:00 Data indicando a semana à qual as vendas estão relacionadas

Versão Prévia

WeekStarting Repositório Marca Quantidade Anúncio Preço Receita
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 1.198 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

Acesso de dados

Azure Notebooks

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

Ler dados a partir do 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)

Carregar os conjuntos dados individuais no Armazenamento de Blobs

Carregamos os dados no blob e criaremos o FileDataset a partir dessa pasta de arquivos CSV.

target_path = 'oj_sales_data'

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

Criar o conjunto de dados de um arquivo

Precisamos definir o caminho dos dados para criar o 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)

Registrar o conjunto de dados do arquivo no espaço de trabalho

Queremos registrar o conjunto de dados em nosso espaço de trabalho para que possamos chamá-lo como uma entrada em nosso pipeline para previsão.

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

Próximas etapas

Exiba o restante dos conjuntos de dados no catálogo do Open Datasets.