artemis.generators.simutable.synthesizer

Generates the data using faker

Module Contents

class artemis.generators.simutable.synthesizer.Synthesizer(model, local, idx=0, seed=None)

Bases: object

Yields row of fake data given a metadata model instance of faker needs to be accesible to providers for accessing the random number generator Consider as a base class to allow for various generators

e.g. generate data and insert null for imputation

# Bug # The modifier is not picking up the seed since it is instantiated # before seed is set. Needs to be investigated!

property record_count(self)
property schema(self)
record_counter(self)
record_id(self)
set_seed(self, seed)
add_providers(self)

Add custom providers

get_field_parameters(self, in_parms)

Convert field parameters to/from a message to python type parameters which do not contain Fields are converted to python type

set_generators_from_proto(self, table)
generate_duplicate_pdf(self)

Create a map of duplicates and probabilities according to a pdf, i.e. uniform and store for re-use on each original event current version taken directly from FEBRL needs review b/c number of duplicates stored starts at 2?

cache_original(self, darr)
reset_original(self)
generate_original(self)
duplicate_original(self)
random_select_ndups(self)
expect_duplicate(self)

Determines whether original record will be duplicated Gets the maximum number of duplicated records to generate

generate(self)
plots(self)