def genCurSubset(opts, n, size): """ Generates the n-th subset. @type opts: Options @param opts: Options object @type n: Number @param n: Number of the subset @type size: Number @param size: Size of the subset @rtype: (String, String) @return: Tupel with sub- and restset """ dataset =dataSetFilename(opts.training_file, n) sub = subsetFilename(opts.training_file, n) rest = restSetFilename(opts.training_file, n) subset(opts, size, dataset, sub, rest) return (sub,rest)
def genCurSubset(opts, n, size): """ Generates the n-th subset. @type opts: Options @param opts: Options object @type n: Number @param n: Number of the subset @type size: Number @param size: Size of the subset @rtype: (String, String) @return: Tupel with sub- and restset """ dataset = dataSetFilename(opts.training_file, n) sub = subsetFilename(opts.training_file, n) rest = restSetFilename(opts.training_file, n) subset(opts, size, dataset, sub, rest) return (sub, rest)
def run(self): """Thread.run()""" try: if (self.opts.action == "gui"): import svmToolGui svmToolGui.gui = svmToolGui.svmToolGui(self.opts) svmToolGui.gui.run() else: log("SVM Tool {0}".format(version)) log("Using libSVM: {0}".format(self.opts.libsvm_path)) log("\tsvm-scale: {0}".format(self.opts.svm_scale_path)) log("\tsvm-train: {0}".format(self.opts.svm_train_path)) log("\tsvm-predict: {0}".format(self.opts.svm_predict_path)) log("\tsubset.py: {0}".format(self.opts.subset_py)) if (self.opts.gnuplot_path != None): log("Using gnuplot: {0}".format(self.opts.gnuplot_path)) if (self.opts.training_file != None): log("Training file: {0}".format(self.opts.training_file)) if (self.opts.test_file != None): log("Test file: {0}".format(self.opts.test_file)) if (self.opts.model_file != None): log("Model file: {0}".format(self.opts.model_file)) if (self.opts.output_file != None): log("Output file: {0}".format(self.opts.output_file)) if (self.opts.action == "crossValidation"): log("Starting cross validation") log("C-Range (start,stop, step): {0}".format( self.opts.c_range)) log("Gamma-Range (start,stop, step): {0}".format( self.opts.g_range)) log("Division depth: {0}".format(self.opts.division_depth)) log("Division factor: {0}".format( self.opts.division_factor)) log("Minimum subset size: {0}".format( self.opts.subset_size)) log("Worker count: {0}".format(self.opts.worker)) if (self.opts.additional_arguments != None and self.opts.additional_arguments != ""): log("Additional arguements: {0}".format( self.opts.additional_arguments)) crossValidate(self.opts) elif (self.opts.action == "train"): log("Trainig SVM") log("C value: {0}".format(self.opts.c_value)) log("Gamma value: {0}".format(self.opts.g_value)) if (self.opts.additional_arguments != ""): log("Additional arguements: {0}".format( self.opts.additional_arguments)) train(self.opts) elif (self.opts.action == "test"): log("Testing SVM") if (self.opts.additional_arguments != ""): log("Additional arguements: {0}".format( self.opts.additional_arguments)) predict(self.opts) elif (self.opts.action == "merge"): log("Merging files") mergeFiles(self.opts.training_file, self.opts.output_file + ".data") mergeFiles(self.opts.test_file, self.opts.output_file + ".test") elif (self.opts.action == "subset"): log("Generating subset") log("Subset size: {}".format(self.opts.subset_size)) subset(self.opts, self.opts.subset_size, self.opts.training_file, \ self.opts.output_file+".subset_"+str(self.opts.subset_size), \ self.opts.output_file+".restset") log("All done") except Exception as e: log("An exception occured:") log("\t" + e.message) log("Here's the stack:\n") (t, v, s) = sys.exc_info() traceback.print_tb(s) return self
def run(self): """Thread.run()""" try: if (self.opts.action == "gui"): import svmToolGui svmToolGui.gui = svmToolGui.svmToolGui(self.opts) svmToolGui.gui.run() else: log("SVM Tool {0}".format(version)) log("Using libSVM: {0}".format(self.opts.libsvm_path)) log("\tsvm-scale: {0}".format(self.opts.svm_scale_path)) log("\tsvm-train: {0}".format(self.opts.svm_train_path)) log("\tsvm-predict: {0}".format(self.opts.svm_predict_path)) log("\tsubset.py: {0}".format(self.opts.subset_py)) if (self.opts.gnuplot_path != None): log("Using gnuplot: {0}".format(self.opts.gnuplot_path)) if (self.opts.training_file != None): log("Training file: {0}".format(self.opts.training_file)) if (self.opts.test_file != None): log("Test file: {0}".format(self.opts.test_file)) if (self.opts.model_file != None): log("Model file: {0}".format(self.opts.model_file)) if (self.opts.output_file != None): log("Output file: {0}".format(self.opts.output_file)) if (self.opts.action == "crossValidation"): log("Starting cross validation") log("C-Range (start,stop, step): {0}".format(self.opts.c_range)) log("Gamma-Range (start,stop, step): {0}".format(self.opts.g_range)) log("Division depth: {0}".format(self.opts.division_depth)) log("Division factor: {0}".format(self.opts.division_factor)) log("Minimum subset size: {0}".format(self.opts.subset_size)) log("Worker count: {0}".format(self.opts.worker)) if (self.opts.additional_arguments != None and self.opts.additional_arguments != ""): log("Additional arguements: {0}".format(self.opts.additional_arguments)) crossValidate(self.opts) elif (self.opts.action == "train"): log("Trainig SVM") log("C value: {0}".format(self.opts.c_value)) log("Gamma value: {0}".format(self.opts.g_value)) if (self.opts.additional_arguments != ""): log("Additional arguements: {0}".format(self.opts.additional_arguments)) train(self.opts) elif (self.opts.action == "test"): log("Testing SVM") if (self.opts.additional_arguments != ""): log("Additional arguements: {0}".format(self.opts.additional_arguments)) predict(self.opts) elif (self.opts.action == "merge"): log("Merging files") mergeFiles(self.opts.training_file, self.opts.output_file+".data") mergeFiles(self.opts.test_file, self.opts.output_file+".test") elif (self.opts.action == "subset"): log("Generating subset") log("Subset size: {}".format(self.opts.subset_size)) subset(self.opts, self.opts.subset_size, self.opts.training_file, \ self.opts.output_file+".subset_"+str(self.opts.subset_size), \ self.opts.output_file+".restset"); log("All done") except Exception as e: log("An exception occured:") log("\t" + e.message) log("Here's the stack:\n") (t,v,s) = sys.exc_info() traceback.print_tb(s) return self