예제 #1
0
    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])