def regression_linear_ridge_modular (fm_train=traindat,fm_test=testdat,label_train=label_traindat,tau=1e-6): from shogun.Features import Labels, RealFeatures from shogun.Regression import LinearRidgeRegression rr=LinearRidgeRegression(tau, RealFeatures(traindat), Labels(label_train)) rr.train() out = rr.apply(RealFeatures(fm_test)).get_labels() return out,rr
def regression_linear_ridge_modular(fm_train=traindat, fm_test=testdat, label_train=label_traindat, tau=1e-6): from shogun.Features import RegressionLabels, RealFeatures from shogun.Regression import LinearRidgeRegression rr = LinearRidgeRegression(tau, RealFeatures(traindat), RegressionLabels(label_train)) rr.train() out = rr.apply(RealFeatures(fm_test)).get_labels() return out, rr
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() mse_test[i] = np.dot(ypred - ytest, ypred - ytest) / ytest.shape[0] ypred = lsr.apply(RealFeatures(Xtest.T)).get_labels() mse_test_lsr = np.dot(ypred - ytest, ypred - ytest) / ytest.shape[0] fig = plt.figure() ax_path = fig.add_subplot(1,2,1) plt.plot(xrange(path.shape[1]), path.T, '.-') plt.legend(['%d' % (x+1) for x in xrange(path.shape[0])])
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() mse_test[i] = np.dot(ypred - ytest, ypred - ytest) / ytest.shape[0] ypred = lsr.apply(RealFeatures(Xtest.T)).get_labels() mse_test_lsr = np.dot(ypred - ytest, ypred - ytest) / ytest.shape[0] fig = plt.figure() ax_path = fig.add_subplot(1, 2, 1) plt.plot(xrange(path.shape[1]), path.T, '.-') plt.legend(['%d' % (x + 1) for x in xrange(path.shape[0])])
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) evaluator = MeanSquaredError() # 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)) mse_train[i] = evaluator.evaluate(ypred, RegressionLabels(y)) ypred = lsr.apply(RealFeatures(X.T)) mse_train_lsr = evaluator.evaluate(ypred, RegressionLabels(y)) # 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)) mse_test[i] = evaluator.evaluate(ypred, RegressionLabels(y)) ypred = lsr.apply(RealFeatures(Xtest.T)) mse_test_lsr = evaluator.evaluate(ypred, RegressionLabels(y)) fig = plt.figure() ax_path = fig.add_subplot(1, 2, 1) plt.plot(xrange(path.shape[1]), path.T, '.-') plt.legend(['%d' % (x + 1) for x in xrange(path.shape[0])])
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) evaluator = MeanSquaredError() # 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)) mse_train[i] = evaluator.evaluate(ypred, RegressionLabels(y)) ypred = lsr.apply(RealFeatures(X.T)) mse_train_lsr = evaluator.evaluate(ypred, RegressionLabels(y)) # 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)) mse_test[i] = evaluator.evaluate(ypred, RegressionLabels(y)) ypred = lsr.apply(RealFeatures(Xtest.T)) mse_test_lsr = evaluator.evaluate(ypred, RegressionLabels(y)) fig = plt.figure() ax_path = fig.add_subplot(1,2,1) plt.plot(xrange(path.shape[1]), path.T, '.-') plt.legend(['%d' % (x+1) for x in xrange(path.shape[0])])