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 os.system('taskset -p 0xffffffff %d' % os.getpid()) logging.debug("Starting training") losses = [("tanh", 0.25), ("tanh", 0.5), ("tanh", 1.0), ("tanh", 2.0), ("hinge", 1), ("square", 1), ("logistic", 0.5), ("logistic", 1.0), ("logistic", 2.0), ("sigmoid", 0.5), ("sigmoid", 1.0), ("sigmoid", 2.0)] def computeTestAuc(args): trainX, testX, maxLocalAuc, U, V = args numpy.random.seed(21) logging.debug(maxLocalAuc)
u = 0.1 w2 = 1-u k = 64 eps = 10**-8 maxLocalAuc = MaxLocalAUC(k, w2, eps=eps, stochastic=True) maxLocalAuc.maxIterations = 50 maxLocalAuc.numRowSamples = 30 maxLocalAuc.numAucSamples = 10 maxLocalAuc.initialAlg = "rand" maxLocalAuc.recordStep = 10 maxLocalAuc.rate = "optimal" maxLocalAuc.alpha = 1.0 maxLocalAuc.t0 = 0.1 maxLocalAuc.lmbdaU = 0.0 maxLocalAuc.lmbdaV = 1.0 maxLocalAuc.rho = 0.5 maxItems = 10 chunkSize = 1 startAverages = numpy.array([2, 5, 10, 20, 30, 40]) learningRateParams = [(4.0, 1.0), (4.0, 0.5), (4.0, 0.1), (1.0, 1.0), (1.0, 0.5), (1.0, 0.1), (0.25, 1.0), (0.25, 0.5), (0.25, 0.1)] print(startAverages) def computeTestObj(args): trainX, maxLocalAuc = args numpy.random.seed(21) U, V, trainMeasures, testMeasures, iterations, totalTime = maxLocalAuc.learnModel(trainX, verbose=True) return U, V, trainMeasures[-1, 0], testMeasures[-1, 0] if saveResults: