Escolher seu cenário e preparar os dados

Concluído

Nesta unidade, você aprenderá a escolher um cenário, selecionar um ambiente de treinamento e preparar seus dados para o treinamento no Model Builder.

Iniciar o processo de treinamento

Para iniciar o processo de treinamento, você precisa adicionar um novo item de modelo de machine learning (ML.NET) a um aplicativo .NET novo ou existente.

Dica

A portabilidade é um dos benefícios que as bibliotecas de classes oferecem. As bibliotecas de classes facilitam a referência a qualquer modelo que faça parte dele no console, na área de trabalho, na Web e em qualquer outro tipo de aplicativo .NET. Recomendamos adicionar itens de modelo de machine learning (ML.NET) a uma biblioteca de classes.

O item de modelo de machine learning (ML.NET) adiciona um arquivo ao seu projeto com a extensão de arquivo .mbconfig. Os arquivos que usam a extensão .mbconfig são arquivos de configuração do Model Builder criados em JSON. Esses arquivos permitem:

  • Forneça um nome para o modelo.
  • Colaborar com outras pessoas em sua equipe por meio do controle do código-fonte.
  • Persistir o estado. Se, a qualquer momento do processo de treinamento, você precisar fechar o Model Builder, seu estado será salvo e você poderá retomar exatamente de onde parou.

Escolha um cenário

A primeira etapa para treinar um modelo de machine learning é decidir qual cenário e qual tarefa de machine learning são mais apropriadas, dado o que você está tentando prever.

O que é um cenário?

Um cenário descreve o problema que você está tentando resolver usando os seus dados. Os cenários comuns incluem aqueles listados na unidade anterior:

  • Categorizar dados: organizar artigos de notícias por tópico.
  • Prever um valor numérico: estimar o preço de uma casa.
  • Agrupar itens com características semelhantes: segmentação de clientes.
  • Classificar imagens: marcar uma imagem com base no seu conteúdo.
  • Recomendar itens: recomendar filmes.
  • Detectar objetos em uma imagem: detectar pedestres e bicicletas em uma interseção.

Os cenários são mapeados para tarefas de machine learning. Uma tarefa de machine learning é o tipo de previsão ou inferência que está sendo feita com base no problema ou na pergunta que está sendo feita e nos dados disponíveis.

As tarefas de machine learning tendem a se enquadrar em duas categorias:

  • Supervisionado
  • Não supervisionado

A principal diferença entre eles é se o rótulo ou o valor que você está tentando prever é conhecido ou não.

Para tarefas supervisionadas, o rótulo é conhecido. Exemplos de tarefas de machine learning supervisionadas incluem:

  • Classificação
    • Binário (duas categorias)
    • Multiclasse (duas ou mais categorias)
    • Imagem
  • Regressão

Para tarefas não supervisionadas, o rótulo é desconhecido. Exemplos de tarefas de machine learning não supervisionadas incluem:

  • Clustering
  • Detecção de anomalias

Cenários com suporte no Model Builder

O Model Builder oferece suporte aos seguintes cenários que são mapeados para tarefas de machine learning:

Cenário Ferramenta de machine learning Caso de uso
Classificação de dados Classificação binária e multiclasse Organizar artigos por tópico.
Previsão de valor Regressão linear Prever o preço de uma página inicial com base nos recursos da página inicial.
Classificação de imagens Classificação de imagem (aprendizado profundo) Organizar imagens por espécie de animal com base no conteúdo de uma imagem.
Recomendação Recomendação Recomendar filmes com base nas preferências de usuários semelhantes.
Detecção de objetos Detecção de objetos (aprendizado profundo) Identificar danos físicos em uma imagem.

Como escolher um cenário para manutenção preditiva

Dependendo dos seus dados, o problema de manutenção preditiva pode ser modelado usando diferentes tarefas. Para o seu caso de uso, como o rótulo é um valor binário (0 ou 1) que descreve se um computador está com defeito ou não, o cenário de classificação de dados é apropriado.

Escolher seu ambiente

Agora que você selecionou a classificação de dados, é hora de escolher o ambiente onde você deseja treinar seu modelo de machine learning. Os ambientes descrevem os recursos de computação que você usará para treinar o modelo de machine learning.

Ambientes com suporte no Model Builder

O Model Builder dá suporte às seguintes opções de ambiente:

Cenário CPU local GPU local GPU do Azure
Classificação de dados ✔️
Previsão de valor ✔️
Classificação de imagens ✔️ ✔️ ✔️
Recomendação ✔️
Detecção de objetos ✔️

Dependendo do seu caso de uso, há várias razões pelas quais você pode escolher um ambiente local ou do Azure.

Ambientes locais

Motivos para considerar os ambientes de computação local incluem:

  • O treinamento local não custa nada, pois você está usando os recursos do computador.
  • Você não quer que seus dados deixem seu computador ou datacenter.

Ambientes do Azure

Cenários como classificação de imagem e detecção de objetos faz uso intensivo de recursos. O uso de uma GPU geralmente pode acelerar o processo de treinamento. Se você não tiver uma GPU ou um computador com CPU ou RAM suficientes, descarregar o processo de treinamento para o Azure poderá reduzir a carga em seu sistema.

Carregar e preparar seus dados

Com o cenário e o ambiente de treinamento selecionados, é hora de carregar e preparar seus dados.

