Vendas JO Simuladas

Esse conjunto de dados é derivado do conjunto de dados OJ de Dominick e inclui dados simulados extras para treinar simultaneamente milhares de modelos no Azure Machine Learning.

Nota

A Microsoft fornece os Conjuntos de Dados Abertos do Azure "no estado em que se encontram". A Microsoft não oferece garantias, expressas ou implícitas, garantias ou condições em relação ao seu uso dos conjuntos de dados. Na medida permitida pela legislação local, a Microsoft se isenta de qualquer responsabilidade por quaisquer danos ou perdas, incluindo diretos, consequenciais, especiais, indiretos, incidentais ou punitivos, resultantes do uso dos conjuntos de dados por parte do cliente.

Este conjunto de dados é disponibilizado de acordo com os termos originais em que a Microsoft recebeu os dados de origem. O conjunto de dados pode incluir dados obtidos junto da Microsoft.

Os dados contêm vendas semanais de sumo de laranja ao longo de 121 semanas. São 3.991 lojas inclusas e três marcas de suco de laranja por loja para que 11.973 modelos possam ser treinados.

Exiba a descrição original do conjunto de dados ou baixe o conjunto de dados.

Colunas

Name Tipo de dados Exclusivo Values (sample) Description
Anúncio número inteiro 1 Valor indicando se houve anúncios para esse suco de laranja durante a semana 0: Sem anúncios 1: Anúncios
Marca string Dominicks Tropicana Marca do sumo de laranja
Preço duplo 2.6 2.09 Preço do sumo de laranja (em USD)
Quantidade número inteiro 10939 11638 Quantidade de sumo de laranja vendida para essa semana
Receita duplo 38438.4 36036.0 Receita das vendas do sumo de laranja para essa semana (em USD)
Armazenamento número inteiro 2658 1396 Número de lojas em que o sumo de laranja foi vendido
SemanaComeçando carimbo de data/hora 1990-08-09 00:00:00 1992-02-20 00:00:00 Data que indica a semana referente às vendas

Pré-visualizar

SemanaComeçando Armazenamento Marca Quantidade Anúncio Preço Receita
01/10/1992 12:00:00 3571 minuto.empregada doméstica 13247 1 2,42 32057.74
01/10/1992 12:00:00 2999 minuto.empregada doméstica 18461 1 2.69 49660.09
01/10/1992 12:00:00 1198 minuto.empregada doméstica 13222 1 2.64 34906.08
01/10/1992 12:00:00 3916 minuto.empregada doméstica 12923 1 2.45 31661.35
01/10/1992 12:00:00 1688 minuto.empregada doméstica 9380 1 2,46 23074.8
01/10/1992 12:00:00 1040 minuto.empregada doméstica 18841 1 2.31 43522.71
01/10/1992 12:00:00 1938 minuto.empregada doméstica 14202 1 2.19 31102.38
01/10/1992 12:00:00 2405 minuto.empregada doméstica 16326 1 2.05 33468.3
01/10/1992 12:00:00 1972 minuto.empregada doméstica 16380 1 2,12 34725.6

Acesso a 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 de Conjuntos de Dados Abertos do Azure

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

Carregue os conjuntos de dados individuais para o Armazenamento de Blobs

Nós carregamos os dados para Blob e criaremos o FileDataset a partir desta 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 do 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óximos passos

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