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
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
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