NewCategoryTrainTest#

class NewCategoryTrainTest[source]#

Find new categories in the test set.

Parameters
columnsUnion[Hashable, List[Hashable]] , default: None

Columns to check, if none are given checks all columns except ignored ones.

ignore_columnsUnion[Hashable, List[Hashable]] , default: None

Columns to ignore, if none given checks based on columns variable.

max_features_to_showint , default: 5

maximum features with new categories to show

max_new_categories_to_showint , default: 5

maximum new categories to show in feature

aggregation_method: Optional[str], default: ‘max’

Argument for the reduce_output functionality, decides how to aggregate the vector of per-feature scores into a single aggregated score. The aggregated score value is between 0 and 1 for all methods. Possible values are: ‘l3_weighted’: Default. L3 norm over the ‘per-feature scores’ vector weighted by the feature importance, specifically, sum(FI * PER_FEATURE_SCORES^3)^(1/3). This method takes into account the feature importance yet puts more weight on the per-feature scores. This method is recommended for most cases. ‘l5_weighted’: Similar to ‘l3_weighted’, but with L5 norm. Puts even more emphasis on the per-feature scores and specifically on the largest per-feature scores returning a score closer to the maximum among the per-feature scores. ‘weighted’: Weighted mean of per-feature scores based on feature importance. ‘max’: Maximum of all the per-feature scores. None: No averaging. Return a dict with a per-feature score for each feature.

n_samplesint , default: 10_000_000

number of samples to use for this check.

random_stateint, default: 42

random seed for all check internals.

__init__(columns: Optional[Union[Hashable, List[Hashable]]] = None, ignore_columns: Optional[Union[Hashable, List[Hashable]]] = None, max_features_to_show: int = 5, max_new_categories_to_show: int = 5, aggregation_method: Optional[str] = 'max', n_samples: int = 10000000, random_state: int = 42, **kwargs)[source]#
__new__(*args, **kwargs)#

Methods

NewCategoryTrainTest.add_condition(name, ...)

Add new condition function to the check.

NewCategoryTrainTest.add_condition_new_categories_less_or_equal([...])

Add condition - require column's number of different new categories to be less or equal to threshold.

NewCategoryTrainTest.add_condition_new_category_ratio_less_or_equal([...])

Add condition - require column's ratio of instances with new categories to be less or equal to threshold.

NewCategoryTrainTest.clean_conditions()

Remove all conditions from this check instance.

NewCategoryTrainTest.conditions_decision(result)

Run conditions on given result.

NewCategoryTrainTest.config([...])

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

NewCategoryTrainTest.feature_reduce(...)

Return an aggregated drift score based on aggregation method defined.

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

Return check object from a CheckConfig object.

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

Deserialize check instance from JSON string.

NewCategoryTrainTest.greater_is_better()

Return True if the check reduce_output is better when it is greater.

NewCategoryTrainTest.metadata([with_doc_link])

Return check metadata.

NewCategoryTrainTest.name()

Name of class in split camel case.

NewCategoryTrainTest.params([show_defaults])

Return parameters to show when printing the check.

NewCategoryTrainTest.reduce_output(check_result)

Return an aggregated drift score based on aggregation method defined.

NewCategoryTrainTest.remove_condition(index)

Remove given condition by index.

NewCategoryTrainTest.run(train_dataset, ...)

Run check.

NewCategoryTrainTest.run_logic(context)

Run check.

NewCategoryTrainTest.to_json([indent, ...])

Serialize check instance to JSON string.

Examples#