J'ai 7 cours qui doivent être classés et j'ai 10 caractéristiques. Existe-t-il une valeur optimale pour K que je dois utiliser dans ce cas ou dois-je exécuter le KNN pour des valeurs de K entre 1 et 10 (environ 10) et déterminer la meilleure valeur à l'aide de l'algorithme lui-même? p>
5 Réponses :
En plus de L'article < / a> J'ai posté dans les commentaires Il y a
Choix de K est très critique - une petite valeur de k signifie que le bruit aura une influence plus élevée sur le résultat. Une valeur importante le permet de calculer le calcul et de vaincre un peu la philosophie de base derrière KNN (que des points qui se trouvent à proximité peuvent avoir des densités ou des classes similaires). Une approche simple pour sélectionner K est définie k = n ^ (1/2). P > blockQuote>
Cela dépend beaucoup de vos cas individuels, il est parfois préférable de courir à travers chaque valeur possible pour K et de décider pour vous-même. P>
Pourriez-vous s'il vous plaît dites-moi si N signifie nombre de classes?
Vous classer en fonction des fonctionnalités, donc n signifie nombre de fonctionnalités.
Si j'ai 93 fonctionnalités que 97 seront un choix apte ou je devrais choisir 93 ^ 1/2?
Comme indiqué, vous devez avoir pris n ^ 0,5 (où n = n ° d'instances de données, pas de fonctionnalités) comme une valeur de départ pour K et la modifier en conséquence.
Qu'est-ce que cela signifie si le "optimal k" ne nous a pas donné les meilleurs résultats?
Une chose importante à noter dans l'algorithme K-nn est que le nombre de caractéristiques Venir à votre question, la valeur de
En Knn, trouver la valeur de k n'est pas facile. Une petite valeur de K signifie que le bruit aura une influence plus élevée sur le résultat et une grande valeur le rendre coûteux. p>
Les scientifiques de données choisissent généralement: P>
1. Nombre impair si le nombre de classes est 2 p>
2.Autre approche simple pour sélectionner K est défini K = SQRT (N). où n = nombre de points de données dans les données de formation. p>
J'espère que cela vous aidera. P>
La dépense de calcul d'un grand k code> n'est normalement pas la question la plus importante. Grand
k code> sera excessivant la structure locale ignorer.
Vous voudrez peut-être essayer cela comme une approche pour parcourir différentes valeurs K et la visualiser pour aider votre prise de décision. J'ai utilisé cela assez de fois et cela m'a donné le résultat que je voulais:
Il n'y a pas de méthodes statistiques prédéfinies pour trouver la valeur la plus favorable de K. Choisir une très petite valeur de K conduit à des limites de décision instable. La valeur de k peut être sélectionnée comme k = sqrt (n). où n = nombre de points de données dans les données de formation Le nombre impair est préféré comme k valeur k. P>
La plupart du temps sous l'approche est suivie dans l'industrie. Initialiser une valeur K aléatoire et commencer à calculer. Dériver une parcelle entre le taux d'erreur et k dénotant des valeurs dans une plage définie. Choisissez ensuite la valeur K comme ayant un taux d'erreur minimum. Dériver une parcelle entre précision et k dénotant des valeurs dans une plage définie. Choisissez ensuite la valeur K comme ayant une précision maximale. Essayez de trouver une valeur de transaction de K entre la courbe d'erreur et la courbe de précision. P>
Pourrait vouloir regarder Cet article < / a>
Oh non, malheureusement, je ne suis pas suffisamment compétent pour lire et comprendre ce papier. Est-ce que quelqu'un pourrait m'aider s'il vous plaît :( ?