import numpy as np
import funs
from scipy import sparse
from sklearn.svm import LinearSVC
from sklearn.metrics import hinge_loss

np.random.seed(21)
P2P_data = funs.P_data()
d = 1000
P2P_data.y, P2P_data.weight = np.sign(np.random.randn(d)), np.abs(
    np.random.randn(d, d)),
P2P_data.id = np.array(range(len(P2P_data.y)))

p, d = 10, P2P_data.weight.shape[0]

## construct weight matrix
echo = funs.GEC(p=p)
P = sparse.eye(d) - P2P_data.weight
P = np.dot(P.T, P)
## compute max eigen-value to determine the step size
sigma = np.max(np.linalg.eigvals(P))

## tensorflow
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()

train, valid, test = P2P_data.split_data()

## tunning parameters
lam1, lam2, delta = .1, .1, .1
Beispiel #2
0
from sklearn.preprocessing import normalize
from scipy import sparse
import random
from sklearn import preprocessing
from main_EL2_genX import EL_genX
from gen_weight import load_weight

p, d = 300, 2000
# weight = sparse.load_npz('weight_matrix.npz')
embedding_method = 'googlenews'
y = np.load('googlenew_y.npy')
input_data = sparse.load_npz('input_X.npz')
input_data = normalize(input_data, axis=1, norm='l1')
# d = len(dict_emb)

senti_data = funs.P_data()
senti_data.data = input_data
senti_data.id = np.arange(len(y))
senti_data.y = y

senti_data.weight = load_weight(a=6, b=14, c=7, d=23)
senti_data.weight = normalize(senti_data.weight, axis=1, norm='l1')
P = sparse.eye(d) - senti_data.weight
P = P.T.dot(P)

echo_perf = []
for j in range(20):
    train, valid, test = senti_data.split_data()
    echo_cv = []
    word_base_mat, acc_valid_orig, acc_test_orig = EL_genX(train,
                                                           valid,