Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda K-NN com Múltiplas Características | Classificador K-NN
Classificação com Python

bookK-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:

Xscaled=XxˉsX_{scaled} = \frac{X - \bar x}{s}

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.

question mark

Escolha a afirmação correta.

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 3

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Suggested prompts:

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

bookK-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:

Xscaled=XxˉsX_{scaled} = \frac{X - \bar x}{s}

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.

question mark

Escolha a afirmação correta.

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 3
some-alt