Medial Code Documentation
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Data Fields
MedModel Class Referencefinal

A model = repCleaner + featureGenerator + featureProcessor + MedPredictor. More...

#include <MedModel.h>

Inheritance diagram for MedModel:
SerializableObject

Public Member Functions

void clear ()
 
void change_model (const ChangeModelInfo &change_request)
 change model object in run time
 
void change_model (const vector< ChangeModelInfo > &change_request)
 change model object in run time - multiple requests, one by one
 
void add_rep_processor (RepProcessor *processor)
 Add Rep Processorsep.
 
void add_rep_processors_set (RepProcessorTypes type, vector< string > &signals)
 
void add_rep_processors_set (RepProcessorTypes type, vector< string > &signals, string init_string)
 
void insert_rep_processor (string init_string, int index)
 
void add_feature_generator (FeatureGenerator *generator)
 Add Feature Generators.
 
void add_feature_generators (FeatureGeneratorTypes type, vector< string > &signals)
 
void add_feature_generators (FeatureGeneratorTypes type, vector< string > &signals, string init_string)
 
void add_feature_generator (FeatureGeneratorTypes type, string &signal)
 
void add_feature_generators (FeatureGeneratorTypes type, string &signal, string init_string)
 
void add_feature_generators (string &name, vector< string > &signals)
 
void add_feature_generators (string &name, vector< string > &signals, string init_string)
 
void add_feature_generator (string &name, string &signal)
 
void add_feature_generators (string &name, string &signal, string init_string)
 
void add_age ()
 
void add_gender ()
 
void get_all_features_names (vector< string > &feat_names, int before_process_set)
 
void add_feature_processor (FeatureProcessor *processor)
 Add Feature Processors.
 
void add_feature_processors_set (FeatureProcessorTypes type)
 
void add_feature_processors_set (FeatureProcessorTypes type, string init_string)
 
void add_feature_processors_set (FeatureProcessorTypes type, vector< string > &features)
 
void add_feature_processors_set (FeatureProcessorTypes type, vector< string > &features, string init_string)
 
void add_normalizers ()
 
void add_normalizers (string init_string)
 
void add_normalizers (vector< string > &features)
 
void add_normalizers (vector< string > &features, string init_string)
 
void add_imputers ()
 
void add_imputers (string init_string)
 
void add_imputers (vector< string > &features)
 
void add_imputers (vector< string > &features, string init_string)
 
void add_post_processor (PostProcessor *processor)
 
int init_from_json_string (string &json_string, const string &fname)
 
void init_from_json_file (const string &fname)
 
void init_from_json_file_with_alterations_version_1 (const string &fname, vector< string > &alterations)
 
void init_from_json_file_with_alterations (const string &fname, vector< string > &alterations)
 
int add_pre_processors_json_string_to_model (string in_json, string fname)
 
int add_pre_processors_json_string_to_model (string in_json, string fname, vector< string > &alterations, bool add_rep_first=false)
 
int add_post_processors_json_string_to_model (string in_json, string fname)
 
int add_post_processors_json_string_to_model (string in_json, string fname, vector< string > &alterations)
 
void add_rep_processor_to_set (int i_set, const string &init_string)
 
void add_feature_generator_to_set (int i_set, const string &init_string)
 
void add_feature_processor_to_set (int i_set, int duplicate, const string &init_string)
 
void add_process_to_set (int i_set, int duplicate, const string &init_string)
 
void add_process_to_set (int i_set, const string &init_string)
 
void add_post_processor_to_set (int i_set, const string &init_string)
 
void set_predictor (MedPredictor *_predictor)
 Add Predictor.
 
void set_predictor (MedPredictorTypes type)
 
void set_predictor (string name)
 
void set_predictor (MedPredictorTypes type, string init_string)
 
void set_predictor (string name, string init_string)
 
void replace_predictor_with_json_predictor (string f_json)
 
void set_required_signal_ids (MedDictionarySections &dict, vector< RepProcessor * > &applied_rep_processors, vector< FeatureGenerator * > &applied_generators)
 signal ids
 
void set_affected_signal_ids (MedDictionarySections &dict, vector< RepProcessor * > &applied_rep_processors)
 
void get_required_signal_names (unordered_set< string > &signalNames) const
 
void get_required_signal_names (vector< string > &signalNames) const
 
void get_required_signal_names_for_processed_values (unordered_set< string > &targetSignalNames, unordered_set< string > &signalNames)
 Required signals to generate processed values of target-signals.
 
void get_required_signal_names_for_processed_values (unordered_set< string > &targetSignalNames, vector< string > &signalNames)
 
void get_generated_features_names (vector< string > &feat_names)
 Get list of Features generated by the model, after everything was applied (RPs, FGs, FPs)
 
int get_nfeatures ()
 get model features size esstimation - number of columns
 
