Medial Code Documentation
Loading...
Searching...
No Matches
Public Member Functions | Data Fields
RepBasicOutlierCleaner Class Reference

A simple cleaner considering each value of a certain signal separatley. More...

#include <RepProcess.h>

Inheritance diagram for RepBasicOutlierCleaner:
RepProcessor MedValueCleaner SerializableObject RepConfiguredOutlierCleaner

Public Member Functions

 RepBasicOutlierCleaner ()
 default constructor
 
 RepBasicOutlierCleaner (const string &_signalName)
 default constructor + setting signal name
 
 RepBasicOutlierCleaner (const string &_signalName, string init_string)
 default constructor + setting signal name + initialize from string
 
 RepBasicOutlierCleaner (const string &_signalName, ValueCleanerParams *_params)
 default constructor + setting signal name + initialize from parameters
 
void init_defaults ()
 Initialize to default values.
 
void set_signal (const string &_signalName)
 Set signal name and fill affected and required signals sets.
 
virtual void set_signal_ids (MedSignals &sigs)
 Set signal id.
 
int init (void *processor_params)
 Fill required- and affected-signals sets.
 
virtual int init (map< string, string > &mapper)
 The parsed fields from init command.
 
void init_lists ()
 Fill req- and aff-signals vectors.
 
void init_attributes ()
 Init attributes information : Should be implemented for inheriting classes that have attributes.
 
int _learn (MedPidRepository &rep, MedSamples &samples, vector< RepProcessor * > &prev_processor)
 learn cleaning boundaries
 
int iterativeLearn (MedPidRepository &rep, MedSamples &samples, vector< RepProcessor * > &prev_processor)
 Learning : learn cleaning boundaries using MedValueCleaner's iterative approximation of moments.
 
int quantileLearn (MedPidRepository &rep, MedSamples &samples, vector< RepProcessor * > &prev_processor)
 Learning : learn cleaning boundaries using MedValueCleaner's quantile approximation of moments.
 
int _apply (PidDynamicRec &rec, vector< int > &time_points, vector< vector< float > > &attributes_mat)
 Apply cleaning model.
 
void print ()
 Debug printing.
 
void dprint (const string &pref, int rp_flag)
 used for debug prints, each inheriting class can overload this one to get a more precise debug print.
 
void make_summary ()
 
- Public Member Functions inherited from RepProcessor
virtual void clear ()
 
virtual void get_required_signal_names (unordered_set< string > &signalNames)
 Append required signal names to set : parent function just uses req_signals.
 
virtual void get_required_signal_names (unordered_set< string > &signalNames, unordered_set< string > preReqSignals)
 Append required signal names to set only if processor is actually required to produce any of preReqSignals : parent function just uses req_signals.
 
virtual void set_required_signal_ids (MedDictionarySections &dict)
 Fill req_signal_ids : parent function just fills from req_signals.
 
virtual void add_virtual_signals (map< string, int > &_virtual_signals, map< string, string > &_virtual_signals_generic) const
 rep processors CREATING virtual signals need to implement this: adding their signals to the pile
 
virtual void get_required_signal_ids (unordered_set< int > &signalIds)
 Append required signal names to set : parent function just uses req_signals.
 
virtual void get_required_signal_ids (unordered_set< int > &signalIds, unordered_set< int > preReqSignals)
 Append required signal names to set only if processor is actually required to produce any of preReqSignals : parent function just uses req_signals.
 
virtual void set_affected_signal_ids (MedDictionarySections &dict)
 Fill aff_signal_ids : parent function just fills from aff_signals.
 
bool is_signal_affected (int signalId)
 Check if a signal is affected by processor </summray>

Returns
true if affected, false if not

 
bool is_signal_affected (string &signalName)
 
virtual void fit_for_repository (MedPidRepository &rep)
 make changes to RepProcessor according to available signals in Repository
 
virtual void register_virtual_section_name_id (MedDictionarySections &dict)
 Register section id to section name of new virtual signals.
 
virtual bool filter (unordered_set< string > &reqSignals)
 Check if processor (and 'sub'-processors within) should be applied according to set of required signals </summray>

Returns
true if processor is not required and can be filtered, false otherwise

 
virtual void init_tables (MedDictionarySections &dict, MedSignals &sigs)
 Init required tables : Should be implemented for inheriting classes that have such tables.
 
virtual int _conditional_learn (MedPidRepository &rep, MedSamples &samples, vector< RepProcessor * > &prev_processors, unordered_set< int > &neededSignalIds)
 learn processing model on a subset of samples only if required. Apply set of preceeding processors on DynamicPidRec before learning :
 
int learn (MedPidRepository &rep, MedSamples &samples, vector< RepProcessor * > &prev_processors)
 learn processing model on a subset of ids. Apply set of preceeding processors on DynamicPidRec before learning
 
int learn (MedPidRepository &rep)
 learn on all pids in repository, using fake samples - works only for repProcessors that ignore sample dates
 
int learn (MedPidRepository &rep, MedSamples &samples)
 learn on subset of samples without preceesing processors
 
