def __init__(self, X, Y, regparam=1.0, kernel='LinearKernel', basis_vectors=None, **kwargs): Y = array_tools.as_2d_array(Y) self.Y = np.mat(Y) if X.shape[0] != Y.shape[0]: raise Exception("First dimension of X and Y must be the same") if basis_vectors != None: if X.shape[1] != basis_vectors.shape[1]: raise Exception( "Number of columns for X and basis_vectors must be the same" ) kwargs["bias"] = 0. kwargs['kernel'] = kernel kwargs['X'] = X if basis_vectors != None: kwargs['basis_vectors'] = basis_vectors self.svdad = creators.createSVDAdapter(**kwargs) self.regparam = regparam self.svals = self.svdad.svals self.svecs = self.svdad.rsvecs self.size = self.Y.shape[0] self.solve(self.regparam)
def createLearner(cls, **kwargs): new_kwargs = {} new_kwargs["svdad"] = creators.createSVDAdapter(**kwargs) new_kwargs["train_labels"] = kwargs["train_labels"] if kwargs.has_key("regparam"): new_kwargs['regparam'] = kwargs["regparam"] learner = cls(**new_kwargs) return learner
def __init__(self, **kwargs): self.svdad = creators.createSVDAdapter(**kwargs) self.Y = array_tools.as_labelmatrix(kwargs["train_labels"]) if kwargs.has_key("regparam"): self.regparam = float(kwargs["regparam"]) else: self.regparam = 1. self.svals = self.svdad.svals self.svecs = self.svdad.rsvecs self.results = {}
def createLearner(cls, **kwargs): new_kwargs = {} new_kwargs["svdad"] = creators.createSVDAdapter(**kwargs) if kwargs.has_key("regparam"): new_kwargs['regparam'] = float(kwargs["regparam"]) if kwargs.has_key("train_labels"): new_kwargs["train_labels"] = kwargs["train_labels"] if kwargs.has_key("number_of_clusters"): new_kwargs['number_of_clusters'] = int(kwargs["number_of_clusters"]) if kwargs.has_key("fixed_indices"): new_kwargs["fixed_indices"] = kwargs["fixed_indices"] if kwargs.has_key("callback_obj"): new_kwargs["callback_obj"] = kwargs["callback_obj"] learner = cls(**new_kwargs) return learner
def createLearner(cls, **kwargs): new_kwargs = {} new_kwargs["svdad"] = creators.createSVDAdapter(**kwargs) if kwargs.has_key("regparam"): new_kwargs['regparam'] = float(kwargs["regparam"]) if kwargs.has_key("train_labels"): new_kwargs["train_labels"] = kwargs["train_labels"] if kwargs.has_key("number_of_clusters"): new_kwargs['number_of_clusters'] = int( kwargs["number_of_clusters"]) if kwargs.has_key("fixed_indices"): new_kwargs["fixed_indices"] = kwargs["fixed_indices"] if kwargs.has_key("callback_obj"): new_kwargs["callback_obj"] = kwargs["callback_obj"] learner = cls(**new_kwargs) return learner
def __init__(self, X, pairs_start_inds, pairs_end_inds, regparam = 1.0, kernel='LinearKernel', basis_vectors = None, **kwargs): kwargs['kernel'] = kernel kwargs['X'] = X if basis_vectors != None: kwargs["basis_vectors"] = basis_vectors self.regparam = regparam self.pairs = np.vstack([pairs_start_inds, pairs_end_inds]).T self.svdad = creators.createSVDAdapter(**kwargs) self.svals = self.svdad.svals self.svecs = self.svdad.rsvecs self.results = {} self.X = csc_matrix(X) self.bias = 0. self.results = {} self.solve(regparam)
def __init__(self, X, regparam=1.0, number_of_clusters=2, kernel='LinearKernel', basis_vectors=None, Y=None, fixed_indices=None, callback=None, **kwargs): kwargs['X'] = X kwargs['kernel'] = kernel if basis_vectors != None: kwargs['basis_vectors'] = basis_vectors self.svdad = creators.createSVDAdapter(**kwargs) self.svals = self.svdad.svals self.svecs = self.svdad.rsvecs self.callbackfun = callback self.regparam = regparam self.constraint = 0 self.labelcount = number_of_clusters self.size = X.shape[0] #if self.labelcount == 2: # self.oneclass = True #else: # self.oneclass = False if Y == None: self.classvec = np.zeros(self.size) else: self.classvec = Y #self.size = self.classvec.shape[0] self.Y = -np.ones((self.size, self.labelcount)) self.classcounts = np.zeros((self.labelcount), dtype=np.int32) for i in range(self.size): clazzind = self.classvec[i] self.Y[i, clazzind] = 1 self.classcounts[clazzind] = self.classcounts[clazzind] + 1 self.fixedindices = [] if fixed_indices != None: self.fixedindices = fixed_indices self.train()
def __init__(self, **kwargs): super(PPRankRLS, self).__init__(**kwargs) if kwargs.has_key("regparam"): self.regparam = float(kwargs["regparam"]) else: self.regparam = 0. self.pairs = kwargs['train_preferences'] self.learn_from_labels = False self.svdad = creators.createSVDAdapter(**kwargs) #self.Y = array_tools.as_labelmatrix(kwargs["train_labels"]) #if kwargs.has_key("regparam"): # self.regparam = float(kwargs["regparam"]) #else: # self.regparam = 1. self.svals = self.svdad.svals self.svecs = self.svdad.rsvecs self.results = {} X = kwargs['train_features'] self.X = csc_matrix(X) self.bias = 0. self.results = {}
def __init__(self, X, Y, qids, regparam=1.0, kernel='LinearKernel', basis_vectors=None, **kwargs): kwargs["bias"] = 0. kwargs['kernel'] = kernel kwargs['X'] = X if basis_vectors != None: kwargs['basis_vectors'] = basis_vectors self.svdad = creators.createSVDAdapter(**kwargs) self.Y = np.mat(array_tools.as_2d_array(Y)) self.regparam = regparam self.svals = self.svdad.svals self.svecs = self.svdad.rsvecs self.size = self.Y.shape[0] self.size = self.Y.shape[0] self.qids = map_qids(qids) self.qidlist = qids_to_splits(self.qids) self.solve(self.regparam)
def __init__(self, **kwargs): self.svdad = creators.createSVDAdapter(**kwargs) self.svals = self.svdad.svals self.svecs = self.svdad.rsvecs self.regparam = float(kwargs["regparam"]) self.constraint = 0 #if not kwargs.has_key('number_of_clusters'): # raise Exception("Parameter 'number_of_clusters' must be given.") if kwargs.has_key("number_of_clusters"): self.labelcount = int(kwargs["number_of_clusters"]) else: self.labelcount = 2 if self.labelcount == 2: self.oneclass = True else: self.oneclass = False if kwargs.has_key("callback"): self.callbackfun = kwargs["callback"] else: self.callbackfun = None if kwargs.has_key("train_labels"): train_labels = kwargs["train_labels"] else: train_labels = None if train_labels != None: #Y_orig = array_tools.as_labelmatrix(train_labels) Y_orig = array_tools.as_array(train_labels) #if Y_orig.shape[1] == 1: if len(Y_orig.shape) == 1: self.Y = zeros((Y_orig.shape[0], 2)) self.Y[:, 0] = Y_orig self.Y[:, 1] = -Y_orig self.oneclass = True else: self.Y = Y_orig.copy() self.oneclass = False for i in range(self.Y.shape[0]): largestind = 0 largestval = self.Y[i, 0] for j in range(self.Y.shape[1]): if self.Y[i, j] > largestval: largestind = j largestval = self.Y[i, j] self.Y[i, j] = -1. self.Y[i, largestind] = 1. else: size = self.svecs.shape[0] ysize = self.labelcount if self.labelcount == None: self.labelcount = 2 self.Y = RandomLabelSource(size, ysize).readLabels() self.size = self.Y.shape[0] self.labelcount = self.Y.shape[1] self.classvec = -ones((self.size), dtype=int32) self.classcounts = zeros((self.labelcount), dtype=int32) for i in range(self.size): clazzind = 0 largestlabel = self.Y[i, 0] for j in range(self.labelcount): if self.Y[i, j] > largestlabel: largestlabel = self.Y[i, j] clazzind = j self.classvec[i] = clazzind self.classcounts[clazzind] = self.classcounts[clazzind] + 1 self.svecs_list = [] for i in range(self.size): self.svecs_list.append(self.svecs[i].T) self.fixedindices = [] if kwargs.has_key("fixed_indices"): self.fixedindices = kwargs["fixed_indices"] else: self.fixedindices = [] self.results = {}
def __init__(self, **kwargs): self.svdad = creators.createSVDAdapter(**kwargs) self.svals = self.svdad.svals self.svecs = self.svdad.rsvecs self.regparam = float(kwargs["regparam"]) self.constraint = 0 #if not kwargs.has_key('number_of_clusters'): # raise Exception("Parameter 'number_of_clusters' must be given.") if kwargs.has_key("number_of_clusters"): self.labelcount = int(kwargs["number_of_clusters"]) else: self.labelcount = 2 if self.labelcount == 2: self.oneclass = True else: self.oneclass = False if kwargs.has_key("callback"): self.callbackfun = kwargs["callback"] else: self.callbackfun = None if kwargs.has_key("train_labels"): train_labels = kwargs["train_labels"] else: train_labels = None if train_labels != None: #Y_orig = array_tools.as_labelmatrix(train_labels) Y_orig = array_tools.as_array(train_labels) #if Y_orig.shape[1] == 1: if len(Y_orig.shape) == 1: self.Y = zeros((Y_orig.shape[0], 2)) self.Y[:, 0] = Y_orig self.Y[:, 1] = - Y_orig self.oneclass = True else: self.Y = Y_orig.copy() self.oneclass = False for i in range(self.Y.shape[0]): largestind = 0 largestval = self.Y[i, 0] for j in range(self.Y.shape[1]): if self.Y[i, j] > largestval: largestind = j largestval = self.Y[i, j] self.Y[i, j] = -1. self.Y[i, largestind] = 1. else: size = self.svecs.shape[0] ysize = self.labelcount if self.labelcount == None: self.labelcount = 2 self.Y = RandomLabelSource(size, ysize).readLabels() self.size = self.Y.shape[0] self.labelcount = self.Y.shape[1] self.classvec = - ones((self.size), dtype = int32) self.classcounts = zeros((self.labelcount), dtype = int32) for i in range(self.size): clazzind = 0 largestlabel = self.Y[i, 0] for j in range(self.labelcount): if self.Y[i, j] > largestlabel: largestlabel = self.Y[i, j] clazzind = j self.classvec[i] = clazzind self.classcounts[clazzind] = self.classcounts[clazzind] + 1 self.svecs_list = [] for i in range(self.size): self.svecs_list.append(self.svecs[i].T) self.fixedindices = [] if kwargs.has_key("fixed_indices"): self.fixedindices = kwargs["fixed_indices"] else: self.fixedindices = [] self.results = {}
def __init__(self, X, regparam=1.0, number_of_clusters=2, kernel='LinearKernel', basis_vectors=None, Y=None, fixed_indices=None, callback=None, **kwargs): kwargs['X'] = X kwargs['kernel'] = kernel if basis_vectors != None: kwargs['basis_vectors'] = basis_vectors self.svdad = creators.createSVDAdapter(**kwargs) self.svals = self.svdad.svals self.svecs = self.svdad.rsvecs self.regparam = regparam self.constraint = 0 #if not kwargs.has_key('number_of_clusters'): # raise Exception("Parameter 'number_of_clusters' must be given.") self.labelcount = number_of_clusters if self.labelcount == 2: self.oneclass = True else: self.oneclass = False self.callbackfun = callback if Y != None: Y_orig = array_tools.as_array(Y) #if Y_orig.shape[1] == 1: if len(Y_orig.shape) == 1: self.Y = np.zeros((Y_orig.shape[0], 2)) self.Y[:, 0] = Y_orig self.Y[:, 1] = -Y_orig self.oneclass = True else: self.Y = Y_orig.copy() self.oneclass = False for i in range(self.Y.shape[0]): largestind = 0 largestval = self.Y[i, 0] for j in range(self.Y.shape[1]): if self.Y[i, j] > largestval: largestind = j largestval = self.Y[i, j] self.Y[i, j] = -1. self.Y[i, largestind] = 1. else: size = self.svecs.shape[0] ysize = self.labelcount if self.labelcount == None: self.labelcount = 2 self.Y = RandomLabelSource(size, ysize).readLabels() self.size = self.Y.shape[0] self.labelcount = self.Y.shape[1] self.classvec = -np.ones((self.size), dtype=np.int32) self.classcounts = np.zeros((self.labelcount), dtype=np.int32) for i in range(self.size): clazzind = 0 largestlabel = self.Y[i, 0] for j in range(self.labelcount): if self.Y[i, j] > largestlabel: largestlabel = self.Y[i, j] clazzind = j self.classvec[i] = clazzind self.classcounts[clazzind] = self.classcounts[clazzind] + 1 self.svecs_list = [] for i in range(self.size): self.svecs_list.append(self.svecs[i].T) self.fixedindices = [] if fixed_indices != None: self.fixedindices = fixed_indices else: self.fixedindices = [] self.results = {} self.solve(self.regparam)