Beispiel #1
0
 def __init__(self):
     self.mc = 0
     self.rtcl = 3
     self.nrtcl = 5
     self.scl = 4
     self.server = 2
     self.current = Node(2, 0, 4)
     self.rt_queue = deque([])
     self.nrt_queue = deque([])
     self.preempt = -1
     self.rt_iat = self.nrt_iat = self.rt_st = self.nrt_st = 0
     # Results
     self.m = 0
     self.b = 0
     self.nrt = 0
     self.nnrt = 0
     self.rt_times = []
     self.nrt_times = []
     self.rt_mean = []
     self.nrt_mean = []
     self.rt_percentile = []
     self.nrt_percentile = []
     self.results = Result()
Beispiel #2
0
import numpy as np
from util.file import *
from quantification.helpers import *
from util.plot_correction import plot_corr
from util.results import Result

VECTORSPATH = '../vectors'

sample_size = 200
samples_by_prevalence = 100

results_table = Result()


def add_results(results, dataset, method, approach):
    for metric, score in results.items():
        results_table.add(dataset=dataset,
                          method=method,
                          approach=approach,
                          metric=metric,
                          score=score)


for vectorset_name in list_dirs(VECTORSPATH):
    print(vectorset_name)
    vectorset = join(VECTORSPATH, vectorset_name)

    train_x = np.load(join(vectorset, 'train.vec.npy'))
    train_y = np.load(join(vectorset, 'train.y.npy'))
    train_y_pred = np.load(join(vectorset, 'train.y_pred.npy'))
    train_y_prob = np.load(join(vectorset, 'train.y_prob.npy'))
from data.tasks import WebisCLS10_task_generator, WebisCLS10_crossdomain_crosslingual_task_generator
from experiments.common import DCIclassify
from model.dci import DCI
from model.pivotselection import pivot_selection
import os
from time import time
from util.results import Result

dcf = 'cosine'
npivots = 450

optimize = True
dataset_home = '../datasets/Webis-CLS-10'

rperf = Result([
    'dataset', 'task', 'method', 'acc', 'pivot_t', 'dci_t', 'svm_t', 'test_t'
])
for source, target, oracle, taskname in WebisCLS10_crossdomain_crosslingual_task_generator(
        os.path.abspath(dataset_home)):

    # pivot selection
    tinit = time()
    s_pivots, t_pivots = pivot_selection(npivots,
                                         source.X,
                                         source.y,
                                         source.U,
                                         target.U,
                                         source.V,
                                         target.V,
                                         oracle=oracle,
                                         phi=30,
Beispiel #4
0
from model.dci import DCI
from model.pivotselection import pivot_selection
import numpy as np
from util.results import Result

optimize = True

mds_home= '../datasets/MDS'
dataset_home='../datasets/Webis-CLS-10'

nfolds=5
outfile = './DCI.varpivot.dat'
if exists(outfile):
    rperf = Result.load(outfile, False)
else:
    rperf = Result(['dataset', 'task', 'method', 'fold', 'npivots', 'acc', 'dci_time', 'svm_time'])


pivot_range = [10,25,50,100,250,500,1000,1500,2000,2500,5000]

for source, target, fold, taskname in MDS_task_generator(abspath(mds_home), nfolds=nfolds):
    s_pivots, t_pivots = pivot_selection(max(pivot_range), source.X, source.y, source.U, target.U,
                                         source.V, target.V,
                                         phi=1, cross=True)

    for npivots in pivot_range:
        for dcf in ['cosine','linear']:
            dci = DCI(dcf=dcf, unify=False, post='normal')
            acc, dci_time, svm_time, _ = DCIclassify(source, target, s_pivots[:npivots], t_pivots[:npivots], dci, optimize=True)
            rperf.add(dataset='MDS', task=taskname, method=str(dci), fold=fold, npivots=npivots, acc=acc, dci_time=dci_time, svm_time=svm_time)
            rperf.pivot(index=['dataset', 'task','npivots'], values=['acc', 'dci_time', 'svm_time'])
from sklearn.model_selection import cross_val_score, GridSearchCV
from sklearn.svm import LinearSVC
from data.domain import unify_feat_space
from data.tasks import MDS_task_generator, UpperMDS_task_generator
from os.path import abspath
from util.results import Result


dataset_home='../datasets/MDS'
nfolds=5
upper={}
parameters = {'C': [10 ** i for i in range(-5, 5)]}

results = Result(['dataset', 'task', 'method', 'fold', 'acc'])
for domain in UpperMDS_task_generator(abspath(dataset_home)):
    svm = GridSearchCV(LinearSVC(), parameters, n_jobs=-1, verbose=1, cv=5)
    upper[domain.domain] = cross_val_score(svm, domain.X, domain.y, cv=5).mean()

for source, target, fold, taskname in MDS_task_generator(abspath(dataset_home), nfolds=nfolds):
    svm = GridSearchCV(LinearSVC(), parameters, n_jobs=-1, verbose=1, cv=5)
    target_domain_name = target.domain
    source, target = unify_feat_space(source, target)
    svm.fit(source.X, source.y)
    yte_ = svm.predict(target.X)
    acc = (yte_ == target.y).mean()

    results.add(dataset='MDS', task=taskname, method='Lower', fold=fold, acc=acc)
    results.add(dataset='MDS', task=taskname, method='Upper', fold=fold, acc=upper[target_domain_name])

results.pivot(grand_totals=True)