Conjuntos de dados: características dos dados

Um conjunto de dados é uma coleção de exemplos.

Muitos conjuntos de dados armazenam dados em tabelas (grades), por exemplo, como valores separados por vírgula (CSV) ou diretamente de planilhas ou em tabelas de bancos de dados. As tabelas são um formato de entrada intuitivo para modelos de machine learning. Imagine cada linha da tabela como exemplo e cada coluna como um possível atributo ou rótulo. Dito isso, os conjuntos de dados também podem ser derivados de outros formatos, incluindo arquivos de registro e buffers de protocolo.

Independentemente do formato, seu modelo de ML é tão bom quanto os dados com os quais é treinado. Nesta seção, analisamos as principais características dos dados.

Tipos de dados

Um conjunto de dados pode conter muitos tipos de dados, incluindo, mas certamente sem limitação:

  • dados numéricos, que são abordados em um artigo separado unidade
  • dados categóricos, que são abordados em um artigo unidade
  • linguagem humana, incluindo palavras e frases individuais, até documentos de texto inteiros
  • multimídia (como arquivos de imagem, vídeo e áudio)
  • saídas de outros sistemas de ML
  • vetores de embedding, que são vamos abordar em outra unidade

Os tipos de dados anteriores podem ser subdivididos muito mais. Os próximos módulos deste curso, por exemplo, o módulo Categórico Data: módulo detalhes e subcategorizá-los.

Quantidade de dados

Como regra geral, o modelo deve ser treinado em pelo menos uma ordem de magnitude (ou dois) mais exemplos do que parâmetros treináveis. No entanto, as boas os modelos geralmente são treinados com substancialmente mais exemplos do que isso.

Modelos treinados em grandes conjuntos de dados com poucos recursos geralmente superam os modelos treinados em pequenos conjuntos de dados muitos recursos. O Google sempre teve muito sucesso treinando modelos simples grandes conjuntos de dados.

Conjuntos de dados diferentes para programas de machine learning distintos podem exigir muito diferentes quantidades de exemplos para criar um modelo útil. Para algumas pessoas problemas simples, algumas dúzias de exemplos podem ser suficientes. Para outros problemas, um trilhão de exemplos pode ser insuficiente.

É possível obter bons resultados de um pequeno conjunto de dados se você está adaptando um modelo que já foi treinado com grandes quantidades de dados do mesmo esquema.

Qualidade e confiabilidade dos dados

Todo mundo prefere alta qualidade a baixa qualidade, mas a qualidade é algo muito vaga que pode ser definido de várias maneiras diferentes. Este curso define quality de forma pragmática:

Um conjunto de dados de alta qualidade ajuda o modelo a atingir a meta. Um conjunto de dados de baixa qualidade impede que o modelo atinja a meta.

Um conjunto de dados de alta qualidade também é confiável. A confiabilidade é o grau em que você pode confiar nos seus dados. Um modelo treinado em um conjunto de dados confiável tem mais chances de ser mais útil previsões do que um modelo treinado com dados não confiáveis.

Ao medir a confiabilidade, você precisa determinar:

  • Os erros de rótulo são comuns? Por exemplo, se seus dados são rotulados por humanos, com que frequência os avaliadores cometem erros?
  • Seus recursos são ruidosos? Ou seja, faça os valores nos atributos contêm erros? Seja realista: não é possível limpar o conjunto de dados de todo o barulho. Um pouco de ruído é normal. por exemplo, as medições de GPS o local sempre varia um pouco a cada semana.
  • Os dados estão devidamente filtrados para o problema? Por exemplo: seu conjunto de dados deve incluir consultas de pesquisa de bots? Se você estiver criando um sistema de detecção de spam, a resposta provavelmente é "sim". No entanto, se estiver tentando melhorar os resultados da pesquisa para humanos, então não.

Confira a seguir causas comuns de dados não confiáveis em conjuntos de dados:

  • Valores omitidos. Por exemplo, uma pessoa se esqueceu de inserir um valor para um da idade da casa.
  • Exemplos duplicados. Por exemplo, um servidor carregou por engano o mesmo as entradas de registro duas vezes.
  • Valores de atributos inválidos. Por exemplo, alguém digitou um dígito extra ou um o termômetro ficou no sol.
  • Marcadores inválidos. Por exemplo, uma pessoa erroneamente marcou a foto de um carvalho como um bordo.
  • Seções de dados ruins. Por exemplo, um determinado atributo é muito confiável, exceto pelo dia em que a rede continuou falhando.

