Y_test = None print("Non 0-1 labels removed from testing dataset!") print("\nTraining SVM on MNIST dataset...") svm = SupportVectorMachine() svm.train(X, Y, 1) print("SVM trained!") print("\nTraining Linear Regression on MNIST dataset...") linear = LinearRegression() linear.train(X, Y) print("Linear regression trained!") print("\nTraining Logistic Regression on MNIST dataset...") logistic = LogisticRegression() logistic.train(X, Y) print("Logistic regression trained!") # Test SVM print("\nRunning SVM on test data...") misclassified = svm.test(X2, Y2) print("Generalization Error:", round(misclassified/Y2.size, 3)) print("Misclassified:", misclassified, "/", Y2.size) print("Accuracy (on test data):", round((1 - (misclassified/Y2.size)) * 100, 3), '%') # Test Linear Regression print("\nRunning Linear Regression on test data...") misclassified = linear.test(X2, Y2) print("Generalization Error:", round(misclassified/Y2.size, 3)) print("Misclassified:", misclassified, "/", Y2.size) print("Accuracy (on test data):", round((1 - (misclassified/Y2.size)) * 100, 3), '%')
from mnist import MNIST mndata = MNIST('./MNIST') trImg, trLab = mndata.load_training() teImg, teLab = mndata.load_testing() trImg = np.asanyarray(trImg) trLab = np.asanyarray(trLab) teImg = np.asanyarray(teImg) teLab = np.asanyarray(teLab) usps = LoadUSPS.LoadUSPS('proj3_images.zip') uspsImg, uspsLab = usps.load() #1> logistic Regression logistic = LogisticRegression(28 * 28, 10) logistic.train(trImg, trLab, lr = 0.3) accuracy = logistic.test(teImg, teLab) uspsacc = logistic.test(uspsImg, uspsLab) print('logisticregression accuracy :', accuracy, uspsacc) #grid search for best learning rate performance #for lr in [0.5, 0.3, 0.1, 0.05, 0.01]: # logistic.train(trImg, trLab, lr = 0.1) # accuracy = logistic.test(teImg, teLab) # print(lr, accuracy) #2> Multilayer perceptron implementation using tensorflow mlp = MLP.MLP() mlp.train()
# -*- coding: utf-8 -*- """ Created on Mon Sep 4 17:29:50 2017 @author: heman """ from request_data_link import get import numpy as np from logistic import LogisticRegression link = 'http://data.princeton.edu/wws509/datasets/copen.raw' m, n, parsed_data = get(link, 6) index = list(range(0, parsed_data.size, 6)) parsed_data = np.delete(parsed_data, index) index = list(range(4, parsed_data.size, 5)) targets = parsed_data[index] data = np.delete(parsed_data, index).reshape(m, n - 1) del link, m, n, parsed_data, index regr = LogisticRegression() regr.train(data, targets, iter=1000000, step=0.001, lamda=0) labels, predictions = regr.test(data, targets)