O apredizado baseado em instâncias é a teoria por trás do algoritmo kNN (nearest neighbours),
Algoritmo kNN
K-Nearest Neighbours (K-vizinhos mais próximos).
Setando o valor de K, o algoritmo vai procurar pelas "K" classificações mais próximas da predição que queremos fazer. Em um contexto 2D (dois atributos e uma classificação), seria como a imagem abaixo:

Ponto importante
A maioria dos métodos analisa os dados, durante o treinamento, e constrói um modelo, descartando os dados. Já os métodos baseados em instãncia armazenam os dados do treinamento (logo, não existe de fato um treinamento, mas sim uma comparação com os dados treinados). Métodos assim são chamados de "lazy".
Entendendo o cálculo de distância

Para saber a distãncia de cada valor do dataset, o algoritmo faz o cálculo de distãncia euclidiana.
Quebrando o algoritmo:
- X e Y são os objetos que queremos saber a distância
- X e Y possuem P características (os atributos)
- X = 5, 7 e 9 (sei lá, imagina 3 atributos com os valores 5, 7 e 9)
- Y = 5, 5 e 5
- No somatório (E) estamos falando que vamos de I até P (primeira posição até a última)
- Dentro do somatório, temos a subtração
- Quando i = 0; (Xi - Yi) é (5 - 5), então 0
- Quando i = 1; (Xi - Yi) é (7 - 5), então 2
- Quando i = 2; (Xi - Yi) é (9 - 5), então 4
- Ainda dentro do somatório, temos que fazer a potência em 2 para cada valor
- Quanto I = 0; 0² = 0
- Quando I = 1; 2² = 4
- Quando I = 2; 4² = 16
- Sem mais cálculos dentro do somatório, temos que fazer a soma do resultado de cada posição pra concluir o somatório
- Agora, fora do somatório, temos a raiz quadrada de 20: 4,47
- A distância euclidiana entre X e Y é 4,47
Limpando os valores do dataset
O kNN trabalha melhor se tivermos valores de atributos baixos, para isso usamos a normalização e padronização.