title: Why is my Mean Absolute Error (MAE) from a MultiOutputRegressor method showing one value instead of three?
body: <p>I have the following code, in which I need to predict 3 different outputs and then calculate the MAE (mean absolute error) for each output.
  Since the Support Vector Machine Regression does not support multioutput regression by itself like other models do, like Random Forest and Linear regression. I found an option to do this with a MultiOutputRegressor class and considering this as a separate model for each output.</p>
  
  <p>I have the following code where x are my features for both training and testing and y are my targets.</p>
  
  <p>1) First I wanted to show that effectively my targets (y) have 3 values</p>
  
  <pre><code>print(X.shape, X_test.shape,y.shape,y_test.shape)
  
  (10845, 2116) (4648, 2116) (10845, 3) (4648, 3)
  </code></pre>
  
  <p>2) Then I have the following code to calculate the mean absolute error (MAE) as well as to train a model and evaluate it on the dataset:</p>
  
  <pre><code># Function to calculate mean absolute error
  def mae(y_true, y_pred):
      return np.mean(abs(y_true - y_pred))
  
  # Funtion to take in a model, train it and evaluate it on the test set
  def fit_and_evaluate2 (model):
  
      # Train the model with training dataset for features (X) and target (y) 
      model.fit(X, y)
  
      # Make predictions for the test dataset and evaluate the predictions vs the target in the test dataset
      model_pred = model.predict(X_test)
      model_mae = mae(y_test, model_pred)
  
      # Return the performance metric
      return model_mae
  </code></pre>
  
  <p>3) When I call this function for my Support Vector Machine Regression, the output given by <code>model_pred</code> is in fact 3 values, but the MAE <code>model_mae</code> is only 1 value:</p>
  
  <pre><code>svm = SVR(C = 1000, gamma = 0.1)
  wrapper= MultiOutputRegressor(svm)
  
  svm_mae = fit_and_evaluate2(wrapper)
  
  print('Support Vector Machine Regression Performance on the test set is')
  svm_mae
  
  Support Vector Machine Regression Performance on the test set is
  0.19932177495538966
  </code></pre>
  
  <p>I don´t understand why <code>model_mae</code> shows only one value, since as shown above my target <code>y</code> effectively has 3 values and the <code>model_pred</code> also shows 3 values. Is there something I am doing wrong? I tried this with Random Forest and both predictions and MAE show 3 values.</p>