int get_duplicate_factor () const
 returns the duplicate factor of the model - by how much each sample is duplicated by
 
int collect_and_add_virtual_signals (MedRepository &rep)
 
void get_required_signal_categories (unordered_map< string, vector< string > > &signal_categories_in_use) const
 
void init_all (MedDictionarySections &dict, MedSignals &sigs, vector< RepProcessor * > &applied_rep_processors, vector< FeatureGenerator * > &applied_generators)
 Initialization : signal ids and tables.
 
void init_all (MedDictionarySections &dict, MedSignals &sigs)
 
int learn (MedPidRepository &rep, MedSamples *samples)
 
int learn (MedPidRepository &rep, MedSamples *samples, MedModelStage start_stage, MedModelStage end_stage)
 
int learn_skip_matrix_train (MedPidRepository &rep, MedSamples *samples, MedModelStage end_stage)
 
int apply (MedPidRepository &rep, MedSamples &samples)
 
int apply (MedPidRepository &rep, MedSamples &samples, MedModelStage start_stage, MedModelStage end_stage)
 
void no_init_apply_partial (MedPidRepository &rep, MedSamples &samples, const vector< Effected_Field > &requested_outputs)
 
int init_model_for_apply (MedPidRepository &rep, MedModelStage start_stage, MedModelStage end_stage)
 
int no_init_apply (MedPidRepository &rep, MedSamples &samples, MedModelStage start_stage, MedModelStage end_stage)
 
int learn (MedPidRepository &rep, MedSamples &model_learning_set, vector< MedSamples > &post_processors_learning_sets)
 
int learn (MedPidRepository &rep, MedSamples &model_learning_set, vector< MedSamples > &post_processors_learning_sets, MedModelStage start_stage, MedModelStage end_stage)
 
int learn (MedPidRepository &rep, MedSamples &samples)
 
int learn (MedPidRepository &rep, MedSamples &samples, MedModelStage start_stage, MedModelStage end_stage)
 
int init_for_apply_rec (MedPidRepository &rep)
 
int apply_rec (PidDynamicRec &drec, MedIdSamples idSamples, MedFeatures &_feat, bool copy_rec_flag, int end_stage=MED_MDL_APPLY_FTR_PROCESSORS)
 
virtual void pre_serialization ()
 
int quick_learn_rep_processors (MedPidRepository &rep, MedSamples &samples)
 
int learn_rep_processors (MedPidRepository &rep, MedSamples &samples)
 
int learn_all_rep_processors (MedPidRepository &rep, MedSamples &samples)
 
void filter_rep_processors ()
 
int learn_feature_generators (MedPidRepository &rep, MedSamples *learn_samples)
 
int generate_features (MedPidRepository &rep, MedSamples *samples, vector< FeatureGenerator * > &_generators, MedFeatures &features)
 
int generate_all_features (MedPidRepository &rep, MedSamples *samples, MedFeatures &features, unordered_set< string > &req_feature_generators)
 
int learn_and_apply_feature_processors (MedFeatures &features)
 
int learn_feature_processors (MedFeatures &features)
 
int apply_feature_processors (MedFeatures &features, bool learning)
 
int apply_feature_processors (MedFeatures &features, vector< unordered_set< string > > &req_features_vec, bool learning)
 
void build_req_features_vec (vector< unordered_set< string > > &req_features_vec) const
 
void get_applied_generators (unordered_set< string > &req_feature_generators, vector< FeatureGenerator * > &_generators) const
 
void dprint_process (const string &pref, int rp_flag, int fg_flag, int fp_flag, int predictor_flag, int pp_flag)
 following is for debugging, it gets a prefix, and prints it along with information on rep_processors, feature_generators, or feature_processors
 
int write_feature_matrix (const string mat_fname, bool write_attributes=false, bool append=false)
 following is for debugging : writing the feature to a csv file as a matrix.
 
void load_repository (const string &configFile, MedPidRepository &rep, bool allow_adjustment=false)
 loading a repository (optionally allowing for adjustment to model according to available signals)
 
void load_repository (const string &configFile, vector< int > ids, MedPidRepository &rep, bool allow_adjustment=false)
 
void fit_for_repository (MedPidRepository &rep)
 
void read_from_file_with_changes (const string &model_binary_path, const string &path_to_json_changes)
 Read binary model from file + json changes req for run-time (empty string for no changes)
 
void clone_model (MedModel &out)
 clones this object into out
 
void copy_from_model (MedModel &in)
 copy in modle into this object
 
int get_apply_batch_count ()
 returns how many samples are done in a single batche (in apply)
 
- Public Member Functions inherited from SerializableObject
virtual int version () const
 Relevant for serializations.
 
virtual string my_class_name () const
 For better handling of serializations it is highly recommended that each SerializableObject inheriting class will implement the next method.
 
virtual void serialized_fields_name (vector< string > &field_names) const
 The names of the serialized fields.
 
