def classify_species(s0, s1, ratio): sc = SimpleClassifier() iris, names = load_iris_data(s0, s1, ratio) sc.add_data(*iris.training) sc.train() valr = np.array([sc.classify(x) for x in iris.training[0]]) val = np.array([sc.classify(x) for x in iris.validation[0]]) return risk(valr, iris.training[1]), risk(val, iris.validation[1])
def classify_mnist(s0, s1, ratio, usage): sc = SimpleClassifier() mnist, names = load_mnist_data(s0, s1, ratio, usage) sc.k = lambda x, xp: (np.dot(x, xp))**1 sc.add_data(*mnist.training) sc.train() valr = np.zeros(np.shape(mnist.training[0])[0], dtype=np.int) val = np.zeros(np.shape(mnist.validation[0])[0], dtype=np.int) total_calcs = np.shape(mnist.training[0])[0] + np.shape( mnist.validation[0])[0] + 1 with tqdm(total=total_calcs, desc="Running Risk/Error Analysis", bar_format="{l_bar}{bar} [ time left: {remaining} ]") as pbar: for i in range(0, np.shape(mnist.training[0])[0]): valr[i] = sc.classify(mnist.training[0][i]) pbar.update(1) for i in range(0, np.shape(mnist.validation[0])[0]): val[i] = sc.classify(mnist.validation[0][i]) pbar.update(1) return risk(valr, mnist.training[1]), risk(val, mnist.validation[1])
from classifier import SimpleClassifier inputs = [[1, 2, 1, 1, 1], [2, 1, 3, 1, 1], [1, 2, 3, 2, 3], [2, 1, 3, 2, 3]] outputs = ['onsite_hired', 'onsite', 'rejected', 'rejected'] c = SimpleClassifier(inputs=inputs, outputs=outputs, train_eval_ratio=0.75) print('Training model...') c.train() print('Evaluating model...') accuracy = c.evaluate() print('Model accuracy: {:.3f}'.format(accuracy)) print(c.predict([1, 1, 1, 1, 1]))