logging.debug("Number of non-zero elements: " + str((trainX.nnz, testX.nnz))) u = 0.1 w = 1-u k2 = 64 eps = 10**-6 maxLocalAuc = MaxLocalAUC(k2, w, eps=eps, stochastic=True) maxLocalAuc.alpha = 0.1 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.lmbdaU = 0.0 maxLocalAuc.lmbdaV = 0.0 maxLocalAuc.lmbdas = 2.0**-numpy.arange(0, 8) maxLocalAuc.loss = "hinge" maxLocalAuc.maxIterations = 500 maxLocalAuc.maxNorms = 2.0**numpy.arange(-2, 5, 0.5) maxLocalAuc.metric = "f1" maxLocalAuc.normalise = True maxLocalAuc.numAucSamples = 10 maxLocalAuc.numProcesses = multiprocessing.cpu_count() maxLocalAuc.numRecordAucSamples = 100 maxLocalAuc.numRowSamples = 30 maxLocalAuc.rate = "constant" maxLocalAuc.recordStep = 10 maxLocalAuc.rho = 1.0 maxLocalAuc.t0 = 1.0
maxLocalAuc.rate = "optimal" maxLocalAuc.recordStep = 10 maxLocalAuc.reg = False maxLocalAuc.rho = 1.0 maxLocalAuc.startAverage = 100 maxLocalAuc.t0 = 1.0 maxLocalAuc.t0s = 2.0**-numpy.arange(1, 12, 2) maxLocalAuc.validationSize = 5 maxLocalAuc.validationUsers = 0.0 if saveResults: X = DatasetUtils.getDataset(dataset, nnz=100000) print(X.shape, X.nnz) print(maxLocalAuc) maxLocalAuc.lmbdaU = 0.25 maxLocalAuc.lmbdaV = 0.25 meanObjs1, paramDict = maxLocalAuc.learningRateSelect(X) maxLocalAuc.lmbdaU = 0.03125 maxLocalAuc.lmbdaV = 0.25 meanObjs2, paramDict = maxLocalAuc.learningRateSelect(X) maxLocalAuc.lmbdaU = 0.25 maxLocalAuc.lmbdaV = 0.03125 meanObjs3, paramDict = maxLocalAuc.learningRateSelect(X) maxLocalAuc.lmbdaU = 0.03125 maxLocalAuc.lmbdaV = 0.03125 meanObjs4, paramDict = maxLocalAuc.learningRateSelect(X)