def __init__(self, examplesFileName): """ Create the class by reading examples from a Matlab file. Instantiate the SVM and create a preprocesor to standarise examples to have zero mean and unit variance. """ self.examplesList = ExamplesList.readFromFile(examplesFileName) self.examplesList.setDefaultExamplesName("X") self.examplesList.setLabelsName("y") (freqs, items) = Util.histogram(self.examplesList.getSampledDataField("y").ravel()) logging.info("Distribution of labels: " + str((freqs, items))) logging.info("The base error rate is " + str(float(min(freqs))/self.examplesList.getNumExamples())) self.classifier = LibSVM() self.errorMethod = Evaluator.balancedError self.preprocessor = Standardiser() X = self.preprocessor.standardiseArray(self.examplesList.getDataField(self.examplesList.getDefaultExamplesName())) self.examplesList.overwriteDataField(self.examplesList.getDefaultExamplesName(), X)