"""Exceptions used in EvalML."""fromenumimportEnum
[docs]classMethodPropertyNotFoundError(Exception):"""Exception to raise when a class is does not have an expected method or property."""pass
[docs]classPipelineNotFoundError(Exception):"""An exception raised when a particular pipeline is not found in automl search results."""pass
[docs]classObjectiveNotFoundError(Exception):"""Exception to raise when specified objective does not exist."""pass
[docs]classMissingComponentError(Exception):"""An exception raised when a component is not found in all_components()."""pass
[docs]classComponentNotYetFittedError(Exception):"""An exception to be raised when predict/predict_proba/transform is called on a component without fitting first."""pass
[docs]classPipelineNotYetFittedError(Exception):"""An exception to be raised when predict/predict_proba/transform is called on a pipeline without fitting first."""pass
[docs]classAutoMLSearchException(Exception):"""Exception raised when all pipelines in an automl batch return a score of NaN for the primary objective."""pass
[docs]classPipelineScoreError(Exception):"""An exception raised when a pipeline errors while scoring any objective in a list of objectives. Args: exceptions (dict): A dictionary mapping an objective name (str) to a tuple of the form (exception, traceback). All of the objectives that errored will be stored here. scored_successfully (dict): A dictionary mapping an objective name (str) to a score value. All of the objectives that did not error will be stored here. """def__init__(self,exceptions,scored_successfully):self.exceptions=exceptionsself.scored_successfully=scored_successfully# Format the traceback messageexception_list=[]forobjective,(exception,tb)inexceptions.items():exception_list.append(f"{objective} encountered {str(exception.__class__.__name__)} with message ({str(exception)}):\n",)exception_list.extend(tb)message="\n".join(exception_list)self.message=messagesuper().__init__(message)
[docs]classDataCheckInitError(Exception):"""Exception raised when a data check can't initialize with the parameters given."""
[docs]classNullsInColumnWarning(UserWarning):"""Warning thrown when there are null values in the column of interest."""
[docs]classObjectiveCreationError(Exception):"""Exception when get_objective tries to instantiate an objective and required args are not provided."""
[docs]classNoPositiveLabelException(Exception):"""Exception when a particular classification label for the 'positive' class cannot be found in the column index or unique values."""
[docs]classParameterNotUsedWarning(UserWarning):"""Warning thrown when a pipeline parameter isn't used in a defined pipeline's component graph during initialization."""def__init__(self,components):self.components=componentsmsg=f"Parameters for components {components} will not be used to instantiate the pipeline since they don't appear in the pipeline"super().__init__(msg)
[docs]classValidationErrorCode(Enum):"""Enum identifying the type of error encountered in holdout validation."""INVALID_HOLDOUT_LENGTH="invalid_holdout_length""""invalid_holdout_length"""INVALID_HOLDOUT_GAP_SEPARATION="invalid_holdout_gap_separation""""invalid_holdout_gap_separation"""
[docs]classPartialDependenceErrorCode(Enum):"""Enum identifying the type of error encountered in partial dependence."""TOO_MANY_FEATURES="too_many_features""""too_many_features"""FEATURES_ARGUMENT_INCORRECT_TYPES="features_argument_incorrect_types""""features_argument_incorrect_types"""UNFITTED_PIPELINE="unfitted_pipeline""""unfitted_pipeline"""PIPELINE_IS_BASELINE="pipeline_is_baseline""""pipeline_is_baseline"""TWO_WAY_REQUESTED_FOR_DATES="two_way_requested_for_dates""""two_way_requested_for_dates"""FEATURE_IS_ALL_NANS="feature_is_all_nans""""feature_is_all_nans"""FEATURE_IS_MOSTLY_ONE_VALUE="feature_is_mostly_one_value""""feature_is_mostly_one_value"""COMPUTED_PERCENTILES_TOO_CLOSE="computed_percentiles_too_close""""computed_percentiles_too_close"""INVALID_FEATURE_TYPE="invalid_feature_type""""invalid_feature_type"""ICE_PLOT_REQUESTED_FOR_TWO_WAY_PLOT=("ice_plot_requested_for_two_way_partial_dependence_plot")"""ice_plot_requested_for_two_way_partial_dependence_plot"""INVALID_CLASS_LABEL="invalid_class_label_requested_for_plot""""invalid_class_label_requested_for_plot"""ALL_OTHER_ERRORS="all_other_errors""""all_other_errors"""
[docs]classPartialDependenceError(ValueError):"""Exception raised for all errors that partial dependence can raise. Args: message (str): descriptive error message code (PartialDependenceErrorCode): code for speicific error """def__init__(self,message,code):self.code=codesuper().__init__(message)
[docs]classPipelineErrorCodeEnum(Enum):"""Enum identifying the type of error encountered while applying a pipeline."""PREDICT_INPUT_SCHEMA_UNEQUAL="predict_input_schema_unequal""""predict_input_schema_unequal"""
[docs]classPipelineError(ValueError):"""Exception raised for errors that can be raised when applying a pipeline. Args: message (str): descriptive error message code (PipelineErrorCodeEnum): code for specific error details (dict): additional details for error """def__init__(self,message,code,details=None):self.code=codeself.details=detailssuper().__init__(message)