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.
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.
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.
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.
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.
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:
- Decida o número de intervalos.
- Defina intervalos para que cada intervalo tenha um número igual de exemplos.
- Substitua cada exemplo pelo índice do intervalo em que ele se enquadra.
- Leve os índices para o mesmo intervalo que outros dados de recursos, dimensionando os valores de índice para [0,1].
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
- 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.
Pergunta 2
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.