KNeighbours ist ein Classifier Algorithmus

Theoretische Funktionsweise


KNN ist ein Classifier Algorithmus, der zu einem zu klassifizierenden Datenpunkt die k nächsten Nachbarn bestimmt. K ist dabei eine Variable, die frei wählbar ist. Zum Beispiel könnte k=3 sein. Damit würden zu einem Datenpunkt die nächsten 3 Punkte bestimmt.

Programmierung


Import


from sklearn.neighbors import KNeighborsClassifier

Erstellen eines KNeighbors Objekts


KNeighborsClassifier(
	n_neighbors: Int = 5,  
	*=5,  
	weights: Unknown | ((...) -> Unknown) | Literal['uniform', 'distance'] = "uniform", 
	algorithm: Literal['auto', 'ball_tree', 'kd_tree', 'brute'] = "auto",  
	leaf_size: Int = 30,  
	p: Int = 2,  
	metric: str | ((...) -> Unknown) = "minkowski",  
	metric_params: Unknown | dict[Unknown, Unknown] = None,  
	n_jobs: Int | Unknown = None
)

Parameter

ParameterBedeutungMögliche Werte
n_neighborsAnzahl der nächsten Nachbarn die Untersucht werdennumber
weightsuniform: der Abstand der Datenpunkte bleibt unberücksichtigt
distance: der Abstand der Datenpunkte wird berücksitigt
"uniform" / "distance"

Beispiel:

clf = KNeighborsClassifier(n_neighbors=3, weights='distance')

Trainieren des Classifiers


clf.fit(x_train, y_train)

Bewerten der Genauigkeit


accuracy = clf.score(x_test, y_test)

Einen neuen Punkt klassifizieren


y_pred = clf.predict(x_test)