virtual void * new_polymorphic (string derived_name)
 for polymorphic classes that want to be able to serialize/deserialize a pointer * to the derived class given its type one needs to implement this function to return a new to the derived class given its type (as in my_type)
 
virtual void post_deserialization ()
 
virtual size_t get_size ()
 Gets bytes sizes for serializations.
 
virtual size_t serialize (unsigned char *blob)
 Serialiazing object to blob memory. return number ob bytes wrote to memory.
 
virtual size_t deserialize (unsigned char *blob)
 Deserialiazing blob to object. returns number of bytes read.
 
size_t serialize_vec (vector< unsigned char > &blob)
 
size_t deserialize_vec (vector< unsigned char > &blob)
 
virtual size_t serialize (vector< unsigned char > &blob)
 
virtual size_t deserialize (vector< unsigned char > &blob)
 
virtual int read_from_file (const string &fname)
 read and deserialize model
 
virtual int write_to_file (const string &fname)
 serialize model and write to file
 
virtual int read_from_file_unsafe (const string &fname)
 read and deserialize model without checking version number - unsafe read
 
int init_from_string (string init_string)
 Init from string.
 
int init_params_from_file (string init_file)
 
int init_param_from_file (string file_str, string &param)
 
virtual int init (map< string, string > &map)
 Virtual to init object from parsed fields.
 
int update_from_string (const string &init_string)
 
virtual int update (map< string, string > &map)
 Virtual to update object from parsed fields.
 
virtual string object_json () const
 

Static Public Member Functions

static MedModelStage get_med_model_stage (const string &stage)
 

Data Fields

string version_info = ""
 a string that represents version info - filled in compile time from git info
 
int serialize_learning_set = 0
 remember learning set
 
int model_json_version = 1
 the json version
 
long long max_data_in_mem = 0
 maximal data size in memory.
 
int model_feature_count_hint = 0
 hint for feature counts to consider in batching.
 
vector< RepProcessor * > rep_processors
 Repostiroy-level cleaners; to be applied sequentially.
 
vector< FeatureGenerator * > generators
 Feature Generators.
 
vector< FeatureProcessor * > feature_processors
 Features-level cleaners; to be applied sequentially.
 
vector< PostProcessor * > post_processors
 Post Process level - calibrators, explainers...
 
MedPredictorpredictor = NULL
 Predictor.
 
MedSamplesLearningSet = NULL
 Learning samples.
 
bool take_mean_pred = true
 when having multiple prediction for same samples - how to aggregate preds - mean or median?
 
unordered_set< string > required_signal_names
 All required signal names + ids.
 
unordered_set< int > required_signal_ids
 
vector< unordered_set< string > > required_features_vec
 
unordered_set< string > required_feature_generators
 
map< string, int > virtual_signals
 all collected virtual signals (name to type)
 
map< string, string > virtual_signals_generic
 
MedFeatures features
 the created matrix - no need to serialize
 
int verbosity = 1
 verbosity 0 -> much less printouts in predict
 
int generate_masks_for_features = 0
 
MedPidRepositoryp_rep = NULL
 not serialized. stores pointer to rep used in Learn or Apply after call.
 

Detailed Description

A model = repCleaner + featureGenerator + featureProcessor + MedPredictor.

Member Function Documentation

◆ change_model() [1/2]

void MedModel::change_model ( const ChangeModelInfo change_request)

change model object in run time

Parameters
change_request.object_type_name- object type name to search for in rep_processors,generators,feature_processors, etc. For example "FeatureNormalizer"
change_request.json_queryquery on the object json to filter on specific attributes. leave empty to operate on all
change_request.change_command- The command to send each matched object. use "DELETE" to remove the object, "PRINT" to print object josn into stdout. otherwise it will pass the argument into init function

◆ change_model() [2/2]

void MedModel::change_model ( const vector< ChangeModelInfo > &  change_request)

change model object in run time - multiple requests, one by one

Parameters
change_request.object_type_name- object type name to search for in rep_processors,generators,feature_processors, etc. For example "FeatureNormalizer"
change_request.json_queryquery on the object json to filter on specific attributes. leave empty to operate on all
change_request.change_command- The command to send each matched object. use "DELETE" to remove the object, "PRINT" to print object josn into stdout. otherwise it will pass the argument into init function

◆ pre_serialization()

virtual void MedModel::pre_serialization ( )
inlinevirtual

Reimplemented from SerializableObject.

Field Documentation

◆ max_data_in_mem

long long MedModel::max_data_in_mem = 0

maximal data size in memory.

when <=0 mean auto mode

◆ model_feature_count_hint

int MedModel::model_feature_count_hint = 0

hint for feature counts to consider in batching.

The user can specify count for model after feature selection, otherwise it will count all the features from the generators without filtering. The number of features needs to be defined pre ahead of batching process of the samples.


The documentation for this class was generated from the following files: