Implementierung

Um anhand des "Bunte-Punkte-Problems" erste experimentelle Erfahrungen mit der Nächste-Nachbarn-Klassifikation sammeln zu können, dient der folgende Quellcode. Wie gehabt werden dort Trainings- sowie Testdaten unter Verwendung des ClassificationData-Pakets erzeugt:

Zur Referenz

Anschließend wird die Nächste-Nachbarn-Klassifikation auf alle Punkte der Testdaten angewandt. Wenn das Ergebnis mit der bekannten Klasse des Testobjekts übereinstimmt, dann wird der Punkt in Cyan dargestellt, anderenfalls in Orange.

Die genaue Referenz zur Durchführung einer Nächste-Nachbarn-Klassifikation findest du hier:

Zur Referenz

Beispiel
Ein kleines Experiment, um erste Erfahrungen mit der Nächste-Nachbarn-Klassifikation sammeln zu können.
Aufgabe

Mache dich mit dem Quellcode zuvor vertraut. Lasse dir auch die Trainings- und Testdaten samt Klassifikationsergebnis in entsprechender Farbe darstellen. Experimentiere anschließend mit der Nächste-Nachbarn-Klassifikation:

  1. Verändere den Umfang der Trainingsdaten.
  2. Verändere den Umfang der Testdaten.
  3. Verändere den Parameter k.
  4. Verändere die optionalen Parameter shape und noise beim Erzeugen der Trainings- sowie Testdaten.

Schaue dir ggf. nochmals die Referenz der Funktion ClassificationData.get an:

Zur Referenz

Quiz
Wie viel Prozent der Testdaten werden im Beispiel oben ungefähr korrekt klassifiziert, falls die Trainingsdaten aus 400 Objekten (Punkten) bestehen und k=3 gewählt wird?
10%
50%
90%
Wie viel Prozent der Testdaten werden im Beispiel oben ungefähr korrekt klassifiziert, falls die Trainingsdaten aus 400 Objekten (Punkten) bestehen und k=7 gewählt wird?
10%
50%
90%
Wie viel Prozent der Testdaten werden im Beispiel oben ungefähr korrekt klassifiziert, falls die Trainingsdaten aus 1000 Objekten (Punkten) bestehen und k=3 gewählt wird?
10%
50%
90%
Konfusionsmatrix