Preparar dados

O curso Preparação de dados e engenharia de atributos para machine learning aborda a preparação de dados em geral, mas este curso aborda a preparação específica para clustering.

No clustering, você calcula a semelhança entre dois exemplos ao combinar todos os dados de atributos deles para um valor numérico. Para combinar os dados dos recursos, é necessário que os dados tenham a mesma escala. Nesta seção, vamos analisar a normalização, transformação e criação de quantis e explicar por que os quantis são a melhor escolha padrão para transformar qualquer distribuição de dados. Ter uma opção padrão permite que você transforme seus dados sem inspecionar a distribuição dos dados.

Como normalizar dados

É possível transformar dados de vários atributos para a mesma escala normalizando os dados. Em particular, a normalização é adequada para processar a distribuição de dados mais comum, a distribuição gaussiana. Em comparação com quantis, a normalização requer significativamente menos dados para calcular. Para normalizar dados, calcule a z-score da seguinte maneira:

\[x'=(x-\mu)/\sigma\\ \begin{align*} \text{where:}\quad \mu &= \text{mean}\\ \sigma &= \text{standard deviation}\\ \end{align*} \]

Veja a semelhança entre exemplos com e sem normalização. Na Figura 1, o vermelho parece ser mais semelhante ao azul do que ao amarelo. No entanto, as características dos eixos x e y não têm a mesma escala. Portanto, a semelhança observada pode ser um artefato de dados sem escalonamento. Após a normalização usando a pontuação Z, todos os atributos têm a mesma escala. Agora você descobre que o vermelho é mais semelhante ao amarelo. Assim, depois de normalizar os dados, é possível calcular a semelhança com mais precisão.

Dois gráficos comparando os dados do atributo antes e depois da normalização
Figura 1: uma comparação entre os dados dos atributos antes e depois da normalização.

Em resumo, aplique a normalização quando um dos seguintes itens for verdadeiro:

  • Seus dados têm uma distribuição gaussiana.
  • Seu conjunto de dados não tem dados suficientes para criar quantis.

Como usar a transformação de registros

Às vezes, um conjunto de dados está em conformidade com uma distribuição de lei de energia que agrega dados na extremidade mais baixa. Na Figura 2, o vermelho está mais próximo do amarelo do que azul.

Um gráfico com a maioria dos dados na extremidade mais baixa
Figura 2: uma distribuição de legislação de poder.

Processar uma distribuição de lei de potência usando uma transformação de registro. Na Figura 3, a transformação de registros cria uma distribuição mais suave, e o vermelho está mais próximo do azul do do amarelo.

Um gráfico mostrando uma distribuição normal (gaussiana)
Figura 3: uma distribuição normal (gaussiana).

Como usar quantis

A normalização e as transformações de registro abordam distribuições de dados específicas. E se os dados não estiverem em conformidade com uma distribuição gaussiana ou de lei de energia? Existe uma abordagem geral para qualquer distribuição de dados?

Vamos tentar pré-processar essa distribuição.

Um gráfico mostrando uma distribuição de dados antes de qualquer pré-processamento
Figura 4: uma distribuição sem classificação antes de qualquer pré-processamento.

Intuitivamente, se os dois exemplos tiverem apenas alguns exemplos entre eles, eles serão semelhantes, independentemente dos valores. Por outro lado, se os dois exemplos tiverem muitos exemplos entre si, os dois exemplos serão menos semelhantes. Assim, a semelhança entre dois exemplos diminui à medida que o número de exemplos entre eles aumenta.

A normalização dos dados simplesmente reproduz a distribuição de dados porque a normalização é uma transformação linear. Aplicar uma transformação de registro não reflete sua intuição sobre como a semelhança funciona, como mostrado na Figura 5 abaixo.

Um gráfico que mostra a distribuição de dados após uma transformação de registro
Figura 5: a distribuição após uma transformação de registro.

Em vez disso, divida os dados em intervalos em que cada intervalo tenha um número igual de exemplos. Esses limites de intervalo são chamados de quantis.

Converta seus dados em quantis realizando as seguintes etapas:

  1. Decida o número de intervalos.
  2. Defina intervalos para que cada intervalo tenha um número igual de exemplos.
  3. Substitua cada exemplo pelo índice do intervalo em que ele se enquadra.
  4. Leve os índices para o mesmo intervalo que outros dados de recursos, dimensionando os valores de índice para [0,1].
Um gráfico mostrando os dados após a conversão em quantis. A linha representa 20 intervalos.]
Figura 6: a distribuição após a conversão em quantis.

Depois da conversão de dados em quantis, a semelhança entre dois exemplos é inversamente proporcional ao número de exemplos entre esses dois exemplos. Ou, matematicamente, onde "x" é qualquer exemplo no conjunto de dados:

  • \(sim(A,B) \approx 1 − | \text{prob}[x > A] − \text{prob}[x > B] |\)
  • \(sim(A,B) \approx 1 − | \text{quantile}(A) − \text{quantile}(B) |\)

Os quantis são sua melhor escolha padrão para transformar dados. No entanto, para criar quantis que sejam indicadores confiáveis da distribuição de dados subjacente, você precisa de muitos dados. Via de regra, para criar \(n\) quantis, você precisa ter pelo menos \(10n\) exemplos. Se você não tiver dados suficientes, siga para a normalização.

Teste seu conhecimento

Nas perguntas a seguir, suponha que você tenha dados suficientes para criar quantis.

Pergunta 1

Um gráfico exibindo três distribuições de dados
Como você processaria essa distribuição de dados?
Criar quantis.
correto. Como a distribuição não corresponde a uma distribuição de dados padrão, retorne à criação de quantis.
Normalizar.
Normalmente, os dados são normalizados nas seguintes situações:
  • A distribuição de dados é gaussiana.
  • Você tem insights sobre o que os dados representam, o que indica que eles não podem ser transformados de forma não linear. Assim você evita quantis e escolhe a normalização.
Nenhum desses casos se aplica a este caso. A distribuição de dados não é gaussiana porque não é simétrica. Além disso, você não tem insights sobre o que esses valores representam no mundo real.
Transformação de registro.
Esta não é a melhor escolha porque não é uma distribuição perfeita de lei de potência.

Pergunta 2

Um gráfico exibindo três distribuições de dados
Como você processaria essa distribuição de dados?
Normalizar.
correto. Isso é uma distribuição gaussiana.
Criar quantis.
Incorreto. Como esta é uma distribuição gaussiana, a transformação preferida é a normalização.
Transformação de registro.
Incorreto. Aplique uma transformação de registro somente a distribuições de legislação de energia.

Dados ausentes

Se o conjunto de dados tiver exemplos com valores ausentes para um determinado recurso, mas esses exemplos raramente ocorrerem, será possível removê-los. Se esses exemplos ocorrerem com frequência, temos a opção de remover esse recurso completamente ou prever os valores ausentes de outros exemplos usando um modelo de aprendizado de máquina. Por exemplo, é possível inferir dados numéricos ausentes usando um modelo de regressão treinado com base em dados de recursos atuais.