Python ile Makine Öğrenmesi 2- KNN (K Nearest Neighbour) Kümeleme (Classifier) Modeli
Python kodu:
import numpy as np
import pandas as pd
import sklearn
from sklearn.utils import shuffle
from sklearn.neighbors import KNeighborsClassifier
from sklearn import linear_model, preprocessing
data = pd.read_csv ("maaş_tahmin_verisi.csv")
print(data.head())
le = preprocessing.LabelEncoder()
yas = le.fit_transform(list(data["yas"]))
issinifi = le.fit_transform(list(data["issinifi"]))
egitim = le.fit_transform(list(data["egitim"]))
meslek = le.fit_transform(list(data["meslek"]))
cinsiyet = le.fit_transform(list(data["cinsiyet"]))
ulke = le.fit_transform(list(data["ulke"]))
maas = le.fit_transform(list(data["maas"]))
predict = "maas"
x = list(zip(yas, issinifi, egitim, meslek, cinsiyet, ulke))
y = list(maas)
x_train, x_test, y_train, y_test = sklearn.model_selection.train_test_split(x, y, test_size=0.03)
model = KNeighborsClassifier(n_neighbors = 7)
model.fit(x_train, y_train)
acc = model.score(x_test, y_test)
print('doğruluk oranı:', acc)
predicted = model.predict(x_test)
names = ["-- 50000 den AZ -", "- 50000 den ÇOK --"]
for x in range(len(predicted)):
print("predicted: ", names[predicted[x]], "data: ", x_test[x], "Actual: ", names[y_test[x]])
with open('out.txt', 'w') as f: # this prints output to out.txt file
print('tahmin doğruluğu (accuracy):', acc, file=f)
for x in range(len(predicted)):
print("predicted: ", names[predicted[x]], "data: ", x_test[x], "Actual: ", names[y_test[x]], file=f)