import copy import math import random import multiprocessing import load_and_clean_data as lcd import linearsvm_sqhingeloss as lsvm import linearsvmmulticlass_sqhingeloss as lsvmmc from sklearn import cross_validation import utilityfunctions as util dirname = 'linearsvmmulticlass' path = util.makeresultsdir(dirname) seed = 0 image_features_dir = r'https://s3.amazonaws.com/data558filessuman/DataCompetitionfiles/data' train_features, train_labels, test_features, test_labels = lcd.load_image_data( image_features_dir) lambduh = 0.5 x_train, x_test, y_train, y_test = cross_validation.train_test_split( train_features, train_labels, random_state=0, test_size=0.25) #cross validation (Note: I am only doing the 2-class case for the CV here #and also plot confusion matrix, log accuracy score threads = multiprocessing.cpu_count() folds = 10 fitclasslabel = y_train[0] uniqueclasses = np.unique(y_train).astype(int) classindex = [x[0] for x in np.where(uniqueclasses == fitclasslabel)] ysub = y_train - fitclasslabel classidxs = (ysub == 0)
from IPython.core.display import display from datetime import datetime import sklearn from sklearn import linear_model as lm from sklearn import cross_validation from sklearn.metrics import accuracy_score, confusion_matrix import matplotlib.pyplot as plt import load_and_clean_data as lcd import utilityfunctions as util seed = 0 image_features_dir = r'https://s3.amazonaws.com/data558filessuman/DataCompetitionfiles/data' train_features, train_labels, test_features, test_labels = lcd.load_image_data( image_features_dir, standardize=1) #display(labelnames) #scikitlearn example from kernix page: # https://www.kernix.com/blog/image-classification-with-a-pre-trained-deep-neural-network_p11 lambda_start = -10 lambda_end = 2 lambdas = np.logspace(lambda_start, lambda_end, 50, base=10) C = 2 / (train_features.shape[0] * lambdas) print('trying with the following hyperparameters for tuning...') display(C)