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
ytest = yall[ntrain:] # preprocess data for i in xrange(p): X[:,i] -= np.mean(X[:,i]) X[:,i] /= np.linalg.norm(X[:,i]) y -= np.mean(y) # train LASSO LeastAngleRegression = LeastAngleRegression() 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)
ytest = yall[ntrain:] # preprocess data for i in xrange(p): X[:, i] -= np.mean(X[:, i]) X[:, i] /= np.linalg.norm(X[:, i]) y -= np.mean(y) # train LASSO LeastAngleRegression = LeastAngleRegression() 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)
ytest = yall[ntrain:] # preprocess data for i in xrange(p): X[:,i] -= np.mean(X[:,i]) X[:,i] /= np.linalg.norm(X[:,i]) y -= np.mean(y) # train LASSO LeastAngleRegression = LeastAngleRegression() 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) evaluator = MeanSquaredError() # apply on training data mse_train = np.zeros(LeastAngleRegression.get_path_size())