ImagePropertyDrift#

class ImagePropertyDrift[source]#

Calculate drift between train dataset and test dataset per image property, using statistical measures.

Check calculates a drift score for each image property in test dataset, by comparing its distribution to the train dataset. For this, we use the Earth Movers Distance.

See https://en.wikipedia.org/wiki/Wasserstein_metric

Parameters
image_propertiesList[Dict[str, Any]], default: None

List of properties. Replaces the default deepchecks properties. Each property is a dictionary with keys 'name' (str), method (Callable) and 'output_type' (str), representing attributes of said method. ‘output_type’ must be one of:

  • 'numeric' - for continuous ordinal outputs.

  • 'categorical' - for discrete, non-ordinal outputs. These can still be numbers, but these numbers do not have inherent value.

For more on image / label properties, see the guide about Data Properties.

margin_quantile_filter: float, default: 0.025

float in range [0,0.5), representing which margins (high and low quantiles) of the distribution will be filtered out of the EMD calculation. This is done in order for extreme values not to affect the calculation disproportionally. This filter is applied to both distributions, in both margins.

min_category_size_ratio: float, default 0.01

minimum size ratio for categories. Categories with size ratio lower than this number are binned into an “Other” category.

max_num_categories_for_drift: int, default: None

Only for discrete properties. Max number of allowed categories. If there are more, they are binned into an “Other” category. This limit applies for both drift calculation and distribution plots.

max_num_categories_for_display: int, default: 10

Max number of categories to show in plot.

show_categories_by: str, default: ‘largest_difference’

Specify which categories to show for categorical features’ graphs, as the number of shown categories is limited by max_num_categories_for_display. Possible values:

  • ‘train_largest’: Show the largest train categories.

  • ‘test_largest’: Show the largest test categories.

  • ‘largest_difference’: Show the largest difference between categories.

classes_to_displayOptional[List[float]], default: None

List of classes to display. The distribution of the properties would include only samples belonging (or containing an annotation belonging) to one of these classes. If None, samples from all classes are displayed.

min_samples: int, default: 30

Minimum number of samples needed in each dataset needed to calculate the drift.

aggregation_method: str, default: ‘max’

argument for the reduce_output functionality, decides how to aggregate the individual properties drift scores for a collective score between 0 and 1. Possible values are: ‘mean’: Mean of all properties scores. ‘none’: No averaging. Return a dict with a drift score for each property. ‘max’: Maximum of all the properties drift scores.

__init__(image_properties: Optional[List[Dict[str, Any]]] = None, margin_quantile_filter: float = 0.025, max_num_categories_for_drift: Optional[int] = None, min_category_size_ratio: float = 0.01, max_num_categories_for_display: int = 10, show_categories_by: str = 'largest_difference', classes_to_display: Optional[List[str]] = None, min_samples: int = 30, aggregation_method: str = 'max', **kwargs)[source]#
__new__(*args, **kwargs)#

Methods

ImagePropertyDrift.add_condition(name, ...)

Add new condition function to the check.

ImagePropertyDrift.add_condition_drift_score_less_than([...])

Add condition - require drift score to be less than a certain threshold.

ImagePropertyDrift.clean_conditions()

Remove all conditions from this check instance.

ImagePropertyDrift.compute(context)

Calculate drift score between train and test datasets for the collected image properties.

ImagePropertyDrift.conditions_decision(result)

Run conditions on given result.

ImagePropertyDrift.config([include_version])

Return check configuration (conditions' configuration not yet supported).

ImagePropertyDrift.from_config(conf[, ...])

Return check object from a CheckConfig object.

ImagePropertyDrift.from_json(conf[, ...])

Deserialize check instance from JSON string.

ImagePropertyDrift.initialize_run(context)

Initialize self state, and validate the run context.

ImagePropertyDrift.metadata([with_doc_link])

Return check metadata.

ImagePropertyDrift.name()

Name of class in split camel case.

ImagePropertyDrift.params([show_defaults])

Return parameters to show when printing the check.

ImagePropertyDrift.property_reduce(...)

Return an aggregated drift score based on aggregation method defined.

ImagePropertyDrift.reduce_output(check_result)

Return prediction drift score per prediction property.

ImagePropertyDrift.remove_condition(index)

Remove given condition by index.

ImagePropertyDrift.run(train_dataset, ...[, ...])

Run check.

ImagePropertyDrift.to_json([indent])

Serialize check instance to JSON string.

ImagePropertyDrift.update(context, batch, ...)

Calculate image properties for train or test batch.

Examples#