Recomendamos o uso da automação para sinalizar dados não confiáveis. Por exemplo: Os testes de unidade que definem ou dependem de um esquema de dados formal externo podem valores de sinalização que estão fora de um intervalo definido.

Exemplos completos x incompletos

Em um mundo perfeito, cada exemplo está completo. ou seja, cada exemplo contém um valor para cada atributo.

Figura 1. Um exemplo que contém valores para todos os seus cinco
       atributos de machine learning.
Figura 1. Um exemplo completo.

 

Infelizmente, os exemplos do mundo real costumam ser incompletos, o que significa que, pelo menos um valor de atributo está ausente.

Figura 2. Um exemplo que contém valores para quatro de seus cinco
            atributos de machine learning. Um recurso está marcado como ausente.
Figura 2. Um exemplo incompleto.

 

Não treine um modelo com exemplos incompletos. Em vez disso, corrija ou elimine exemplos incompletos realizando uma das seguintes ações:

  • Excluir exemplos incompletos.
  • Impute: valores ausentes ou seja, converta o exemplo incompleto em um exemplo completo fornecendo e supostos palpites para os valores ausentes.
Figura 3. Um conjunto de dados que contém três exemplos, dois dos quais são
            incompletos. Alguém encontrou estes dois incompletos
            exemplos do conjunto de dados.
Figura 3. Excluir exemplos incompletos do conjunto de dados.

 

Figura 4. Um conjunto de dados contendo três exemplos, dois dos quais foram
            e incompletos contendo dados ausentes. Alguma entidade (um humano
            ou software de imputação) tem valores imputados que substituíram o
            os dados ausentes.
Figura 4. Inserção de valores ausentes para exemplos incompletos.

 

Se o conjunto de dados tiver exemplos completos suficientes para treinar um modelo útil, então considere excluir os exemplos incompletos. Da mesma forma, se apenas um atributo estiver faltando uma quantidade significativa de dados um atributo provavelmente não pode ajudar muito o modelo, então considere excluir esse atributo com as entradas do modelo e ver quanta qualidade é perdida remoção. Se o modelo funcionar tão bem quanto isso, ótimo. Por outro lado, se você não tiver exemplos completos suficientes para treinar um modelo útil, você pode considerar a imposição de valores ausentes.

É bom excluir exemplos inúteis ou redundantes, mas é ruim excluir exemplos importantes. Infelizmente, pode ser difícil diferenciar entre exemplos inúteis e úteis. Se você não consegue decidir para excluir ou implantar, considere construir dois conjuntos de dados: um formado pela exclusão os exemplos incompletos e o outro por imputação. Depois determine qual conjunto de dados treina o melhor modelo.


Um algoritmo comum é usar a média ou a mediana como o valor imputado. Consequentemente, quando você representa um atributo numérico com pontuação Z, então o valor atribuído é normalmente 0 (porque 0 é geralmente o escore Z médio).

Exercício: testar seu conhecimento

Aqui estão duas colunas de um conjunto de dados classificadas por Timestamp.

Carimbo de data/hora Temperatura
8 de junho de 2023, às 9h 12
8 de junho de 2023, 10h 18
8 de junho de 2023, 11h ausente
8 de junho de 2023, 12h 24
8 de junho de 2023, 13h 38

Qual das opções a seguir seria um valor razoável a ser aplicado para o valor ausente de Temperatura?

23
Provavelmente. 23 é a média dos valores adjacentes (12, 18, 24 e 38). No entanto, não vemos o restante do conjunto de dados, então é possível que 23 seria um ponto fora da curva para as 11:00 em outros dias.
31
Improvável. A parte limitada do conjunto de dados que podemos ver sugere que 31 é muito alto para a Temperatura de 11:00. No entanto, não podemos ter certeza sem basear a imputação em um número maior de exemplos.
51
Muito improvável. 51 é muito maior do que qualquer um dos valores exibidos (e, portanto, muito maior do que a média).