예제 #1
0
파일: lars.py 프로젝트: rancho93/benchmarks
    def RunLARSShogun(q):
      totalTimer = Timer()

      # Load input dataset.
      try:
        Log.Info("Loading dataset", self.verbose)
        inputData = np.genfromtxt(self.dataset[0], delimiter=',')
        responsesData = np.genfromtxt(self.dataset[1], delimiter=',')
        inputFeat = RealFeatures(inputData.T)
        responsesFeat = RegressionLabels(responsesData)

        # Get all the parameters.
        lambda1 = re.search("-l (\d+)", options)
        lambda1 = 0.0 if not lambda1 else int(lambda1.group(1))

        with totalTimer:
          # Perform LARS.
          model = LeastAngleRegression(False)
          model.set_max_l1_norm(lambda1)
          model.set_labels(responsesFeat)
          model.train(inputFeat)
          model.get_w(model.get_path_size() - 1)
      except Exception as e:
        q.put(-1)
        return -1

      time = totalTimer.ElapsedTime()
      q.put(time)
      return time
예제 #2
0
        def RunLARSShogun(q):
            totalTimer = Timer()

            # Load input dataset.
            try:
                Log.Info("Loading dataset", self.verbose)
                inputData = np.genfromtxt(self.dataset[0], delimiter=',')
                responsesData = np.genfromtxt(self.dataset[1], delimiter=',')
                inputFeat = RealFeatures(inputData.T)
                responsesFeat = RegressionLabels(responsesData)

                # Get all the parameters.
                lambda1 = re.search("-l (\d+)", options)
                lambda1 = 0.0 if not lambda1 else int(lambda1.group(1))

                with totalTimer:
                    # Perform LARS.
                    model = LeastAngleRegression(False)
                    model.set_max_l1_norm(lambda1)
                    model.set_labels(responsesFeat)
                    model.train(inputFeat)
                    model.get_w(model.get_path_size() - 1)
            except Exception as e:
                q.put(-1)
                return -1

            time = totalTimer.ElapsedTime()
            q.put(time)
            return time
예제 #3
0
LeastAngleRegression.set_labels(Labels(y))
LeastAngleRegression.train(RealFeatures(X.T))

# train ordinary LSR
if use_ridge:
    lsr = LinearRidgeRegression(0.01, RealFeatures(X.T), Labels(y))
    lsr.train()
else:
    lsr = LeastSquaresRegression()
    lsr.set_labels(Labels(y))
    lsr.train(RealFeatures(X.T))

# gather LASSO path
path = np.zeros((p, LeastAngleRegression.get_path_size()))
for i in xrange(path.shape[1]):
    path[:,i] = LeastAngleRegression.get_w(i)

# apply on training data
mse_train = np.zeros(LeastAngleRegression.get_path_size())
for i in xrange(mse_train.shape[0]):
    LeastAngleRegression.switch_w(i)
    ypred = LeastAngleRegression.apply(RealFeatures(X.T)).get_labels()
    mse_train[i] = np.dot(ypred - y, ypred - y) / y.shape[0]
ypred = lsr.apply(RealFeatures(X.T)).get_labels()
mse_train_lsr = np.dot(ypred - y, ypred - y) / y.shape[0]

# apply on test data
mse_test = np.zeros(LeastAngleRegression.get_path_size())
for i in xrange(mse_test.shape[0]):
    LeastAngleRegression.switch_w(i)
    ypred = LeastAngleRegression.apply(RealFeatures(Xtest.T)).get_labels()
예제 #4
0
LeastAngleRegression.set_labels(RegressionLabels(y))
LeastAngleRegression.train(RealFeatures(X.T))

# train ordinary LSR
if use_ridge:
    lsr = LinearRidgeRegression(0.01, RealFeatures(X.T), Labels(y))
    lsr.train()
else:
    lsr = LeastSquaresRegression()
    lsr.set_labels(RegressionLabels(y))
    lsr.train(RealFeatures(X.T))

# gather LASSO path
path = np.zeros((p, LeastAngleRegression.get_path_size()))
for i in xrange(path.shape[1]):
    path[:, i] = LeastAngleRegression.get_w(i)

# apply on training data
mse_train = np.zeros(LeastAngleRegression.get_path_size())
for i in xrange(mse_train.shape[0]):
    LeastAngleRegression.switch_w(i)
    ypred = LeastAngleRegression.apply(RealFeatures(X.T)).get_labels()
    mse_train[i] = np.dot(ypred - y, ypred - y) / y.shape[0]
ypred = lsr.apply(RealFeatures(X.T)).get_labels()
mse_train_lsr = np.dot(ypred - y, ypred - y) / y.shape[0]

# apply on test data
mse_test = np.zeros(LeastAngleRegression.get_path_size())
for i in xrange(mse_test.shape[0]):
    LeastAngleRegression.switch_w(i)
    ypred = LeastAngleRegression.apply(RealFeatures(Xtest.T)).get_labels()