Escolar Documentos
Profissional Documentos
Cultura Documentos
O Vizinho Mais Próximo (ou Nearest Neighbor) é um algoritmo de aprendizado de máquina muito simples
e intuitivo, geralmente usado para classificação. A ideia principal do Vizinho Mais Próximo é classificar uma
nova instância com base nas classes das instâncias existentes que estão mais próximas a ela no espaço de
atributos.
No código abaixo foi realizado a normalização dos dados de entrada, colocando todos os atibutos na mesma
escala entre [0, 1] e armazenados em dados normalizados. A proporçãode treinamento e teste foi definida em
O algoritmo rodou 20 vezes conforme solicitado para ao fim apresentar o máximo, média, minimo e desvio
desconhecidos.
1
for k = 1:numIterations
% Embaralhando os dados
idx = randperm(size(X_norm, 1));
X_shuffled = X_norm(idx, :);
Y_shuffled = Y(idx);
for i = 1:sum(testIdx)
% Calculando as distâncias entre a instância de teste e todas as instâncias
de treinamento
distances = sqrt(sum((Xtrain - Xtest(i, :)).^2, 2));
% Calculando a acurácia
accuracy = sum(Ypred == Ytest) / numel(Ytest);
accuracies(k) = accuracy;
2
variabilidade do desempenho do modelo durante o processo de treinamento e avaliação.
% Apresentando os resultados
disp(['Mínimo: ', num2str(min(accuracies))]);
Mínimo: 0.91111
Máximo: 0.97778
Média: 0.94778
3
4