def testModelSelectLmbda(self): m = 10 n = 20 k = 5 u = 0.5 w = 1 - u X = SparseUtils.generateSparseBinaryMatrix((m, n), k, w, csarray=True) os.system('taskset -p 0xffffffff %d' % os.getpid()) eps = 0.001 k = 5 maxLocalAuc = MaxLocalAUC(k, w, eps=eps, stochastic=True) maxLocalAuc.maxIterations = 5 maxLocalAuc.recordStep = 1 maxLocalAuc.validationSize = 3 maxLocalAuc.metric = "f1" maxLocalAuc.rate = "constant" maxLocalAuc.ks = numpy.array([4, 8]) maxLocalAuc.modelSelectLmbda(X)
def testModelSelectLmbda(self): m = 10 n = 20 k = 5 u = 0.5 w = 1-u X = SparseUtils.generateSparseBinaryMatrix((m, n), k, w, csarray=True) os.system('taskset -p 0xffffffff %d' % os.getpid()) eps = 0.001 k = 5 maxLocalAuc = MaxLocalAUC(k, w, eps=eps, stochastic=True) maxLocalAuc.maxIterations = 5 maxLocalAuc.recordStep = 1 maxLocalAuc.validationSize = 3 maxLocalAuc.metric = "f1" maxLocalAuc.rate = "constant" maxLocalAuc.ks = numpy.array([4, 8]) maxLocalAuc.modelSelectLmbda(X)
softImpute.rho = 0.1 softImpute.eps = 10**-4 softImpute.numProcesses = args.processes wrmf = WeightedMf(k=k, maxIterations=maxIterations, alpha=1.0) wrmf.ks = ks wrmf.folds = folds wrmf.lmbdas = 2.0**-numpy.arange(-1, 12, 2) wrmf.metric = "f1" wrmf.numProcesses = args.processes maxLocalAuc = MaxLocalAUC(k=k, w=0.9, maxIterations=50, lmbdaU=0.1, lmbdaV=0.1, stochastic=True) maxLocalAuc.numRowSamples = 10 maxLocalAuc.parallelSGD = True maxLocalAuc.initialAlg = "rand" maxLocalAuc.ks = ks maxLocalAuc.folds = folds maxLocalAuc.metric = "f1" maxLocalAuc.numProcesses = args.processes kNeighbours = 25 knn = CosineKNNRecommender(kNeighbours) numFeatures = 200 slim = SLIM(num_selected_features=numFeatures) learners = [("SoftImpute", softImpute), ("WRMF", wrmf), ("KNN", knn), ("MLAUC", maxLocalAuc), ("SLIM", slim)] #Figure out the correct learner for tempLearnerName, tempLearner in learners: if args.alg == tempLearnerName:
numRecordAucSamples = 200 k2 = 8 u2 = 0.5 w2 = 1-u2 eps = 10**-4 lmbda = 0.0 maxLocalAuc = MaxLocalAUC(k2, w2, eps=eps, lmbdaU=lmbda, lmbdaV=lmbda, stochastic=True) maxLocalAuc.alpha = 0.05 maxLocalAuc.alphas = 2.0**-numpy.arange(0, 5, 1) maxLocalAuc.folds = 1 maxLocalAuc.initialAlg = "rand" maxLocalAuc.itemExpP = 0.0 maxLocalAuc.itemExpQ = 0.0 maxLocalAuc.ks = numpy.array([k2]) maxLocalAuc.lmbdas = numpy.linspace(0.5, 2.0, 7) maxLocalAuc.maxIterations = 500 maxLocalAuc.metric = "f1" maxLocalAuc.normalise = True maxLocalAuc.numAucSamples = 10 maxLocalAuc.numProcesses = 1 maxLocalAuc.numRecordAucSamples = 100 maxLocalAuc.numRowSamples = 30 maxLocalAuc.rate = "constant" maxLocalAuc.recordStep = 10 maxLocalAuc.rho = 1.0 maxLocalAuc.t0 = 1.0 maxLocalAuc.t0s = 2.0**-numpy.arange(7, 12, 1) maxLocalAuc.validationSize = 3 maxLocalAuc.validationUsers = 0
u2 = 5/float(n) w2 = 1-u2 eps = 10**-8 lmbda = 0.01 maxLocalAuc = MaxLocalAUC(k2, w2, eps=eps, lmbdaU=0.1, lmbdaV=0.1, stochastic=True) maxLocalAuc.alpha = 0.5 maxLocalAuc.alphas = 2.0**-numpy.arange(2, 9, 2) maxLocalAuc.beta = 2 maxLocalAuc.bound = False maxLocalAuc.delta = 0.1 maxLocalAuc.eta = 20 maxLocalAuc.folds = 2 maxLocalAuc.initialAlg = "svd" maxLocalAuc.itemExpP = 0.0 maxLocalAuc.itemExpQ = 0.0 maxLocalAuc.ks = numpy.array([4, 8, 16, 32, 64, 128]) maxLocalAuc.lmbdas = 2.0**-numpy.arange(1, 5) maxLocalAuc.loss = "hinge" maxLocalAuc.maxIterations = 500 maxLocalAuc.maxNorm = 100 maxLocalAuc.metric = "f1" maxLocalAuc.normalise = False maxLocalAuc.numAucSamples = 10 maxLocalAuc.numProcesses = multiprocessing.cpu_count() maxLocalAuc.numRecordAucSamples = 200 maxLocalAuc.numRowSamples = 15 maxLocalAuc.rate = "optimal" maxLocalAuc.recordStep = 10 maxLocalAuc.reg = False maxLocalAuc.rho = 1.0 maxLocalAuc.startAverage = 100