from abc import ABC, abstractmethod from evalml.utils import classproperty [docs]class DataCheck(ABC): """Base class for all data checks. Data checks are a set of heuristics used to determine if there are problems with input data.""" @classproperty def name(cls): """Returns a name describing the data check.""" return str(cls.__name__) [docs] @abstractmethod def validate(self, X, y=None): """ Inspects and validates the input data, runs any necessary calculations or algorithms, and returns a list of warnings and errors if applicable. Arguments: X (pd.DataFrame): the input data of shape [n_samples, n_features] y (pd.Series, optional): the target data of length [n_samples] Returns: list (DataCheckMessage): list of DataCheckError and DataCheckWarning objects """