title: stacking model returns only one sided regression
body: <p>My predict result should have both positive and negative value. I use two stages prediction. Here are the steps:</p>
  
  <pre><code>  1) split the data into 3 sets(training, test and out of sample)
    2) train different base regressors using training set data,
       the regressors are different types of trees, such as gradient boosting tree.
    3) use trained regressor to predict test set
    4) use the predicted output from step 3 to train svm to come
       up with the second level model. 
    5) use each regressor to predict out of sample data
    6) use step 5 output value as input to step 4 fitted model to
       predict final result on out of sample data.
  </code></pre>
  
  <p>In my response variable(prediction), I should have both positive and negative values, but in step 6 I only see all the prediction are positive values</p>
  
  <pre><code> 1)  Here is a sample of step 5, using only 3 base learners,
       obviously they have both positive and negative values from different learners:
  
      &gt;&gt;array([[  6.72144956e-04,   1.56136199e-03,   1.58553265e-04],
       [ -4.63248063e-04,   4.95401301e-04,   1.10566458e-04],
        ...
       [  1.48747688e-03,  -1.11622013e-03,  -7.57807887e-05]]
    2) output of step 6, here all the values are positive, buy real value
       obviously have both positive and negative.
       &gt;&gt; array([  4.56349996e-04,   4.43408819e-04, ...
              4.36207927e-04])
  </code></pre>
  
  <p>Here is the python code for blending models:</p>
  
  <pre><code>def fit(self):
    sub_models = self.models
    y_test_i = [] 
    for i in range(len(sub_models)):
      model = sub_models[i]
      y_test_i.append( model.predict(self.x_test))
      y_test_i = np.array(y_test_i).T
    parameters = {
        "kernel": "rbf",
        "C": 0.001,
        "gamma" : 0
    }
    self.blender = SVR(**parameters)
    self.blender.fit( y_test_i, self.y_test.values)
  
    def pred(self):
      y_oos_i = []
      for i in range(len(self.models)):
        model = self.models[i]
        y_oos_i.append( model.predict(self.x_oos))
      y_oos_i = np.array(y_oos_i).T
      y_pred = self.blender.predict(y_oos_i)
  </code></pre>
  
  <p>My question is how do I debug such situation? btw: I have around 800 data points for each set and around 20 features as step 2 input.</p>