Preparação de dados de treinamento

Nesta página, mostramos como preparar seus dados tabulares para treinamento de modelos de classificação e regressão na Vertex AI. A qualidade dos dados de treinamento afeta a eficácia dos modelos criados.

Os seguintes tópicos são abordados:

  1. Requisitos da estrutura de dados
  2. Preparar sua fonte de importação
  3. Adicionar pesos aos dados de treinamento

Por padrão, a Vertex IA usa um algoritmo de divisão aleatória para separar os dados em três divisões de dados. A Vertex AI seleciona aleatoriamente 80% das linhas de dados para o conjunto de treinamento, 10% para o conjunto de validação e 10% para o conjunto de teste. Como alternativa, é possível usar uma divisão manual ou uma divisão cronológica, mas isso requer a preparação de uma coluna de divisão de dados ou de coluna de tempo. Saiba mais sobre as divisões de dados.

Requisitos da estrutura de dados

Os dados de treinamento precisam estar em conformidade com os seguintes requisitos:

Tipo de requisito Requisito
Tamanho O conjunto de dados precisa ter 100 GB ou menos.
# de colunas O conjunto de dados precisa ter entre 2 e 1.000 colunas. O conjunto de dados precisa ter um objetivo e pelo menos um atributo para treinar o modelo. O ideal é que os dados de treinamento contenham muito mais que duas colunas. O número máximo de colunas inclui colunas de atributos e não atributos.
Coluna de destino É preciso especificar uma coluna de destino. A coluna de objetivo permite que a Vertex AI associe os dados de treinamento ao resultado pretendido. Ela não pode conter valores nulos e precisa ser categórica ou numérica. Se for categórica, é preciso que tenha no mínimo dois e no máximo 500 valores distintos.
Formato do nome da coluna O nome da coluna pode incluir qualquer caractere alfanumérico ou sublinhado (_). O nome da coluna não pode começar com um sublinhado.
# de linhas O conjunto de dados precisa ter pelo menos 1.000 e no máximo 100.000.000 linhas. É possível que mil linhas não sejam suficientes para treinar um modelo de alto desempenho, dependendo da quantidade de atributos presentes no seu conjunto de dados. Saiba mais.
Formato de dados Use o formato de dados apropriado (amplo ou restrito) para o objetivo. O formato amplo geralmente é o melhor, com cada linha representando um item de dados de treinamento (produto, pessoa e assim por diante). Saiba como escolher o formato de dados.

Preparar sua fonte de importação

Você pode fornecer dados de treinamento de modelo para o Vertex AI em dois formatos:

  • Tabelas do BigQuery
  • Valores separados por vírgula (CSV)

A fonte que você usa depende de como seus dados são armazenados, do tamanho e da complexidade deles. Se seu conjunto de dados for pequeno e você não precisar de tipos de dados mais complexos, é mais fácil usar um arquivo CSV. No caso de conjuntos de dados maiores, que incluam matrizes e structs, use o BigQuery.

BigQuery

A tabela ou visualização do BigQuery precisa estar em conformidade com os requisitos de local do BigQuery.

Se a tabela ou a visualização do BigQuery estiver em um projeto diferente do projeto em que você está criando o conjunto de dados da Vertex AI ou se a tabela ou visualização do BigQuery for apoiada por uma fonte de dados externa, talvez seja necessário adicionar um ou mais papéis ao Agente de serviço da Vertex AI. Consulte Requisitos de adição de papéis para o BigQuery.

Não é necessário especificar o esquema da tabela do BigQuery. A Vertex AI infere automaticamente o esquema da tabela quando os dados são importados.

O URI do BigQuery, que especifica o local dos dados de treinamento, precisa estar em conformidade com o seguinte formato:

bq://<project_id>.<dataset_id>.<table_id>

O URI não pode conter outros caracteres especiais.

Para informações sobre os tipos de dados do BigQuery e sobre como eles mapeiam para a Vertex AI, consulte Tabelas do BigQuery. Para mais informações sobre o uso de fontes de dados externas do BigQuery, consulte Introdução a fontes de dados externas.

CSV

Os arquivos CSV podem estar no Cloud Storage ou no seu computador local. Eles precisam estar em conformidade com os seguintes requisitos:

  • A primeira linha do primeiro arquivo precisa ser um cabeçalho, contendo os nomes das colunas. Se a primeira linha de um arquivo subsequente for igual ao cabeçalho, ela também será tratada como um cabeçalho; em caso contrário, será tratada como dados.
  • Os nomes das colunas podem incluir qualquer caractere alfanumérico ou um sublinhado (_). No entanto, ele não pode ser iniciado por um sublinhado.
  • Os arquivos não podem ter mais de 10 GB cada um.

    É possível incluir vários arquivos até o máximo de 100 GB.

  • O delimitador precisa ser uma vírgula (",").

Não é necessário especificar o esquema dos dados CSV. A Vertex AI infere automaticamente o esquema da tabela quando os dados são importados e você usa a linha do cabeçalho para nomear as colunas.

Para mais informações sobre o formato de arquivo CSV e tipos de dados, consulte Arquivos CSV.

Se você estiver importando seus dados do Cloud Storage, eles deverão estar em um bucket que atenda aos seguintes requisitos:

Se você estiver importando seus dados do computador local, precisará ter um bucket do Cloud Storage que atenda aos seguintes requisitos:

Adicionar pesos aos dados de treinamento

Por padrão, a Vertex AI pesa cada linha dos dados de treinamento de forma igual. Para fins de treinamento, nenhuma linha é considerada mais importante do que outra.

Às vezes, convém que algumas linhas tenham mais importância para o treinamento. Por exemplo, se você estiver usando dados sobre gastos, talvez queira que os dados associados aos maiores gastadores tenham mais impacto no modelo. Se a falta de um resultado específico é algo que você quer evitar, então atribua mais peso às linhas com tal resultado.

Para atribuir um peso relativo às linhas, adicione uma coluna de peso ao conjunto de dados. A coluna de peso precisa ser numérica. O valor do peso pode ser de 0 a 10.000. Valores mais altos indicam que a linha é mais importante no treinamento do modelo. Um peso 0 faz com que a linha seja ignorada. Se você incluir uma coluna de peso, ela precisará conter um valor para cada linha.

Posteriormente, ao treinar o modelo, especifique essa coluna como Weight.

Esquemas de ponderação personalizados são usados apenas para treinar o modelo. e não afetam o conjunto de testes usado para avaliação de modelos.

A seguir