def get_class(self, labels): l = [(np.sum(labels == i), i) for i in set(labels)] l = np.array(l, dtype=[('x', np.int16), ('y', np.int16)]) return np.sort(l, order='x')[::-1] def predit(self, x): topk = self.get_topk(x) c = self.get_class(topk[1]) confidence = c[0][0] / self.k clazz = c[0][1] return clazz, confidence if __name__ == '__main__': load = Load() train, test = load.load_train(2000), load.load_test(200) print('获取数据成功:', train[0].shape, train[1].shape) #预处理标签 train_labels, test_labels = np.argmax(train[1], axis=1), np.argmax(test[1], axis=1) classify = Classify(6, train[0], train_labels) ylabel, y_label = np.array([]), np.array([]) for test_item, i in zip(test[0], np.arange(0, test[0].shape[0])): x = test_item # print(x.shape) y = test_labels[i] # topk=classify.get_topk(x) # # # print('k:',topk[1])