Ejemplo n.º 1
0
    def set_attrs(self,
                  target=None,
                  features=None,
                  estimator=None,
                  prediction=None,
                  predictions_name=None,
                  actual=None,
                  column_subset=None,
                  filters=None,
                  fill_missing=None,
                  discard_incomplete=False,
                  categorical_indicators=False):

        if prediction is not None:
            if predictions_name is None:
                raise ValueError("If you provide a prediction feature, you "
                "must also specify a _unique_ 'predictions_name'")

        if isinstance(target, BaseFeature) or target is None:
            self.target = target
        else:
            self.target = Feature(target)

        if isinstance(prediction, BaseFeature) or prediction is None:
            self.prediction = prediction
        else:
            self.prediction = Feature(prediction)
        self.predictions_name = predictions_name

        if actual is None:
            actual = self.target
        self.actual = (actual if isinstance(actual, BaseFeature)
                       else Feature(actual))

        self.filters = filters if filters else []
        if discard_incomplete:
            self.filters.append(filter_incomplete)

        if features:
            self.features = ([f if isinstance(f, BaseFeature) else Feature(f)
                              for f in features])

            if categorical_indicators:
                self.features = pre_transform_features(self.features,
                                                       AsFactorIndicators,
                                                       only_if_categorical=True)
            if fill_missing is not None:
                self.features = pre_transform_features(self.features,
                                                       FillMissing,
                                                       fill_value=missing)
        else:
            self.features = None

        # Wrap estimator to return probabilities in the case of a classifier
        self.estimator = wrap_sklearn_like_estimator(estimator)

        self.column_subset = column_subset
Ejemplo n.º 2
0
    def set_attrs(self,
                  target=None,
                  features=None,
                  estimator=None,
                  evaluation_transformation=None,
                  predictions_name=None,
                  evaluation_target=None,
                  column_subset=None,
                  filters=None,
                  fill_missing=None,
                  discard_incomplete=False,
                  categorical_indicators=False):

        if isinstance(target, BaseFeature) or target is None:
            self.target = target
        else:
            self.target = Feature(target)

        # Alternative predictions
        if isinstance(evaluation_transformation, BaseFeature) or evaluation_transformation is None:
            self.evaluation_transformation = evaluation_transformation
        else:
            self.evaluation_transformation = Feature(evaluation_transformation)

        self.predictions_name = predictions_name
        if self.predictions_name is None:
            self.predictions_name = self.DEFAULT_PREDICTIONS_NAME

        if evaluation_target is not None:
            evaluation_target = (evaluation_target if isinstance(evaluation_target, BaseFeature)
                       else Feature(evaluation_target))
        self.evaluation_target = evaluation_target

        if (self.evaluation_target is not None) ^ (self.evaluation_transformation is not None):
            raise ValueError("You must specify both or neither of\
                             evaluation_target and evaluation_transformation")

        # Transformations
        self.filters = filters if filters else []
        if discard_incomplete:
            self.filters.append(filter_incomplete)

        self.fill_missing = fill_missing
        self.categorical_indicators = categorical_indicators
        self.discard_incomplete = discard_incomplete

        # Features
        if features:
            self.features = ([f if isinstance(f, BaseFeature) else Feature(f)
                              for f in features])

            if categorical_indicators:
                self.features = pre_transform_features(self.features,
                                                       AsFactorIndicators,
                                                       only_if_categorical=True)
            if fill_missing is not None:
                self.features = pre_transform_features(self.features,
                                                       FillMissing,
                                                       fill_value=fill_missing)
        else:
            self.features = None

        # Wrap estimator to return probabilities in the case of a classifier
        self.estimator = wrap_sklearn_like_estimator(estimator)

        self.column_subset = column_subset
Ejemplo n.º 3
0
    def set_attrs(self,
                  target=None,
                  features=None,
                  estimator=None,
                  evaluation_transformation=None,
                  predictions_name=None,
                  evaluation_target=None,
                  column_subset=None,
                  filters=None,
                  fill_missing=None,
                  discard_incomplete=False,
                  categorical_indicators=False):

        if isinstance(target, BaseFeature) or target is None:
            self.target = target
        else:
            self.target = Feature(target)

        # Alternative predictions
        if isinstance(evaluation_transformation,
                      BaseFeature) or evaluation_transformation is None:
            self.evaluation_transformation = evaluation_transformation
        else:
            self.evaluation_transformation = Feature(evaluation_transformation)

        self.predictions_name = predictions_name
        if self.predictions_name is None:
            self.predictions_name = self.DEFAULT_PREDICTIONS_NAME

        if evaluation_target is not None:
            evaluation_target = (evaluation_target if isinstance(
                evaluation_target, BaseFeature) else
                                 Feature(evaluation_target))
        self.evaluation_target = evaluation_target

        if (self.evaluation_target
                is not None) ^ (self.evaluation_transformation is not None):
            raise ValueError("You must specify both or neither of\
                             evaluation_target and evaluation_transformation")

        # Transformations
        self.filters = filters if filters else []
        if discard_incomplete:
            self.filters.append(filter_incomplete)

        self.fill_missing = fill_missing
        self.categorical_indicators = categorical_indicators
        self.discard_incomplete = discard_incomplete

        # Features
        if features:
            self.features = ([
                f if isinstance(f, BaseFeature) else Feature(f)
                for f in features
            ])

            if categorical_indicators:
                self.features = pre_transform_features(
                    self.features,
                    AsFactorIndicators,
                    only_if_categorical=True)
            if fill_missing is not None:
                self.features = pre_transform_features(self.features,
                                                       FillMissing,
                                                       fill_value=fill_missing)
        else:
            self.features = None

        # Wrap estimator to return probabilities in the case of a classifier
        self.estimator = wrap_sklearn_like_estimator(estimator)

        self.column_subset = column_subset