[PYTHON] Maschinelles Lernen ④ K-nächster Nachbar Zusammenfassung

Zusammenfassung des K-nächsten Nachbarn

Was ist K-nächster Nachbar?

Wenn Sie Zugdaten in einer Ebene zeichnen und bestimmte Testdaten nicht testen, kennzeichnen Sie die Testdaten in der Ebene mit den häufigsten Werten von K Punkten nahe diesem Punkt t. .. Das ist die K-Nachbarschaftsmethode. (Obwohl ich andere als Flugzeuge verwende, werde ich hier leicht verständliche Flugzeuge verwenden, um das Konzept zu erklären.) Es ist ein bisschen schwierig, also leihe ich mir ein Diagramm von Wikipedia aus.

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

Beschriften Sie die grünen Punkte anhand der K nächsten Punkte. Was ich hier beachten möchte, ist die Variable K, die K Punkte ist. Zum Beispiel in der obigen Abbildung Wenn K = 3, werden 2 rote Punkte, 1 blauer Punkt und grüne Punkte als rot markiert. Wenn K = 5, werden 2 rote und 3 blaue Punkte als blau und der grüne Punkt als blau markiert.

Vorsichtsmaßnahmen für die K-Nachbarschaftsmethode

――In dem obigen Fall funktioniert die K-Nachbarschaftsmethode gut, wenn die roten und blauen Punkte zu einem gewissen Grad getrennt sind. Im Gegenteil, die roten und blauen Punkte sind nicht besonders getrennt, und wenn die Daten eine Mischung aus roten und blauen Punkten sind, ist es keine gute Idee, die K-Nachbarschaftsmethode zu verwenden.

――Und wenn Sie beispielsweise die Anzahl von K erhöhen, wenn die Anzahl der roten Punkte im Vergleich zur Anzahl der blauen Punkte ungewöhnlich groß ist, ist auch die Wahrscheinlichkeit, als rot eingestuft zu werden, ungewöhnlich groß. Daher müssen Sie auf das Verhältnis von roten und blauen Punkten achten.

Standardcode

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)

Beschreibung des Parameters im K-nächsten Nachbarn

Der vielleicht wichtigste Parameter ist n_neighbors, wie oben beschrieben, und der folgende Code gibt Ihnen die optimale Anzahl von K Punkten, die berücksichtigt werden müssen.

python



#Erstellen Sie eine Liste mit Zahlen, die in K K eingegeben werden sollen
myList = list(range(1,50))

#Subtrahieren Sie sogar von dieser Liste, um eine Liste nur der Gewinnchancen zu erstellen
neighbors = filter(lambda x: x % 2 != 0, myList)

#Erstellen Sie eine leere Liste, um die Kreuzvalidierungsbewertung zu erstellen
cv_scores = []

#Führen Sie eine Kreuzvalidierung durch und hängen Sie die Punktzahl an die obige leere Liste an
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())

Dies ist auch ein Auszug aus kevinzakkas Blog

Das Obige sind die Hauptparameter. Außerdem werde ich hinzufügen, sobald ich mehr verstehe. Wenn Sie verstehen, sind auch Bearbeitungsanfragen willkommen. Ich freue mich darauf, mit Dir zu arbeiten.

Das Für und Wider des nächsten Nachbarn.

Je größer die Daten sind, desto wahrscheinlicher ist es, dass eine genauere Klassifizierung möglich ist. Ein einfaches und leicht verständliches Modell.

--Schlechter Punkt

Ich habe zwei schlechte Punkte in der Nachbarschaftsmethode Was ist K erwähnt, aber ich werde es noch einmal in einem Satz zusammenfassen. Wenn mehrere Klassen abnormal gemischt werden oder wenn das Verhältnis abnormal verzerrt ist, funktioniert die Klassifizierung möglicherweise nicht.

Zusammenfassung

Das Obige ist der Umriss des K-nächsten Nachbarn, soweit ich verstehen kann. Wir werden es täglich aktualisieren. Wenn Sie also etwas hinzufügen oder reparieren müssen, würden wir uns freuen, wenn Sie einen Kommentar abgeben könnten.

Recommended Posts

Maschinelles Lernen ④ K-nächster Nachbar Zusammenfassung
Zusammenfassung des Lernprogramms für maschinelles Lernen
Maschinelles Lernen ⑤ AdaBoost-Zusammenfassung
Maschinelles Lernen: k-Nächste Nachbarn
Maschinelles Lernen ② Naive Bayes Zusammenfassung
Zusammenfassung der Artikel zum maschinellen Lernen (selbst verfasst)
Maschinelles Lernen #k Nachbarschaftsmethode und deren Implementierung und verschiedene
Maschinelles Lernen
Maschinelles Lernen ① SVM-Zusammenfassung (Support Vector Machine)
Zusammenfassung des maschinellen Lernens von Python-Anfängern
Maschinelles Lernen ③ Zusammenfassung des Entscheidungsbaums
scikit-learn Verwendung der Zusammenfassung (maschinelles Lernen)
"Python Machine Learning Programming" - Zusammenfassung (Jupyter)
Zusammenfassung der Klassifizierung und Implementierung von Algorithmen für maschinelles Lernen
[Memo] Maschinelles Lernen
Klassifikation des maschinellen Lernens
Algorithmus für maschinelles Lernen (Zusammenfassung und Regularisierung der linearen Regression)
Beispiel für maschinelles Lernen
Zusammenfassung der beim maschinellen Lernen verwendeten Bewertungsfunktionen
Maschinelles Lernen Über Overlearning
Maschinelles Lernen: Betreut --AdaBoost
Logistische Regression beim maschinellen Lernen
Maschinelles Lernen studieren ~ matplotlib ~
Lineare Regression des maschinellen Lernens
Memo zum Kurs für maschinelles Lernen
Bibliothek für maschinelles Lernen dlib
Zusammenfassung zum Lernen von RAPIDS
Bibliothek für maschinelles Lernen Shogun
Maschinelles Lernen Kaninchen Herausforderung
Einführung in das maschinelle Lernen
Was ist maschinelles Lernen?
Zusammenfassung der runden Lesesitzungen der professionellen Serie für maschinelles Lernen
Site-Zusammenfassung zum Erlernen des maschinellen Lernens mit englischen Videos
Zusammenfassung des grundlegenden Ablaufs des maschinellen Lernens mit Python
Einführung in das maschinelle Lernen ~ Zeigen wir die Tabelle der K-Methode für den nächsten Nachbarn ~ (+ Fehlerbehandlung)
Modell des maschinellen Lernens unter Berücksichtigung der Wartbarkeit
Maschinelles Lernen mit Pokemon gelernt
Datensatz für maschinelles Lernen
Japanische Vorverarbeitung für maschinelles Lernen
Python Machine Learning Programming Kapitel 2 Klassifizierungsprobleme - Zusammenfassung des Trainingsalgorithmus für maschinelles Lernen
Maschinelles Lernen in Delemas (Praxis)
K Nachbarschaftsmethode (Mehrklassenklassifikation)
Eine Einführung in das maschinelle Lernen
Techniken im Zusammenhang mit maschinellem Lernen / Klassifizierung
Maschinelles Lernen: Überwacht - Lineare Regression
Grundlagen des maschinellen Lernens (Denkmal)
Anfänger des maschinellen Lernens versuchten RBM
[Maschinelles Lernen] Zufällige Gesamtstruktur verstehen
Maschinelles Lernen mit Python! Vorbereitung
Site-Zusammenfassung, auf der Sie kostenlos maschinelles Lernen lernen können
Lernressourcen-Lernblock für maschinelles Lernen
Verstehe maschinelles Lernen ~ Ridge Regression ~.
Über maschinelles Lernen gemischte Matrix
Maschinelles Lernen: Überwacht - Zufälliger Wald
Praktisches Memo zum maschinellen Lernsystem
Maschinelles Lernen Minesweeper mit PyTorch
Python Machine Learning Programming> Schlüsselwörter
Algorithmus für maschinelles Lernen (einfaches Perzeptron)