class_docstr: Evaluator for regression.
  
  .. versionadded:: 1.4.0
  
  Parameters
  ----------
  predictionAndObservations : :py:class:`pyspark.RDD`
      an RDD of prediction, observation and optional weight.
  
  Examples
  --------
  >>> predictionAndObservations = sc.parallelize([
  ...     (2.5, 3.0), (0.0, -0.5), (2.0, 2.0), (8.0, 7.0)])
  >>> metrics = RegressionMetrics(predictionAndObservations)
  >>> metrics.explainedVariance
  8.859...
  >>> metrics.meanAbsoluteError
  0.5...
  >>> metrics.meanSquaredError
  0.37...
  >>> metrics.rootMeanSquaredError
  0.61...
  >>> metrics.r2
  0.94...
  >>> predictionAndObservationsWithOptWeight = sc.parallelize([
  ...     (2.5, 3.0, 0.5), (0.0, -0.5, 1.0), (2.0, 2.0, 0.3), (8.0, 7.0, 0.9)])
  >>> metrics = RegressionMetrics(predictionAndObservationsWithOptWeight)
  >>> metrics.rootMeanSquaredError
  0.68...
docstr: Returns the mean absolute error, which is a risk function corresponding to the
  expected value of the absolute error loss or l1-norm loss.
docstr_tok: ["Returns","the","mean","absolute","error",",","which","is","a","risk","function","corresponding","to","the","expected","value","of","the","absolute","error","loss","or","l1-norm","loss","."]
code: def meanAbsoluteError(self) -> float:
      """
      Returns the mean absolute error, which is a risk function corresponding to the
      expected value of the absolute error loss or l1-norm loss.
      """
      return self.call("meanAbsoluteError")
  
imports: from typing import Generic, List, Optional, Tuple, TypeVar, Union
  import sys
  from pyspark import since
  from pyspark.rdd import RDD
  from pyspark.mllib.common import JavaModelWrapper, callMLlibFunc
  from pyspark.mllib.linalg import Matrix
  from pyspark.sql import SQLContext
  from pyspark.sql.types import ArrayType, DoubleType, StructField, StructType
label_desc: Use image node_id 3 for calling the RegressionMetrics obj's underlying member method code with example usage: obj.meanAbsoluteError() and returns: self