from sklearn.neighbors import KNeighborsClassifier
# definišemo instancu kNN, a za k biramo vrednost 3. To je prosleđeno samoj inicijalizaciji objekta kao parametar n_neighbors
kNN = KNeighborsClassifier(n_neighbors=3)
# prosleđujemo ulazne podatke našem algoritmu.
# kNN je zapravo jedan od retkih algoritama koji nakon što mu se proslede ulazni podaci vrši samo prihatanje podataka
kNN.fit(X,y)
# sam algoritam radiće tek kada mu se dodeli test skup i kada pozovemo naredbu predict
# algoritam prvo pronalazi 3 (odnosno k) najbliže tačke, a zatim proverava koje su njihove klase i onda vrši "majority vote"
kNN.predict(x_test_1.reshape(1,-1))
# kNN primenjen na iris dataset
# učitajmo sam iris dataset
from sklearn import datasets
iris = datasets.load_iris()
X = iris.data
y = iris.target
# podelimo sada dataset na trening i skup "ručno"
# Ovaj proces daće nam malo više intuicije kako se zapravo vrši ova podela i kako to možemo sami uraditi
# bez korišćenja naredbe train_test_split()
# kreirajmo sve indekse za naš skup koji ima 150 elemenata
svi_indeksi = np.arange(150)
print(svi_indeksi)