K-NN com Múltiplas Características
Agora você entende como o k-NN funciona com uma única característica. Vamos avançar para um exemplo um pouco mais complexo que utiliza duas características: peso e largura.
Neste caso, é necessário encontrar vizinhos com base em ambos largura e peso. Mas há um pequeno problema nisso. Vamos plotar os doces e ver o que acontece:
Você pode observar que o peso varia de 12 a 64, enquanto a largura está apenas entre 5 e 12. Como a faixa da largura é muito menor, os doces parecem quase alinhados verticalmente. Se calcularmos as distâncias agora, elas refletirão principalmente as diferenças de peso, como se nunca tivéssemos considerado a largura.
Existe uma solução para isso - escalar os dados.
Agora, tanto o peso quanto a largura estão na mesma escala e centralizados em torno de zero. Isso pode ser alcançado pela classe StandardScaler do sklearn. O StandardScaler apenas subtrai a média da amostra e depois divide o resultado pelo desvio padrão da amostra:
StandardScaler centraliza os dados em torno de zero. Embora a centralização não seja obrigatória para o k-NN e possa causar confusão, como "como o peso pode ser negativo", é apenas uma forma de apresentar os dados ao computador. Alguns modelos exigem a centralização, portanto, utilizar o StandardScaler para escalonamento por padrão é recomendável.
Na verdade, você deve sempre escalonar os dados antes de usar o k-Nearest Neighbors. Com os dados escalonados, agora podemos encontrar os vizinhos:
No caso de duas características, o k-NN define uma vizinhança circular contendo o número desejado de vizinhos. Com três características, isso se torna uma esfera. Em dimensões superiores, a vizinhança assume uma forma mais complexa que não pode ser visualizada, mas os cálculos subjacentes permanecem inalterados.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Can you explain why scaling is important for k-NN?
What other scaling methods can be used besides StandardScaler?
How does k-NN work with more than two features?
Awesome!
Completion rate improved to 4.17
K-NN com Múltiplas Características
Deslize para mostrar o menu
Agora você entende como o k-NN funciona com uma única característica. Vamos avançar para um exemplo um pouco mais complexo que utiliza duas características: peso e largura.
Neste caso, é necessário encontrar vizinhos com base em ambos largura e peso. Mas há um pequeno problema nisso. Vamos plotar os doces e ver o que acontece:
Você pode observar que o peso varia de 12 a 64, enquanto a largura está apenas entre 5 e 12. Como a faixa da largura é muito menor, os doces parecem quase alinhados verticalmente. Se calcularmos as distâncias agora, elas refletirão principalmente as diferenças de peso, como se nunca tivéssemos considerado a largura.
Existe uma solução para isso - escalar os dados.
Agora, tanto o peso quanto a largura estão na mesma escala e centralizados em torno de zero. Isso pode ser alcançado pela classe StandardScaler do sklearn. O StandardScaler apenas subtrai a média da amostra e depois divide o resultado pelo desvio padrão da amostra:
StandardScaler centraliza os dados em torno de zero. Embora a centralização não seja obrigatória para o k-NN e possa causar confusão, como "como o peso pode ser negativo", é apenas uma forma de apresentar os dados ao computador. Alguns modelos exigem a centralização, portanto, utilizar o StandardScaler para escalonamento por padrão é recomendável.
Na verdade, você deve sempre escalonar os dados antes de usar o k-Nearest Neighbors. Com os dados escalonados, agora podemos encontrar os vizinhos:
No caso de duas características, o k-NN define uma vizinhança circular contendo o número desejado de vizinhos. Com três características, isso se torna uma esfera. Em dimensões superiores, a vizinhança assume uma forma mais complexa que não pode ser visualizada, mas os cálculos subjacentes permanecem inalterados.
Obrigado pelo seu feedback!