Obter e preparar dados
Os dados são a base do aprendizado de máquina. Tanto a quantidade quanto a qualidade dos dados afetam a precisão do modelo.
Para treinar um modelo de aprendizado de máquina, você precisa:
- Identificar a fonte e o formato dos dados.
- Escolha como fornecer dados.
- Projete uma solução de ingestão de dados.
Para obter e preparar os dados que você usa para treinar o modelo de aprendizado de máquina, você precisa extrair dados de uma fonte e disponibilizá-los para o serviço do Azure que você deseja usar para treinar modelos ou fazer previsões.
Identificar a fonte e o formato dos dados
Primeiro, você precisa identificar sua fonte de dados e seu formato de dados atual.
Identificar a seringa | Exemplos |
---|---|
Data source | Por exemplo, os dados podem ser armazenados em um sistema de Customer Relationship Management (CRM), em um banco de dados transacional como um banco de dados SQL, ou ser gerados por um dispositivo de Internet das Coisas (IoT). |
Formato dos dados | Você precisa entender o formato atual dos dados, que podem ser dados tabulares ou estruturados, dados semiestruturados ou dados não estruturados. |
Em seguida, você precisa decidir quais dados você precisa treinar seu modelo e em que formato você deseja que esses dados sejam servidos para o modelo.
Escolha como fornecer dados
Para acessar dados ao treinar modelos de aprendizado de máquina, você deseja servir os dados armazenando-os em um serviço de dados em nuvem. Ao armazenar dados separadamente da sua computação, você minimiza os custos e é mais flexível. É uma prática recomendada armazenar seus dados em uma ferramenta, que é separada de outra ferramenta que você usa para treinar seus modelos.
Qual ferramenta ou serviço é melhor para armazenar seus dados depende dos dados que você tem e do serviço que você usa para treinamento de modelo. Algumas opções comumente usadas no Azure são:
- Armazenamento de Blobs do Azure: opção mais barata para armazenar dados como dados não estruturados. Ideal para armazenar arquivos como imagens, texto e JSON. Muitas vezes também usado para armazenar dados como arquivos CSV, como cientistas de dados preferem trabalhar com arquivos CSV.
- Azure Data Lake Storage (Gen 2): Uma versão mais avançada do Armazenamento de Blobs do Azure. Também armazena arquivos como arquivos CSV e imagens como dados não estruturados. Um data lake também implementa um namespace hierárquico, o que significa que é mais fácil dar a alguém acesso a um arquivo ou pasta específica. A capacidade de armazenamento é virtualmente ilimitada, por isso é ideal para armazenar grandes dados.
- Banco de Dados SQL do Azure: armazena dados como dados estruturados. Os dados são lidos como uma tabela e o esquema é definido quando uma tabela no banco de dados é criada. Ideal para dados que não mudam ao longo do tempo.
Projetar uma solução de ingestão de dados
Em geral, é uma prática recomendada extrair dados de sua fonte antes de analisá-los. Quer esteja a utilizar os dados para engenharia de dados, análise de dados ou ciência de dados, pretende extrair os dados da sua origem, transformá-los e carregá-los numa camada de serviço. Esse processo também é conhecido como Extrair, Transformar e Carregar (ETL) ou Extrair, Carregar e Transformar (ELT). A camada de serviço disponibiliza seus dados para o serviço que você usa para processamento adicional de dados, como modelos de aprendizado de máquina de treinamento.
Para mover e transformar dados, você pode usar um pipeline de ingestão de dados. Um pipeline de ingestão de dados é uma sequência de tarefas que movem e transformam os dados. Ao criar um pipeline, você pode optar por acionar as tarefas manualmente ou agendar o pipeline quando quiser que as tarefas sejam automatizadas. Esses pipelines podem ser criados com serviços do Azure, como o Azure Synapse Analytics, o Azure Databricks e também o Azure Machine Learning.
Uma abordagem comum para uma solução de ingestão de dados é:
- Extraia dados brutos de sua origem (como um sistema CRM ou dispositivo IoT).
- Copie e transforme os dados com o Azure Synapse Analytics.
- Armazene os dados preparados em um Armazenamento de Blob do Azure.
- Treine o modelo com o Azure Machine Learning.
Explore um exemplo
Imagine que você quer treinar um modelo de previsão do tempo. Você prefere uma tabela na qual todas as medições de temperatura de cada minuto são combinadas. Você deseja criar agregados dos dados e ter uma tabela da temperatura média por hora. Para criar a tabela, você deseja transformar os dados semiestruturados ingeridos do dispositivo IoT que mede a temperatura em intervalos em dados tabulares.
Por exemplo, para criar um conjunto de dados que você pode usar para treinar o modelo de previsão, você pode:
- Extraia medições de dados como objetos JSON dos dispositivos IoT.
- Converter os objetos JSON em uma tabela.
- Transforme os dados para obter a temperatura por máquina por minuto.