KNN - Einstieg

Einstiegsaufgabe

Bevor KNN erklärt wird, machen wir ein einfaches anschauliches Beispiel dazu. 

Dabei solltest Du mit Hilfe von Python einen Plot zeichnen und zwar Folgend: 

Vorbereitung

In Thonny können die Python-Packages einfach installiert werden:

Wenn die Installation nicht klappt, versuche es über die Shell: unter Tools->Open system shell… und installiert dort matplotlib mit pip install matplotlib.

Tutorial

1.Importiere die korrekten libraries. 

import matplotlib.pyplot as plt

import numpy as np

2. Wir wollen Punkte nun in unseren Plot hineinzeichnen. Und zwar Folgende: (1,2), (0.5, 3), (1.25, 4), (2.3, 1.75), (1,2.3), (2.5, 2.3), (2, 3.1), (1.5, 3), (5.5, 6), (6, 7), (5.5, 5.5), (4.5, 7.25), (4.5, 6.75), (4.75, 6.25), (5.1, 6.5).

2.1. Erstelle dazu zwei Listen. Eine Liste für die X-Werte und eine für die Y-Werte. 

Lösung Aufgabe 2 .1

Listen erstellt man mit den eckigen Klammern. Gib den einzelnen Liste gute Namen, z.B. 

x_points = [1, 0.5, 1.25, 2.3, 1, 2.5, 2, 1.5, 5.5, 6, 5.5, 4.5, 4.5, 4.75, 5.1]

y_points= [2,3,4, 1.75, 2.3, 3.1, 3,6, 7, 5.5, 7.25, 6.75, 6.25, 6.5, 7.5] 

2.2. Punkte nun mit matplotlib zeichnen. 

Zeichne nun die Punkte in dein Koordinatensystem ein. Was kannst Du beobachten?  

plt.plot(x_points, y_points, 'o')

plt.show()

Lösung Aufgabe 2 .2

Du siehst, dass die Punkte irgendwie geclusterd wirken. 

3. Den Punkten Farben geben und einen neuen Punkt klassifizieren. 

3.1. Farbe

Du kannst Deinen Punkten Farben geben. Gib den Punkten, welche sich unten links befinden, die Farbe rot, den Punkten oben rechts die Farbe blau. (Du musst deine erstellten Listen dazu wieder aufsplitten). Um deinen Punkten eine Farbe zu geben, musst Du ihnen das Attribut color ="" mitgeben. 

plt.plot(x_points_blue, y_points_blue, 'o', color ="blue")

plt.show()

Lösung Aufgabe 3 .1

Wir haben nun den Punkten eine neue Farbe zugeteilt. Nennen wir sie Klasse rot und Klasse blau. 

x_points_red = [1, 0.5, 1.25, 2.3, 1, 2.5, 2, 1.5]

y_points_red = [2, 3, 4, 1.75, 2.3, 3.1, 3, 6]

x_points_blue =  [5.5, 6, 5.5, 4.5, 4.5, 4.75, 5.1]

y_points_blue = [7, 5.5, 7.25, 6.75, 6.25, 6.5, 7.5]


plt.plot(x_points_red, y_points_red, 'o',color="red")

plt.plot(x_points_blue, y_points_blue, 'o', color="blue")

plt.show()


3.2. einen neuen Punkt zeichnen. 

Zeichne einen weiteren Punkt in dein Koordinatensystem: (2,3). Welche Farbe wurdest Du ihm zuweisen? Und was ist mit (3.5, 4.5)?


Lösung Aufgabe 3 .1

Den Punkt (2,3) würden wir wohl der "roten" Klasse zuweisen. (3.5, 4.5) ist vielleicht schwieriger. Da könnten evt. beide Klassen in Frage kommen. 

Und bei genau solchen Klassifizierungsproblemen, kommt KNN ins Spiel. Dazu im Unterricht dann mehr.

Wie KNN funktioniert, findest Du im Theoriekapitel: KNN-Theorie