def getSetup(learnerName, dataDir, outputDir, numProcesses): if learnerName=="SVM": learner = LibSVM(kernel='gaussian', type="C_SVC", processes=numProcesses) loadMethod = ModelSelectUtils.loadRatschDataset dataDir += "benchmark/" outputDir += "classification/" + learnerName + "/" paramDict = {} paramDict["setC"] = learner.getCs() paramDict["setGamma"] = learner.getGammas() elif learnerName=="SVR": learner = LibSVM(kernel='gaussian', type="Epsilon_SVR", processes=numProcesses) learner.normModelSelect = True loadMethod = ModelSelectUtils.loadRegressDataset dataDir += "regression/" outputDir += "regression/" + learnerName + "/" paramDict = {} paramDict["setC"] = 2.0**numpy.arange(-10, 14, 2, dtype=numpy.float) paramDict["setGamma"] = 2.0**numpy.arange(-10, 4, 2, dtype=numpy.float) paramDict["setEpsilon"] = learner.getEpsilons() elif learnerName=="CART": learner = DecisionTreeLearner(criterion="mse", maxDepth=30, minSplit=1, pruneType="CART", processes=numProcesses) learner.setChunkSize(2) loadMethod = ModelSelectUtils.loadRegressDataset dataDir += "regression/" outputDir += "regression/" + learnerName + "/" paramDict = {} paramDict["setGamma"] = numpy.array(numpy.round(2**numpy.arange(1, 7.5, 0.5)-1), dtype=numpy.int) else: raise ValueError("Unknown learnerName: " + learnerName) return learner, loadMethod, dataDir, outputDir, paramDict
numProcesses = multiprocessing.cpu_count() learner = LibSVM(kernel="rbf", processes=numProcesses, type="Epsilon_SVR") learner.setChunkSize(3) Cs = 2.0**numpy.arange(-10, 14, 2, dtype=numpy.float) gammas = 2.0**numpy.arange(-10, 4, 2, dtype=numpy.float) epsilons = learner.getEpsilons() gammaInd = 3 gamma = gammas[gammaInd] learner.setGamma(gamma) epsilonInd = 0 epsilon = epsilons[epsilonInd] learner.setEpsilon(epsilon) learner.normModelSelect = True paramDict = {} paramDict["setC"] = Cs numParams = Cs.shape[0] #datasets = [datasets[1]] for datasetName, numRealisations in datasets: logging.debug("Dataset " + datasetName) errors = numpy.zeros(numRealisations) sampleMethod = Sampling.crossValidation alpha = 1.0 folds = 2 numRealisations = 5