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])