from sklearn.linear_model import SGDClassifier from load_data import convert_binary, load_usps from mylasso import * from load_data import load_mnist, convert_binary """ experiments on relation between sparse pattern and regularization weight lmda """ data = load_mnist() pos_ind = 6 neg_ind = 5 sig_D = 100 # lmda_list = [0.0005, 0.001, 0.01, 0.1, 0.3] x, y = convert_binary(data, pos_ind, neg_ind) n, p = x.shape x = x.astype(float) y = y.astype(float) min_max_scaler = preprocessing.MinMaxScaler(feature_range=(0, 1)) x = min_max_scaler.fit_transform(x) # xtest = min_max_scaler.transform(x) # ntrain = ytrain.size alphas, coefs, gaps = linear_model.lasso_path(x, y, n_alphas=5, return_models=False, fit_intercept=False) lmda_list = alphas[::-1] n_iter = 10 ss = cv.StratifiedShuffleSplit(y=y, n_iter=n_iter, test_size=0.3, random_state=5) nzs_scg_T = np.zeros((n_iter, len(lmda_list))) nzs_scg_bar = np.zeros((n_iter, len(lmda_list))) nzs_rda_T = np.zeros((n_iter, len(lmda_list)))
from sklearn import preprocessing from sklearn.metrics import zero_one_loss from sklearn import preprocessing import sklearn.cross_validation as cv from sklearn.linear_model import SGDClassifier from load_data import convert_binary, load_usps from mylasso import * pos_class = 3 neg_class = 5 random_state = 33 n_iter = 1 data = load_usps() x, y = convert_binary(data, pos_class, neg_class) # sss = cv.StratifiedShuffleSplit(y, n_iter=n_iter, test_size=0.4, train_size=0.6, random_state=random_state) n, p = x.shape lmda = 0.5 xtrain, xtest, ytrain, ytest = cv.train_test_split(x, y, test_size=0.1, random_state=random_state) min_max_scaler = preprocessing.MinMaxScaler(feature_range=(0, 1)) xtrain = min_max_scaler.fit_transform(xtrain) xtest = min_max_scaler.transform(xtest) ntrain = ytrain.size b = 4 c = 1 eta = 0.1 sig_D = 1000 # fix number of examples