from copy import deepcopy

class ModelReport(object):
    """
    An abstraction of a model report that wraps access to various sections
    of the report.
    """

    """
    :param raw_report: the dict representation of model report JSON
    :type: dict
    """
    def __init__(self, raw_report):
        self._raw_report = raw_report

    @property
    def model_name(self):
        return self._raw_report['model_name']

    @property
    def performance(self):
        return self._raw_report['error_metrics']

    @property
    def feature_importances(self):
        return self._raw_report['feature_importances']

    @property
    def model_settings(self):
        return self._raw_report['model_settings']

    """
    WARNING - the dict format returned is unstable and may change over time.

    :return: a copy of the raw report that backs the instance.
    :rtype: dict
    """
    def to_json(self):
        return deepcopy(self._raw_report)

from copy import deepcopy

class ModelReport(object):
    """
    An abstraction of a model report that wraps access to various sections
    of the report.
    """

    """
    :param raw_report: the dict representation of model report JSON
    :type: dict
    """
    def __init__(self, raw_report):
        self._raw_report = raw_report

    @property
    def model_name(self):
        """
        :rtype: str
        """
        return self._raw_report['model_name']

    @property
    def performance(self):
        """
        :rtype: dict
        """
        return self._raw_report['error_metrics']

    @property
    def feature_importances(self):
        """
        :rtype: list of dict
        """
        return self._raw_report['feature_importances']

    @property
    def model_settings(self):
        """
        :rtype: dict
        """
        return self._raw_report['model_settings']

    """
    WARNING - the dict format returned is unstable and may change over time.

    :return: a copy of the raw report that backs the instance.
    :rtype: dict
    """
    def to_json(self):
        return deepcopy(self._raw_report)

Add basic documentation to ModelReport
Add basic documentation to ModelReport

  from copy import deepcopy
  
  class ModelReport(object):
      """
      An abstraction of a model report that wraps access to various sections
      of the report.
      """
  
      """
      :param raw_report: the dict representation of model report JSON
      :type: dict
      """
      def __init__(self, raw_report):
          self._raw_report = raw_report
  
      @property
      def model_name(self):
+         """
+         :rtype: str
+         """
          return self._raw_report['model_name']
  
      @property
      def performance(self):
+         """
+         :rtype: dict
+         """
          return self._raw_report['error_metrics']
  
      @property
      def feature_importances(self):
+         """
+         :rtype: list of dict
+         """
          return self._raw_report['feature_importances']
  
      @property
      def model_settings(self):
+         """
+         :rtype: dict
+         """
          return self._raw_report['model_settings']
  
      """
      WARNING - the dict format returned is unstable and may change over time.
  
      :return: a copy of the raw report that backs the instance.
      :rtype: dict
      """
      def to_json(self):
          return deepcopy(self._raw_report)
  
Add basic documentation to ModelReport
## Code Before:
from copy import deepcopy

class ModelReport(object):
    """
    An abstraction of a model report that wraps access to various sections
    of the report.
    """

    """
    :param raw_report: the dict representation of model report JSON
    :type: dict
    """
    def __init__(self, raw_report):
        self._raw_report = raw_report

    @property
    def model_name(self):
        return self._raw_report['model_name']

    @property
    def performance(self):
        return self._raw_report['error_metrics']

    @property
    def feature_importances(self):
        return self._raw_report['feature_importances']

    @property
    def model_settings(self):
        return self._raw_report['model_settings']

    """
    WARNING - the dict format returned is unstable and may change over time.

    :return: a copy of the raw report that backs the instance.
    :rtype: dict
    """
    def to_json(self):
        return deepcopy(self._raw_report)

## Instruction:
Add basic documentation to ModelReport
## Code After:
from copy import deepcopy

class ModelReport(object):
    """
    An abstraction of a model report that wraps access to various sections
    of the report.
    """

    """
    :param raw_report: the dict representation of model report JSON
    :type: dict
    """
    def __init__(self, raw_report):
        self._raw_report = raw_report

    @property
    def model_name(self):
        """
        :rtype: str
        """
        return self._raw_report['model_name']

    @property
    def performance(self):
        """
        :rtype: dict
        """
        return self._raw_report['error_metrics']

    @property
    def feature_importances(self):
        """
        :rtype: list of dict
        """
        return self._raw_report['feature_importances']

    @property
    def model_settings(self):
        """
        :rtype: dict
        """
        return self._raw_report['model_settings']

    """
    WARNING - the dict format returned is unstable and may change over time.

    :return: a copy of the raw report that backs the instance.
    :rtype: dict
    """
    def to_json(self):
        return deepcopy(self._raw_report)
