Como mostrado, o k-means atribui pontos ao centroide mais próximo. Mas o que significa "mais próximo"?
Para aplicar o k-means aos dados de atributos, você precisa definir uma medida de semelhança que combine todos os dados de atributos em um único valor numérico, chamado de medida de similaridade manual.
Considere um conjunto de dados de sapatos. Se esse conjunto de dados tiver o tamanho do sapato como único recurso, você poderá definir a semelhança entre dois sapatos em termos da diferença entre os tamanhos. Quanto menor a diferença numérica entre os tamanhos, maior a semelhança entre os sapatos.
Se o conjunto de dados de sapatos tiver dois atributos numéricos, tamanho e preço, você poderá combiná-los em um único número que representa a semelhança. Primeiro, dimensione os dados para que os dois recursos sejam comparáveis:
- Tamanho (s): o tamanho do sapato provavelmente forma uma distribuição gaussiana. Confirme. Em seguida, normalize os dados.
- Preço (p): os dados provavelmente são uma distribuição de Poisson. Confirme. Se você tiver dados suficientes, converta-os em quartis e dimensione para .
Em seguida, combine os dois recursos calculando a raiz do erro quadrático médio (REQM). Essa medida aproximada de similaridade é dada por .
Para um exemplo simples, calcule a semelhança de dois sapatos com tamanhos 8 e 11 e preços 120 e 150. Como não temos dados suficientes para entender a distribuição, vamos dimensionar os dados sem normalizar ou usar quartis.
Ação | Método |
---|---|
Ajuste o tamanho. | Suponha que o tamanho máximo possível do calçado seja 20. Divida 8 e 11 pelo tamanho máximo 20 para chegar a 0,4 e 0,55. |
Ajuste o preço. | Divida 120 e 150 pelo preço máximo de 150 para chegar a 0,8 e 1. |
Encontre a diferença de tamanho. | |
Encontre a diferença de preço. | |
Calcule o RMSE. |
De forma intuitiva, a medida de similaridade precisa aumentar quando os dados de recursos forem mais semelhantes. Em vez disso, sua medida de similaridade (RMSE) diminui. Faça com que a medida de similaridade siga sua intuição subtraindo-a de 1.
Em geral, é possível preparar dados numéricos, conforme descrito em Preparar dados, e depois combinar os dados usando a distância euclidiana.
E se o conjunto de dados incluir o tamanho e a cor do sapato? A cor é um dado categórico, discutido no Curso intensivo de machine learning em Como trabalhar com dados categóricos. Os dados categóricos são mais difíceis de combinar com os dados numéricos de tamanho. Pode ser:
- De valor único (univalente), como a cor de um carro ("branco" ou "azul", mas nunca ambos)
- Com vários valores (multivalente), como o gênero de um filme (um filme pode ser "ação" e "comédia" ou apenas "ação")
Se os dados univalentes corresponderem, por exemplo, no caso de dois pares de sapatos azuis, a semelhança entre os exemplos é 1. Caso contrário, a similaridade é 0.
Dados multivalentes, como gêneros de filmes, são mais difíceis de trabalhar. Se houver um conjunto fixo de gêneros de filmes, a semelhança poderá ser calculada usando a proporção de valores comuns, chamada de semelhança de Jaccard. Exemplos de cálculos de similaridade de Jaccard:
- [“comedy”,”action”] e [“comedy”,”action”] = 1
- [“comedy”,”action”] e [“action”] = ½
- [“comedy”,”action”] and [“action”, "drama"] = ⅓
- [“comedy”,”action”] e [“non-fiction”,”biographical”] = 0
A similaridade de Jaccard não é a única medida de similaridade manual possível para dados categóricos. Dois outros exemplos:
- Os códigos postais podem ser convertidos em latitude e longitude antes de calcular a distância euclidiana entre eles.
- A cor pode ser convertida em valores RGB numéricos, com diferenças nos valores combinados na distância euclidiana.
Consulte Como trabalhar com dados categóricos para saber mais.
Em geral, uma medida de similaridade manual precisa corresponder diretamente à similaridade real. Se a métrica escolhida não tiver, ela não vai codificar as informações que você quer.
Pré-processe os dados com cuidado antes de calcular uma medida de similaridade. Os exemplos nesta página são simplificados. A maioria dos conjuntos de dados reais é grande e complexa. Como mencionado anteriormente, os quantis são uma boa escolha padrão para processar dados numéricos.
À medida que a complexidade dos dados aumenta, fica mais difícil criar uma medida de similaridade manual. Nessa situação, mude para uma medida de similaridade supervisionada, em que um modelo de aprendizado de máquina supervisionado calcula a similaridade. Isso será discutido em mais detalhes mais adiante.