Os dados são o componente mais importante para a criação de modelos de machine learning. O processo para carregar dados no Model Builder consiste em três etapas:

  1. Escolher o tipo de fonte de dados.
  2. Forneça o local dos seus dados.
  3. Escolher a finalidade da coluna.

Escolher o tipo de fonte de dados

Dependendo do cenário, o Model Builder dá suporte ao carregamento de dados das seguintes fontes:

  • Arquivos delimitados (vírgula, ponto e vírgula, tabulação)
  • Bancos de dados do SQL Server locais e remotos
  • Imagens (.jpg e .png)

Fornecer o local de seus dados

Depois de selecionar o tipo de fonte de dados, você precisa informar um local onde o conjunto de dados está armazenado. Este local pode ser um diretório, um caminho de arquivo ou uma cadeia de conexão de banco de dados. Isso depende do cenário e do tipo de fonte de dados que você selecionou.

Quando uma fonte de dados é selecionada no Model Builder, ela analisa os dados e faz o melhor esforço para identificar:

  • Cabeçalhos e nomes de coluna
  • Separador de coluna
  • Tipos de dados de coluna
  • Finalidade da coluna
  • Separadores decimais

Depois que os dados são carregados, o Model Builder exibe uma visualização de alguns elementos no seu conjuntos de dados.

Escolher a finalidade da coluna

Dependendo do cenário escolhido, você precisará definir a finalidade de determinadas colunas. Em cenários como classificação de dados e previsão de valor, você precisará escolher qual das colunas você deseja prever (rótulo).

Por padrão, todas as outras colunas que não são o rótulo são usadas como recursos. Recursos são colunas usadas como entradas para prever o rótulo.

Opções de dados avançadas

Para personalizar como os dados são carregados, o Model Builder oferece opções de dados avançadas. Essas opções permitem personalizar as configurações referentes às suas colunas e à formatação do conjunto de dados.

Para colunas, você pode escolher as seguintes configurações:

  • Finalidade: a coluna deve ser um recurso, um rótulo ou ignorada? Você só pode ter uma coluna selecionada como o rótulo.
  • Tipo de dados: o valor é um valor float de precisão simples, uma cadeia de caracteres ou um valor booliano?
  • Categórico: a coluna representa um valor categórico (por exemplo: baixo, médio ou alto)?

Para formatar dados, você pode escolher se os dados contêm cabeçalhos de coluna, o separador de coluna (vírgula, ponto e vírgula ou tabulação) e o tipo de separador decimal (ponto ou vírgula).

Compreendendo o conjunto de dados de manutenção preditiva

O conjunto de dados usado neste módulo é o AI4I 2020 Predictive Maintenance Dataset. Esse conjunto de dados sintéticos reflete os dados de manutenção preditiva reais encontrados no setor. Ele consiste em 10 mil pontos de dados e 14 colunas. Ele vem de:

Explainable Artificial Intelligence for Predictive Maintenance Applications, Stephan Matzka, Third International Conference on Artificial Intelligence for Industries (AI4I 2020), 2020 (impresso) e hospedado no UCI Machine Learning Repository – Dua, D. and Graff, C. (2019). UCI Machine Learning Repository http://archive.ics.uci.edu/ml. Irvine, CA: University of California, School of Information and Computer Science.

Veja uma versão prévia da aparência dos dados:

UDI Produto ID Tipo Temperatura do ar [K] Temperatura do processo [K] Velocidade de rotação [rpm] Torque [Nm] Uso da ferramenta [min] Falha do computador TWF HDF PWF OSF RNF
1 M14860 M 298,1 308,6 1551 42,8 0 0 0 0 0 0 0
162 L47341 L 298,3 308,1 1412 52,3 218 1 0 0 0 1 0

As colunas são definidas da seguinte maneira:

  • UDI: o índice da linha.
  • ID do produto: um identificador de produto que contém uma categoria de tipo de produto e um número de série específico da variante.
  • Tipo: categoria de qualidade do produto. Os valores são L (baixo; 50% de todos os produtos), M (médio; 30%) ou H (alto; 20%).
  • Temperatura do ar [K], Temperatura do processo [K], Velocidade de rotação [rpm], Torque [Nm], Desgaste da ferramenta [min]: valores coletados dos sensores.
  • Falha da máquina: rótulo binário (0 ou 1) que indica se a máquina falhou.
  • TWF, HDF, PWF, OSF, RNF: modos de falha da máquina independentes. Um valor de 1 indica que ocorreu o respectivo modo de falha.

Para esse cenário, você não usará todas as colunas no conjuntos de dados, pois elas não informam a previsão nem contêm informações redundantes.

Como você quer poder prever se um computador falhou ou não, a coluna Falha do computador é o rótulo. No Model Builder, para recursos, você pode usar dados da ID do produto, Tipo e várias colunas de sensor.

Embora os modos de falha sejam úteis para diagnosticar a causa raiz de uma falha, elas não são úteis para o seu caso de uso. O motivo é que você só deseja saber se um computador falhou ou não. Além disso, informações semelhantes já são capturadas na coluna Falha do computador. Portanto, você pode ignorar essas colunas.

Vá para a próxima unidade para verificar seu conhecimento sobre cenários, ambientes e preparação de dados.