def write_results(data, dist, small, train, LOOCV): filename = dist if small: filename += '_small' filename += '_train' if train else '_test' if LOOCV: filename += '_LOOCV' np.savetxt(f'./results/QE/{filename}.txt', data, delimiter=",", fmt='%s') train = np.loadtxt(r'./data/MNIST_train.csv', delimiter=',') X_train, y_train = train[:, 1:], train[:, 0] cls = kNN(X=X_train, y=y_train) while True: if info.size == 0: last_index = int(0) else: last_index = int(info[-1][0]) if last_index == 21_000: print('DONE!') break print('last_index', last_index, '/', len(X_train)) y_hat = cls.predict(X_train[last_index + 1:last_index + 101, :], 'minkowski', LOOCV=True, p=p)
def classify_euklides(self, test_value: StructNeighbour, k: int): knn = kNN(kNN.distance_euklides) return knn.assign(self.neighbourhood, test_value, k)
def classify_street(self, test_value: StructNeighbour, k: int): knn = kNN(kNN.distance_street) return knn.assign(self.neighbourhood, test_value, k)
def a_classify_street(self, test_value: StructNeighbour, kmin: int, kmax: int): knn = kNN(kNN.distance_street) return knn.assign_array(self.neighbourhood, test_value, kmin, kmax)
def classify_chebyshev(self, test_value: StructNeighbour, k: int): knn = kNN(kNN.distance_chebyshev) return knn.assign(self.neighbourhood, test_value, k)