virtual int conditional_learn (MedPidRepository &rep, MedSamples &samples, vector< RepProcessor * > &prev_processors, unordered_set< int > &neededSignalIds)
 learn processing model on a subset of samples only if required. Apply set of preceeding processors on DynamicPidRec before learning :
 
int conditional_learn (MedPidRepository &rep, MedSamples &samples, unordered_set< int > &neededSignalIds)
 learn processing model on a subset of ids only if required without preceesing processors
 
virtual int _conditional_apply (PidDynamicRec &rec, vector< int > &time_points, unordered_set< int > &neededSignalIds, vector< vector< float > > &attributes_vals)
 apply processing on a single PidDynamicRec at a set of time-points only if required : May be implemented for inheriting classes
 
virtual int _apply_simple (PidDynamicRec &rec, vector< int > &time_points)
 
int apply (PidDynamicRec &rec, vector< int > &time_points, vector< vector< float > > &attributes_vals)
 apply processing on a single PidDynamicRec at a set of time-points
 
int conditional_apply (PidDynamicRec &rec, vector< int > &time_points, unordered_set< int > &neededSignalIds, vector< vector< float > > &attributes_vals)
 apply processing on a single PidDynamicRec at a set of time-points only if required : if any of the signals in neededSignalIds is actually affected by processor
 
int apply (PidDynamicRec &rec, MedIdSamples &samples)
 apply processing on a single PidDynamicRec at a set of time-points given by samples
 
int conditional_apply (PidDynamicRec &rec, MedIdSamples &samples, unordered_set< int > &neededSignalIds)
 apply processing on a single PidDynamicRec at a set of time-points given by samples only if required
 
int conditional_apply_without_attributes (PidDynamicRec &rec, const MedIdSamples &samples, unordered_set< int > &neededSignalIds)
 apply processing on a single PidDynamicRec at a set of time-points given by samples only if required, not affecting attributes
 
virtual void get_required_signal_categories (unordered_map< string, vector< string > > &signal_categories_in_use) const
 returns for each used signal it's used categories
 
void * new_polymorphic (string derived_class_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)
 
size_t get_processor_size ()
 get size of processor + processor_type
 
size_t processor_serialize (unsigned char *blob)
 seialize processor + processor_type
 
- 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 pre_serialization ()
 
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)
 
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
 
- Public Member Functions inherited from MedValueCleaner
int get_quantile_min_max (vector< float > &values)
 Learning.
 
int get_iterative_min_max (vector< float > &values)
 
int init (void *params)
 
int init (map< string, string > &mapper)
 The parsed fields from init command.
 
ValueCleanerType get_cleaner_type (string name)
 Get Type.
 
 MedValueCleaner ()
 default ctor:
 

Data Fields

string signalName
 name of signal to clean
 
int signalId
 id of signal to clean
 
int time_channel = 0
 time channel to consider in cleaning
 
int val_channel = 0
 value cahnnel to consider in cleaning
 
string nRem_attr = ""
 Attribute name (in sample) for number of removed. not recorded if empty.
 
string nTrim_attr = ""
 Attribute name (in sample) for number of trimmed. not recorded if empty.
 
string nRem_attr_suffix = ""
 Attribute suffix (name is sample is signalName_suffix) for number of removed. not recorded if empty.
 
string nTrim_attr_suffix = ""
 Attribute suffix (name is sample is signalName_suffix) for number of trimmed. not recorded if empty.
 
string verbose_file
 cleaning output_file for debuging
 
bool print_summary = false
 If true will always print clean summary.
 
float print_summary_critical_cleaned = (float)0.05
 beyond this value will print summary
 
- Data Fields inherited from RepProcessor
RepProcessorTypes processor_type = REP_PROCESS_LAST
 type of repository processor
 
unordered_set< string > req_signals
 names of signals required for processsing
 
unordered_set< int > req_signal_ids
 ids of signals required for processing
 
unordered_set< string > aff_signals
 names of signals affected by processing
 
unordered_set< int > aff_signal_ids
 ids of signals affected by processing
 
bool unconditional = false
 indicated that processor should ALWAYS be applied
 
vector< string > attributes
 attributes generated by the processor (optional)
 
vector< pair< string, int > > virtual_signals
 virtual signals are created only in rep processors but can be used by any rep processor that comes after or any feture generator as a regular signal.
 
vector< pair< string, string > > virtual_signals_generic
 
- Data Fields inherited from MedValueCleaner
ValueCleanerParams params
 Learning parameters.
 
float trimMax
 Thresholds for trimming.
 
float trimMin
 
float removeMax
 Thresholds for removing.
 
float removeMin
 
float nbrsMax
 Thresholds for neighbors.
 
float nbrsMin
 
int num_samples_after_cleaning
 

Additional Inherited Members

- Static Public Member Functions inherited from RepProcessor
static RepProcessormake_processor (string name)
 create a new repository processor from name
 
static RepProcessormake_processor (string type, string params)
 create a new repository processor from name and a parameters string
 
static RepProcessormake_processor (RepProcessorTypes type)
 create a new repository processor from type
 
static RepProcessormake_processor (RepProcessorTypes type, string params)
 create a new repository processor from type and a parameters string
 
static RepProcessorcreate_processor (string &params)
 create a new repository processor from parameters string which contains rp_type
 

Detailed Description

A simple cleaner considering each value of a certain signal separatley.

Member Function Documentation

◆ _apply()

int RepBasicOutlierCleaner::_apply ( PidDynamicRec rec,
vector< int > &  time_points,
vector< vector< float > > &  attributes_mat 
)
virtual

Apply cleaning model.

Reimplemented from RepProcessor.

◆ _learn()

int RepBasicOutlierCleaner::_learn ( MedPidRepository rep,
MedSamples samples,
vector< RepProcessor * > &  prev_processor 
)
virtual

learn cleaning boundaries

Reimplemented from RepProcessor.

Reimplemented in RepConfiguredOutlierCleaner.

◆ dprint()

void RepBasicOutlierCleaner::dprint ( const string &  pref,
int  rp_flag 
)
virtual

used for debug prints, each inheriting class can overload this one to get a more precise debug print.

rp_flag can be used to transfer verbosity levels. the default print just prints the basic type, etc. summary> prints summary of rep_processor job. optional, called after apply. for example - prints how many values were cleaned /summary>

Reimplemented from RepProcessor.

◆ init() [1/2]

int RepBasicOutlierCleaner::init ( map< string, string > &  mapper)
virtual

The parsed fields from init command.

if (field == "signal")
{
signalName = entry.second;
}
else if (field == "time_channel")
time_channel = med_stoi(entry.second);
else if (field == "val_channel")
val_channel = med_stoi(entry.second);
else if (field == "nrem_attr")
nRem_attr = entry.second;
else if (field == "ntrim_attr")
nTrim_attr = entry.second;
else if (field == "nrem_suff")
nRem_attr_suffix = entry.second;
else if (field == "ntrim_suff")
nTrim_attr_suffix = entry.second;
else if (field == "verbose_file")
verbose_file = entry.second;
else if (field == "unconditional")
unconditional = stoi(entry.second) > 0;
else if (field == "print_summary")
print_summary = stoi(entry.second) > 0;
else if (field == "print_summary_critical_cleaned")
print_summary_critical_cleaned = stof(entry.second);
else if (field == "rp_type")
{
}
string nRem_attr_suffix
Attribute suffix (name is sample is signalName_suffix) for number of removed. not recorded if empty.
Definition RepProcess.h:355
string nTrim_attr
Attribute name (in sample) for number of trimmed. not recorded if empty.
Definition RepProcess.h:354
string verbose_file
cleaning output_file for debuging
Definition RepProcess.h:357
string signalName
name of signal to clean
Definition RepProcess.h:348
bool print_summary
If true will always print clean summary.
Definition RepProcess.h:359
int val_channel
value cahnnel to consider in cleaning
Definition RepProcess.h:351
float print_summary_critical_cleaned
beyond this value will print summary
Definition RepProcess.h:360
string nTrim_attr_suffix
Attribute suffix (name is sample is signalName_suffix) for number of trimmed. not recorded if empty.
Definition RepProcess.h:356
int time_channel
time channel to consider in cleaning
Definition RepProcess.h:350
string nRem_attr
Attribute name (in sample) for number of removed. not recorded if empty.
Definition RepProcess.h:353
bool unconditional
indicated that processor should ALWAYS be applied
Definition RepProcess.h:63

[RepBasicOutlierCleaner::init]

[RepBasicOutlierCleaner::init]

Reimplemented from RepProcessor.

Reimplemented in RepConfiguredOutlierCleaner.

◆ init() [2/2]

int RepBasicOutlierCleaner::init ( void *  processor_params)
inlinevirtual

Fill required- and affected-signals sets.

Reimplemented from RepProcessor.

◆ init_attributes()

void RepBasicOutlierCleaner::init_attributes ( )
virtual

Init attributes information : Should be implemented for inheriting classes that have attributes.

Reimplemented from RepProcessor.

◆ init_defaults()

void RepBasicOutlierCleaner::init_defaults ( )
inlinevirtual

Initialize to default values.

Reimplemented from RepProcessor.

Reimplemented in RepConfiguredOutlierCleaner.

◆ make_summary()

void RepBasicOutlierCleaner::make_summary ( )
virtual

Reimplemented from RepProcessor.

◆ print()

void RepBasicOutlierCleaner::print ( )
inlinevirtual

Debug printing.

Reimplemented from RepProcessor.

◆ set_signal()

void RepBasicOutlierCleaner::set_signal ( const string &  _signalName)
inlinevirtual

Set signal name and fill affected and required signals sets.

Reimplemented from RepProcessor.

◆ set_signal_ids()

void RepBasicOutlierCleaner::set_signal_ids ( MedSignals sigs)
virtual

Set signal id.

Reimplemented from RepProcessor.

Reimplemented in RepConfiguredOutlierCleaner.


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