You've already forked neighbours
32 lines
677 B
Python
32 lines
677 B
Python
import sys
|
|
|
|
sys.path.append("../")
|
|
|
|
import neighbours as ns
|
|
|
|
import numpy as np
|
|
import pandas as pd
|
|
|
|
df = pd.read_csv("IRIS.csv")
|
|
df["species"] = pd.factorize(df["species"])[0]
|
|
|
|
iris = np.array(df)
|
|
np.random.shuffle(iris)
|
|
|
|
test = iris[:15]
|
|
train = iris[15:]
|
|
|
|
class_labels = train[:, 4].astype(int)
|
|
train = np.delete(train, (4,), axis=1)
|
|
|
|
classifier = ns.KNNClassifier(4, 3, 10, 7)
|
|
classifier.load(train, class_labels)
|
|
|
|
correct_predictions = 0
|
|
|
|
for sample in test:
|
|
predicted_class = classifier.predict(sample[:4], ns.distance.manhattan, ns.kernel.epanechnikov, 3)
|
|
correct_predictions += predicted_class == sample[4]
|
|
|
|
print("accuracy: ", correct_predictions / len(test))
|