4
votes

Que fait l'algorithme KNN dans la phase d'apprentissage?

Contrairement à d'autres algorithmes comme les régressions linéaires, KNN ne semble effectuer aucun calcul dans la phase d'apprentissage. Comme dans le cas des régressions linéaires, il trouve les coefficients dans la phase d'apprentissage, mais qu'en est-il de KNN?


0 commentaires

4 Réponses :


2
votes

KNN appartient au groupe d'apprenants paresseux. Contrairement aux apprenants enthousiastes tels que régression logistique , svms , réseaux de neurones , les apprenants paresseux stockent simplement les données d'entraînement en mémoire. Ensuite, lors de l'inférence, il trouve les K voisins les plus proches à partir des données d'entraînement afin de classer la nouvelle instance.


0 commentaires

7
votes

Pendant la phase d'apprentissage, KNN arrange les données (sorte de processus d'indexation) afin de trouver efficacement les voisins les plus proches pendant la phase d'inférence. Sinon, il devrait comparer chaque nouveau cas lors de l'inférence avec l'ensemble de données, ce qui le rend assez inefficace.

Vous pouvez en savoir plus à ce sujet sur: https: // scikit-learn.org/stable/modules/neighbors.html#nearest-nequart-algorithms


0 commentaires

0
votes

KNN est une méthode basée sur des instances, qui repose entièrement sur des exemples de formation, en d'autres termes, il mémorise tous les exemples de formation Donc en cas de classification, chaque fois qu'un exemple apparaît, il calcule la distance euclidienne entre l'exemple d'entrée et toute la formation exemples et renvoie le libellé de l'exemple d'entraînement le plus proche en fonction de la distance.


0 commentaires

1
votes

Knn est un apprenant paresseux. Cela signifie que, comme d'autres algorithmes apprennent dans leur phase d'apprentissage (régression linéaire, etc.), Knn apprend en phase d'apprentissage. Il ne stocke en fait que les points de données dans la RAM au moment de l'entraînement.

Comme dans le cas des régressions linéaires, il trouve les coefficients dans la phase d'apprentissage. Mais qu'en est-il de KNN? -> Dans le cas de KNN, il ajuste son paramètre en phase de test. En phase de test, il trouve sa solution optimale de paramètres (valeur K, technique de calcul de distance, etc.). Contrairement à d'autres algorithmes qui apprennent en phase d'entraînement et sont testés en phase de test, KNN apprend et se fait tester (K ​​fois CV) pour les paramètres en phase de test.

Calcul de la distance-> https: // scikit-learn .org / stable / modules / neighbours.html # algorithmes-voisins-les plus proches

Docs KNN python-> https: // scikit- learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html


0 commentaires