[PYTHON] Apprentissage automatique ④ Résumé du K-plus proche voisin

Résumé du voisin le plus proche K

Quel est K-plus proche voisin?

Lorsque vous tracez des données de train sur un plan et testez certaines données de test't ', étiquetez les données de test't' sur le plan avec les valeurs les plus fréquentes de K points proches de ce point t. .. C'est la méthode du voisinage K. (Bien que j'utilise des avions autres que des avions, j'utiliserai ici des avions faciles à comprendre pour expliquer le concept.) C'est un peu difficile, alors je vais emprunter un diagramme de Wikipedia.

Screen Shot 2017-05-11 at 16.05.09.png Extracted from Wikipedia

Étiquetez les points verts en fonction des K points les plus proches. Ce à quoi je veux faire attention ici, c'est la variable K, qui est K points. Par exemple, dans la figure ci-dessus Si K = 3, 2 points rouges et 1 point bleu seront étiquetés en rouge. Si K = 5, 2 points rouges et 3 points bleus seront étiquetés comme bleus, et le point vert sera étiqueté comme bleu.

Précautions pour la méthode de voisinage K

Dans le cas ci-dessus, si les points rouges et bleus sont séparés dans une certaine mesure, la méthode de voisinage K fonctionnera bien. Cependant, au contraire, les points rouges et bleus ne sont pas particulièrement séparés, et si les données sont un mélange de points rouges et bleus, ce n'est pas une bonne idée d'utiliser la méthode de voisinage K.

――Et si vous augmentez le nombre de K, par exemple, si le nombre de points rouges est anormalement grand par rapport au nombre de points bleus, la probabilité d'être classé comme rouge sera également anormalement grande. Par conséquent, vous devez faire attention au rapport entre les points rouges et bleus.

code par défaut

python



from sklearn.neighbors import KNeighborsClassifier

KNeighborsClassifier(n_neighbors=5, weights='uniform', algorithm='auto', 
leaf_size=30, p=2, metric='minkowski', metric_params=None, n_jobs=1, **kwargs)

Description du paramètre dans K-plus proche voisin

Le paramètre le plus important est peut-être n_neighbors décrit ci-dessus, et le code ci-dessous vous donnera le nombre optimal de K points à considérer.

python



#Faites une liste de nombres à mettre en K K
myList = list(range(1,50))

#Soustrayez même de cette liste pour faire une liste des seules cotes
neighbors = filter(lambda x: x % 2 != 0, myList)

#Faites une liste vide pour mettre le score de validation croisée
cv_scores = []

#Faites une validation croisée et ajoutez le score à la liste vide ci-dessus
for k in neighbors:
    knn = KNeighborsClassifier(n_neighbors=k)
    scores = cross_val_score(knn, X_train, y_train, cv=10, scoring='accuracy')
    cv_scores.append(scores.mean())

Ceci est également un extrait du blog de kevinzakka

Ce qui précède sont les principaux paramètres. Aussi, j'ajouterai dès que je comprendrai plus. Si vous comprenez, les demandes de modification sont également les bienvenues. J'ai hâte de travailler avec vous.

Les avantages et les inconvénients du voisin le plus proche K.

Plus les données sont volumineuses, plus il est probable qu'une classification plus précise sera possible. Un modèle simple et facile à comprendre.

--Mauvais point

J'ai mentionné deux points négatifs dans la méthode de voisinage Qu'est-ce que K, mais je vais le résumer à nouveau en une phrase. Si plusieurs classes sont mélangées de manière anormale ou si le ratio est anormalement biaisé, la classification peut ne pas fonctionner.

Résumé

Ce qui précède est le contour du K-plus proche voisin pour autant que je puisse comprendre. Nous le mettrons à jour quotidiennement, donc si vous avez quelque chose à ajouter ou à corriger, nous vous serions reconnaissants de bien vouloir commenter.

Recommended Posts

Apprentissage automatique ④ Résumé du K-plus proche voisin
Résumé du didacticiel d'apprentissage automatique
Apprentissage automatique ⑤ Résumé AdaBoost
Apprentissage automatique: k-voisins les plus proches
Apprentissage automatique ② Résumé Naive Bayes
Résumé de l'article sur l'apprentissage automatique (auto-écrit)
Méthode de voisinage #k d'apprentissage automatique et sa mise en œuvre et divers
Apprentissage automatique
Apprentissage automatique ① Résumé SVM (Support Vector Machine)
Résumé de l'apprentissage automatique par les débutants de Python
Apprentissage automatique ③ Résumé de l'arbre de décision
scikit-learn Comment utiliser le résumé (apprentissage automatique)
Note récapitulative sur la programmation d'apprentissage automatique Python (Jupyter)
Résumé de la classification et de la mise en œuvre des algorithmes d'apprentissage automatique
[Memo] Apprentissage automatique
Classification de l'apprentissage automatique
Algorithme d'apprentissage automatique (résumé de régression linéaire et régularisation)
Exemple d'apprentissage automatique
Résumé des fonctions d'évaluation utilisées dans l'apprentissage automatique
Apprentissage automatique sur le surapprentissage
Apprentissage automatique: supervisé - AdaBoost
Régression logistique d'apprentissage automatique
Étudier l'apprentissage automatique ~ matplotlib ~
Régression linéaire d'apprentissage automatique
Mémo du cours d'apprentissage automatique
Bibliothèque d'apprentissage automatique dlib
Résumé de l'apprentissage RAPIDS
Bibliothèque d'apprentissage automatique Shogun
Défi de lapin d'apprentissage automatique
Introduction à l'apprentissage automatique
Qu'est-ce que l'apprentissage automatique?
Résumé des diapositives de la session de lecture ronde de la série professionnelle d'apprentissage automatique
Résumé du site pour apprendre l'apprentissage automatique avec une vidéo en anglais
Résumé du flux de base de l'apprentissage automatique avec Python
Introduction à l'apprentissage automatique ~ Montrons le tableau de la méthode du K plus proche voisin ~ (+ gestion des erreurs)
Modèle d'apprentissage automatique prenant en compte la maintenabilité
L'apprentissage automatique appris avec Pokemon
Ensemble de données pour l'apprentissage automatique
Prétraitement japonais pour l'apprentissage automatique
Programmation Python Machine Learning Chapitre 2 Problèmes de classification - Résumé de la formation à l'algorithme d'apprentissage automatique
Apprentissage automatique dans Delemas (s'entraîner)
Méthode de voisinage K (classification multi-classes)
Une introduction à l'apprentissage automatique
Techniques liées à l'apprentissage automatique / à la classification
Machine Learning: Supervision - Régression linéaire
Bases de l'apprentissage automatique (mémoire)
Un débutant en apprentissage automatique a essayé la RBM
[Apprentissage automatique] Comprendre la forêt aléatoire
Apprentissage automatique avec Python! Préparation
Résumé du site où vous pouvez apprendre gratuitement le machine learning
Bloc-notes de ressources d'étude d'apprentissage automatique
Comprendre l'apprentissage automatique ~ régression de crête ~.
À propos de la matrice mixte d'apprentissage automatique
Apprentissage automatique: forêt supervisée - aléatoire
Mémo pratique du système d'apprentissage automatique
Démineur d'apprentissage automatique avec PyTorch
Programmation Python Machine Learning> Mots-clés
Algorithme d'apprentissage automatique (perceptron simple)