nannyml.base module

Module containing base classes for drift calculation.

class nannyml.base.AbstractCalculator(chunk_size: Optional[int] = None, chunk_number: Optional[int] = None, chunk_period: Optional[str] = None, chunker: Optional[Chunker] = None, timestamp_column_name: Optional[str] = None)[source]

Bases: ABC

Base class for drift calculation.

Creates a new instance of an abstract DriftCalculator.

Parameters:
  • chunk_size (int) – Splits the data into chunks containing chunks_size observations. Only one of chunk_size, chunk_number or chunk_period should be given.

  • chunk_number (int) – Splits the data into chunk_number pieces. Only one of chunk_size, chunk_number or chunk_period should be given.

  • chunk_period (str) – Splits the data according to the given period. Only one of chunk_size, chunk_number or chunk_period should be given.

  • chunker (Chunker) – The Chunker used to split the data sets into a lists of chunks.

calculate(data: DataFrame, *args, **kwargs) AbstractCalculatorResult[source]

Performs a calculation on the provided data.

fit(reference_data: DataFrame, *args, **kwargs) AbstractCalculator[source]

Trains the calculator using reference data.

class nannyml.base.AbstractCalculatorResult(results_data: DataFrame)[source]

Bases: ABC

Contains the results of a calculation and provides plotting functionality.

The result of the calculate() method of a AbstractCalculator.

It is an abstract class containing shared properties and methods across implementations. For each AbstractCalculator class there will be a corresponding AbstractCalculatorResult implementation.

Creates a new AbstractCalculatorResult instance.

Parameters:

results_data (pd.DataFrame) – The data returned by the Calculator.

abstract property calculator_name: str
plot(*args, **kwargs) Optional[Figure][source]

Plots calculation results.

class nannyml.base.AbstractEstimator(chunk_size: Optional[int] = None, chunk_number: Optional[int] = None, chunk_period: Optional[str] = None, chunker: Optional[Chunker] = None, timestamp_column_name: Optional[str] = None)[source]

Bases: ABC

Base class for drift calculation.

Creates a new instance of an abstract DriftCalculator.

Parameters:
  • chunk_size (int) – Splits the data into chunks containing chunks_size observations. Only one of chunk_size, chunk_number or chunk_period should be given.

  • chunk_number (int) – Splits the data into chunk_number pieces. Only one of chunk_size, chunk_number or chunk_period should be given.

  • chunk_period (str) – Splits the data according to the given period. Only one of chunk_size, chunk_number or chunk_period should be given.

  • chunker (Chunker) – The Chunker used to split the data sets into a lists of chunks.

estimate(data: DataFrame, *args, **kwargs) AbstractEstimatorResult[source]

Performs a calculation on the provided data.

fit(reference_data: DataFrame, *args, **kwargs) AbstractEstimator[source]

Trains the calculator using reference data.

class nannyml.base.AbstractEstimatorResult(results_data: DataFrame)[source]

Bases: ABC

Contains the results of a drift calculation and provides additional functionality such as plotting.

The result of the calculate() method of a DriftCalculator.

It is an abstract class containing shared properties and methods across implementations. For each DriftCalculator class there will be an associated DriftResult implementation.

Creates a new DriftResult instance.

Parameters:

results_data (pd.DataFrame) – The result data of the performed calculation.

abstract property estimator_name: str
plot(*args, **kwargs) Figure[source]

Plot drift results.