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

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: weight e width.

Neste caso, é necessário encontrar vizinhos com base em width e weight. Mas há um pequeno problema nisso. Vamos plotar os doces e ver o que acontece:

TwoFeatureNN1

É possível observar que o weight varia de 12 a 64, enquanto o width está apenas entre 5 e 12. Como a faixa de width é muito menor, os doces parecem quase alinhados verticalmente. Se calcularmos as distâncias agora, elas refletirão principalmente as diferenças em weight, como se width não fosse considerado.

Existe uma solução para isso — escalonamento dos dados.

TwoFeatureNNScaled

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 simplesmente 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}

O 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", isso é apenas uma forma de apresentar os dados ao computador. Alguns modelos exigem a centralização, então utilizar o StandardScaler para escalonamento por padrão é recomendável.

Na verdade, você deve sempre escalar os dados antes de usar o k-Nearest Neighbors. Com os dados escalados, agora podemos encontrar os vizinhos:

TwoFeatureNN

No caso de duas variáveis, o k-NN define uma vizinhança circular contendo o número desejado de vizinhos. Com três variáveis, isso se torna uma esfera. Em dimensões mais altas, 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.

Selecione a resposta correta

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

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