Dados da amostra no armazenamento de blob AzureSample data in Azure blob storage

Este artigo aborda os dados de amostragem armazenados no armazenamento de Blobs do Azure ao baixá-lo por meio de programação e, em seguida, a amostragem usando procedimentos escritos em Python.This article covers sampling data stored in Azure blob storage by downloading it programmatically and then sampling it using procedures written in Python.

Por que provar os seus dados?Why sample your data? Se o conjunto de dados que pretende analisar for grande, normalmente, é uma boa idéia para dimensionar os dados para reduzi-lo para um tamanho mais pequeno, mas representativo e mais gerenciável.If the dataset you plan to analyze is large, it's usually a good idea to down-sample the data to reduce it to a smaller but representative and more manageable size. A amostragem facilita a compreensão de dados, a exploração e a engenharia de recursos.Sampling facilitates data understanding, exploration, and feature engineering. Sua função no Cortana Analytics Process é ativar a criação de protótipos rápida das funções de processamento de dados e modelos de machine learning.Its role in the Cortana Analytics Process is to enable fast prototyping of the data processing functions and machine learning models.

Esta tarefa de amostragem é um passo no Processo de Ciência de Dados da Equipa (TDSP).This sampling task is a step in the Team Data Science Process (TDSP).

Transferir e dimensionar dadosDownload and down-sample data

  1. Descarregue os dados do armazenamento de blob Azure utilizando o serviço Blob a partir do seguinte código Python da amostra:Download the data from Azure blob storage using the Blob service from the following sample Python code:

     from azure.storage.blob import BlobService
     import tables
    
     STORAGEACCOUNTNAME= <storage_account_name>
     STORAGEACCOUNTKEY= <storage_account_key>
     LOCALFILENAME= <local_file_name>        
     CONTAINERNAME= <container_name>
     BLOBNAME= <blob_name>
    
     #download from blob
     t1=time.time()
     blob_service=BlobService(account_name=STORAGEACCOUNTNAME,account_key=STORAGEACCOUNTKEY)
     blob_service.get_blob_to_path(CONTAINERNAME,BLOBNAME,LOCALFILENAME)
     t2=time.time()
     print(("It takes %s seconds to download "+blobname) % (t2 - t1))
    
  2. Ler os dados num quadro de dados Pandas do arquivo baixado anteriormente.Read data into a Pandas data-frame from the file downloaded above.

     import pandas as pd
    
     #directly ready from file on disk
     dataframe_blobdata = pd.read_csv(LOCALFILE)
    
  3. Aprove os dados utilizando a random.choice do numpyda seguinte forma:Down-sample the data using the numpy's random.choice as follows:

     # A 1 percent sample
     sample_ratio = 0.01 
     sample_size = np.round(dataframe_blobdata.shape[0] * sample_ratio)
     sample_rows = np.random.choice(dataframe_blobdata.index.values, sample_size)
     dataframe_blobdata_sample = dataframe_blobdata.ix[sample_rows]
    

Agora você pode trabalhar com o quadro de dados acima com a amostra de um por cento para mais exploração e geração de recursos.Now you can work with the above data frame with the one Percent sample for further exploration and feature generation.

Faça upload de dados e leia-os em Azure Machine LearningUpload data and read it into Azure Machine Learning

Pode utilizar o seguinte código de exemplo para dimensionar os dados e utilizá-lo diretamente no Azure Machine Learning:You can use the following sample code to down-sample the data and use it directly in Azure Machine Learning:

  1. Escrever o quadro de dados para um ficheiro localWrite the data frame to a local file

     dataframe.to_csv(os.path.join(os.getcwd(),LOCALFILENAME), sep='\t', encoding='utf-8', index=False)
    
  2. Carregar o ficheiro local para um blob do Azure com o seguinte código de exemplo:Upload the local file to an Azure blob using the following sample code:

     from azure.storage.blob import BlobService
     import tables
    
     STORAGEACCOUNTNAME= <storage_account_name>
     LOCALFILENAME= <local_file_name>
     STORAGEACCOUNTKEY= <storage_account_key>
     CONTAINERNAME= <container_name>
     BLOBNAME= <blob_name>
    
     output_blob_service=BlobService(account_name=STORAGEACCOUNTNAME,account_key=STORAGEACCOUNTKEY)    
     localfileprocessed = os.path.join(os.getcwd(),LOCALFILENAME) #assuming file is in current working directory
    
     try:
    
     #perform upload
     output_blob_service.put_block_blob_from_path(CONTAINERNAME,BLOBNAME,localfileprocessed)
    
     except:            
         print ("Something went wrong with uploading to the blob:"+ BLOBNAME)
    
  3. Leia os dados do blob Azure utilizando dados de importação de aprendizagem automática azure, como mostrado na imagem abaixo:Read the data from the Azure blob using Azure Machine Learning Import Data as shown in the image below:

blob de leitor