Source code for evalml.problem_types.problem_types

from enum import Enum

from evalml.utils import classproperty


[docs]class ProblemTypes(Enum): """Enum defining the supported types of machine learning problems.""" BINARY = 'binary' """Binary classification problem.""" MULTICLASS = 'multiclass' """Multiclass classification problem.""" REGRESSION = 'regression' """Regression problem.""" TIME_SERIES_REGRESSION = 'time series regression' """Time series regression problem.""" TIME_SERIES_BINARY = 'time series binary' """Time series binary classification problem.""" TIME_SERIES_MULTICLASS = 'time series multiclass' """Time series multiclass classification problem.""" def __str__(self): problem_type_dict = {ProblemTypes.BINARY.name: "binary", ProblemTypes.MULTICLASS.name: "multiclass", ProblemTypes.REGRESSION.name: "regression", ProblemTypes.TIME_SERIES_REGRESSION.name: "time series regression", ProblemTypes.TIME_SERIES_BINARY.name: "time series binary", ProblemTypes.TIME_SERIES_MULTICLASS.name: "time series multiclass"} return problem_type_dict[self.name] @classproperty def _all_values(cls): return {pt.value.upper(): pt for pt in cls.all_problem_types} @classproperty def all_problem_types(cls): """Get a list of all defined problem types. Returns: list(ProblemTypes): list """ return list(cls)