def RunLinearRidgeRegressionShogun(): totalTimer = Timer() # Load input dataset. # If the dataset contains two files then the second file is the responses # file. Log.Info("Loading dataset", self.verbose) if len(self.dataset) >= 2: testSet = np.genfromtxt(self.dataset[1], delimiter=',') # Use the last row of the training set as the responses. X, y = SplitTrainData(self.dataset) if "alpha" in options: tau = float(options.pop("alpha")) else: Log.Fatal("Required parameter 'alpha' not specified!") raise Exception("missing parameter") if len(options) > 0: Log.Fatal("Unknown parameters: " + str(options)) raise Exception("unknown parameters") try: with totalTimer: # Perform linear ridge regression. model = LRR(tau, RealFeatures(X.T), RegressionLabels(y)) model.train() if len(self.dataset) >= 2: model.apply_regression(RealFeatures(testSet.T)) except Exception as e: return [-1] return [totalTimer.ElapsedTime(), model]
def RunLinearRidgeRegressionShogun(q): totalTimer = Timer() # Load input dataset. # If the dataset contains two files then the second file is the responses # file. Log.Info("Loading dataset", self.verbose) if len(self.dataset) >= 2: testSet = np.genfromtxt(self.dataset[1], delimiter=',') # Use the last row of the training set as the responses. X, y = SplitTrainData(self.dataset) tau = re.search("-t (\d+)", options) tau = 1.0 if not tau else int(tau.group(1)) try: with totalTimer: # Perform linear ridge regression. model = LRR(tau, RealFeatures(X.T), RegressionLabels(y)) model.train() if len(self.dataset) >= 2: model.apply_regression(RealFeatures(testSet.T)) except Exception as e: q.put(-1) return -1 time = totalTimer.ElapsedTime() q.put(time) return time
def RunMetrics(self, options): Log.Info("Perform Linear Ridge Regression.", self.verbose) results = self.LinearRidgeRegressionShogun(options) if results < 0: return results metrics = {'Runtime' : results} if len(self.dataset) >= 3: X, y = SplitTrainData(self.dataset) tau = re.search("-t (\d+)", options) tau = 1.0 if not tau else int(tau.group(1)) model = LRR(tau, RealFeatures(X.T), RegressionLabels(y)) model.train() testData = LoadDataset(self.dataset[1]) truelabels = LoadDataset(self.dataset[2]) predictedlabels = model.apply_regression(RealFeatures(testData.T)).get_labels() SimpleMSE = Metrics.SimpleMeanSquaredError(truelabels, predictedlabels) metrics_dict = {} metrics_dict['Simple MSE'] = SimpleMSE return metrics_dict else: Log.Fatal("This method requires three datasets!")
def RunMetrics(self, options): Log.Info("Perform Linear Ridge Regression.", self.verbose) results = self.LinearRidgeRegressionShogun(options) if results < 0: return results metrics = {'Runtime' : results} if len(self.dataset) >= 3: X, y = SplitTrainData(self.dataset) tau = re.search("-t (\d+)", options) tau = 1.0 if not tau else int(tau.group(1)) model = LRR(tau, RealFeatures(X.T), RegressionLabels(y)) model.train() testData = LoadDataset(self.dataset[1]) truelabels = LoadDataset(self.dataset[2]) predictedlabels = model.apply_regression(RealFeatures(testData.T)).get_labels() SimpleMSE = Metrics.SimpleMeanSquaredError(truelabels, predictedlabels) metrics['Simple MSE'] = SimpleMSE return metrics else: Log.Fatal("This method requires three datasets!")
def RunLinearRidgeRegressionShogun(q): totalTimer = Timer() # Load input dataset. # If the dataset contains two files then the second file is the responses # file. Log.Info("Loading dataset", self.verbose) if len(self.dataset) >= 2: testSet = np.genfromtxt(self.dataset[1], delimiter=',') # Use the last row of the training set as the responses. X, y = SplitTrainData(self.dataset) if "alpha" in options: tau = float(options.pop("alpha")) else: Log.Fatal("Required parameter 'alpha' not specified!") raise Exception("missing parameter") if len(options) > 0: Log.Fatal("Unknown parameters: " + str(options)) raise Exception("unknown parameters") try: with totalTimer: # Perform linear ridge regression. model = LRR(tau, RealFeatures(X.T), RegressionLabels(y)) model.train() if len(self.dataset) >= 2: model.apply_regression(RealFeatures(testSet.T)) except Exception as e: q.put(-1) return -1 time = totalTimer.ElapsedTime() q.put(time) return time
def RunMetrics(self, options): if len(self.dataset) >= 3: X, y = SplitTrainData(self.dataset) tau = re.search("-t (\d+)", options) tau = 1.0 if not tau else int(tau.group(1)) model = LRR(tau, RealFeatures(X.T), RegressionLabels(y)) model.train() testData = LoadDataset(self.dataset[1]) truelabels = LoadDataset(self.dataset[2]) predictedlabels = model.apply_regression(RealFeatures(testData.T)).get_labels() SimpleMSE = Metrics.SimpleMeanSquaredError(truelabels, predictedlabels) metrics_dict = {} metrics_dict['Simple MSE'] = SimpleMSE return metrics_dict else: Log.Fatal("This method requires three datasets!")
def RunMetrics(self, options): if len(self.dataset) >= 3: X, y = SplitTrainData(self.dataset) tau = re.search("-t (\d+)", options) tau = 1.0 if not tau else int(tau.group(1)) model = LRR(tau, RealFeatures(X.T), RegressionLabels(y)) model.train() testData = LoadDataset(self.dataset[1]) truelabels = LoadDataset(self.dataset[2]) predictedlabels = model.apply_regression(RealFeatures( testData.T)).get_labels() SimpleMSE = Metrics.SimpleMeanSquaredError(truelabels, predictedlabels) metrics_dict = {} metrics_dict['Simple MSE'] = SimpleMSE return metrics_dict else: Log.Fatal("This method requires three datasets!")
def RunMetrics(self, options): Log.Info("Perform Linear Ridge Regression.", self.verbose) results = self.LinearRidgeRegressionShogun(options) if results < 0: return results metrics = {'Runtime': results} if len(self.dataset) >= 3: X, y = SplitTrainData(self.dataset) if "alpha" in options: tau = float(options.pop("alpha")) else: Log.Fatal("Required parameter 'alpha' not specified!") raise Exception("missing parameter") if len(options) > 0: Log.Fatal("Unknown parameters: " + str(options)) raise Exception("unknown parameters") model = LRR(tau, RealFeatures(X.T), RegressionLabels(y)) model.train() testData = LoadDataset(self.dataset[1]) truelabels = LoadDataset(self.dataset[2]) predictedlabels = model.apply_regression(RealFeatures( testData.T)).get_labels() SimpleMSE = Metrics.SimpleMeanSquaredError(truelabels, predictedlabels) metrics['Simple MSE'] = SimpleMSE return metrics else: Log.Fatal("This method requires three datasets!")