Przykładowe dane w usłudze Azure blob storageSample data in Azure blob storage

W tym artykule opisano próbkowania — dane przechowywane w usłudze Azure blob storage, programowo ją pobrać, a następnie próbkowanie go za pomocą procedury napisane w języku Python.This article covers sampling data stored in Azure blob storage by downloading it programmatically and then sampling it using procedures written in Python.

Dlaczego przykładowe dane?Why sample your data? Jeśli zestaw danych, która ma zostać analizowanie jest duża, zazwyczaj przyczyną jest dobrym pomysłem jest obniżenie częstotliwości próbkowania danych, aby zmniejszyć jego rozmiar mniejszy, ale reprezentatywny i łatwiejsze w zarządzaniu.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. To ułatwia zrozumienie danych, poznawanie i technicznego opracowywania funkcji.This facilitates data understanding, exploration, and feature engineering. Jego rolę w procesie Cortana Analytics jest umożliwienie szybkiego tworzenia prototypów funkcji do przetwarzania danych i modeli uczenia maszynowego.Its role in the Cortana Analytics Process is to enable fast prototyping of the data processing functions and machine learning models.

To zadanie próbkowania jest krok Team Data Science naukowych.This sampling task is a step in the Team Data Science Process (TDSP).

Pobierz i obniżenie częstotliwości próbkowania danychDownload and down-sample data

  1. Pobierz dane z usługi Azure blob storage przy użyciu usługi obiektów blob z następującego przykładowego kodu Python: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. Odczytywanie danych do Pandas-ramki danych z pliku pobranego powyżej.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. Obniżenie częstotliwości próbkowania danych przy użyciu numpyfirmy random.choice w następujący sposób: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]
    

Teraz możesz pracować z powyższych ramki danych z przykładu 1 procent potrzeby dalszych badań i generowania funkcji.Now you can work with the above data frame with the 1 Percent sample for further exploration and feature generation.

Przekazywanie danych, a wczytywany usługi Azure Machine LearningUpload data and read it into Azure Machine Learning

Następujący przykładowy kod umożliwia obniżenie częstotliwości próbkowania danych i używać go bezpośrednio w usłudze Azure Machine Learning:You can use the following sample code to down-sample the data and use it directly in Azure Machine Learning:

  1. Zapis ramki danych do pliku lokalnegoWrite the data frame to a local file

     dataframe.to_csv(os.path.join(os.getcwd(),LOCALFILENAME), sep='\t', encoding='utf-8', index=False)
    
  2. Przekaż plik lokalny do obiektu blob platformy Azure przy użyciu następującego przykładowego kodu: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. Odczytywanie danych z obiektów blob platformy Azure przy użyciu usługi Azure Machine Learning importu danych jak pokazano na poniższej ilustracji:Read the data from the Azure blob using Azure Machine Learning Import Data as shown in the image below:

czytnika obiektów blob