SingleFeatureContributionTrainTest#

class SingleFeatureContributionTrainTest[source]#

Return the Predictive Power Score of all features, in order to estimate each feature’s ability to predict the label.

The PPS represents the ability of a feature to single-handedly predict another feature or label. In this check, we specifically use it to assess the ability of each feature to predict the label. A high PPS (close to 1) can mean that this feature’s success in predicting the label is actually due to data leakage - meaning that the feature holds information that is based on the label to begin with.

When we compare train PPS to test PPS, A high difference can strongly indicate leakage, as a feature that was “powerful” in train but not in test can be explained by leakage in train that does not affect a new dataset.

Uses the ppscore package - for more info, see https://github.com/8080labs/ppscore

Parameters
ppscore_paramsdict , default: None

dictionary of additional parameters for the ppscore predictor function

n_top_featuresint , default: 5

Number of features to show, sorted by the magnitude of difference in PPS

random_stateint , default: None

Random state for the ppscore.predictors function

min_pps_to_show: float, default 0.05

Minimum PPS to show a class in the graph

__init__(ppscore_params=None, n_top_features: int = 5, random_state: Optional[int] = None, min_pps_to_show: float = 0.05, **kwargs)[source]#
__new__(*args, **kwargs)#

Methods

SingleFeatureContributionTrainTest.add_condition(...)

Add new condition function to the check.

SingleFeatureContributionTrainTest.add_condition_feature_pps_difference_not_greater_than([...])

Add new condition.

SingleFeatureContributionTrainTest.add_condition_feature_pps_in_train_not_greater_than([...])

Add new condition.

SingleFeatureContributionTrainTest.clean_conditions()

Remove all conditions from this check instance.

SingleFeatureContributionTrainTest.conditions_decision(result)

Run conditions on given result.

SingleFeatureContributionTrainTest.finalize_check_result(...)

Finalize the check result by adding the check instance and processing the conditions.

SingleFeatureContributionTrainTest.metadata([...])

Return check metadata.

SingleFeatureContributionTrainTest.name()

Name of class in split camel case.

SingleFeatureContributionTrainTest.params([...])

Return parameters to show when printing the check.

SingleFeatureContributionTrainTest.remove_condition(index)

Remove given condition by index.

SingleFeatureContributionTrainTest.run(...)

Run check.

SingleFeatureContributionTrainTest.run_logic(context)

Run check.

Examples#