Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from matplotlib import pyplot as plt
- from sklearn.neighbors import KNeighborsClassifier as nbh
- from sklearn import metrics
- import pandas as pd
- from sklearn import preprocessing
- import numpy as np
- from sklearn.metrics import accuracy_score
- def make_plot(ratios, accuracies, title):
- plt.figure()
- plt.plot(ratios, [acc[0] for acc in accuracies], label='test data')
- plt.plot(ratios, [acc[1] for acc in accuracies], label='train data')
- plt.xlabel('training data size')
- plt.ylabel('accuracy')
- plt.title(f'{title}\naccuracy(training data size)')
- plt.legend()
- plt.savefig(f'{title}.png')
- def accuracy(feat, train, tr_size):
- tr_size = 1-tr_size
- neigh = nbh(n_neighbors=3, n_jobs=1)
- neigh.fit(feat, train)
- print(neigh.predict(i for i in feat))
- def tic_tac_toe():
- features, targets = [], []
- with open("Tic_tac_toe.txt") as inp:
- for line in inp:
- features.append(line.split(',')[0:9])
- targets.append(line.split(',')[9].strip())
- le = preprocessing.LabelEncoder()
- features_encoded = [le.fit_transform(sample) for sample in features]
- targets_encoded = le.fit_transform(targets)
- ratios = np.linspace(0.01, 0.9, 100)
- accuracies = [accuracy(features_encoded, targets_encoded, ratio) for ratio in ratios]
- make_plot(ratios, accuracies, 'tic-tac-toe')
- tic_tac_toe()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement