derdava.data_valuation package#

class derdava.data_valuation.ValuableModel(support: tuple, model_utility_function: ModelUtilityFunction)[source]#

Bases: object

Main class used for data valuation.

__init__(support: tuple, model_utility_function: ModelUtilityFunction)[source]#

Creates a ValuableModel.

Parameters:
  • support – A tuple containing the indices of data sources in the support set.

  • model_utility_function – A ModelUtilityFunction object.

valuate(data_valuation_function='dummy', **kwargs)[source]#

Performs data valuation.

Parameters:

data_valuation_function

The data valuation function to be used. It supports the following options:

  • Dummy: 'dummy' (always assigns \(0\) to all data sources);

  • Semivalues: 'loo', 'shapley', 'banzhaf', 'beta';

  • Monte-Carlo approximation of semivalues: 'monte-carlo shapley', 'monte-carlo banzhaf', 'monte-carlo beta';

  • DeRDaVas: 'robust loo', 'robust shapley', 'robust banzhaf', 'robust beta';

  • 012-MCMC approximation of DeRDaVas: '012-mcmc robust loo', '012-mcmc robust shapley', '012-mcmc robust banzhaf', '012-mcmc robust beta';

  • Risk-DeRDaVas: 'risk averse robust shapley', 'risk averse robust banzhaf', 'risk averse robust beta', 'risk seeking robust shapley', 'risk seeking robust banzhaf', 'risk seeking robust beta'.

Note

When any 'beta' or its variants is selected as data_valuation_function, you need to pass in two additional keyword arguments alpha and beta (both are positive numbers).

When any DeRDaVa is used, you need to specify one keyword argument coalition_probability of class CoalitionProbability.

When any Monte-Carlo or 012-MCMC approximation is used, you need to specify one keyword argument tolerance (default 1.005).