Source code for autogluon.features.generators.dummy

import logging

from pandas import DataFrame

from autogluon.common.features.feature_metadata import FeatureMetadata

from .abstract import AbstractFeatureGenerator

logger = logging.getLogger(__name__)


[docs] class DummyFeatureGenerator(AbstractFeatureGenerator): """ Ignores all input features and returns a single int feature with all 0 values. Useful for testing purposes or to avoid crashes if no features were given. """ def __init__(self, features_in="empty", feature_metadata_in="empty", **kwargs): if features_in == "empty": features_in = [] if feature_metadata_in == "empty": feature_metadata_in = FeatureMetadata(type_map_raw={}) super().__init__(features_in=features_in, feature_metadata_in=feature_metadata_in, **kwargs) def _fit_transform(self, X: DataFrame, **kwargs) -> (DataFrame, dict): X_out = self._transform(X) return X_out, dict() def _transform(self, X: DataFrame) -> DataFrame: return self._generate_features_dummy(X) @staticmethod def get_default_infer_features_in_args() -> dict: return dict(valid_raw_types=[]) @staticmethod def _generate_features_dummy(X: DataFrame): X_out = DataFrame(index=X.index) X_out["__dummy__"] = 0 return X_out def is_valid_metadata_in(self, feature_metadata_in: FeatureMetadata): return True