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

RepNbrsOutlierCleaner is cleaner that looks at the neighbourhood of a certain signal value. More...

#include <RepProcess.h>

Inheritance diagram for RepNbrsOutlierCleaner:
RepProcessor MedValueCleaner SerializableObject

Public Member Functions

 RepNbrsOutlierCleaner ()
 default constructor
 
 RepNbrsOutlierCleaner (const string &_signalName)
 default constructor + setting signal name
 
 RepNbrsOutlierCleaner (const string &_signalName, string init_string)
 default constructor + setting signal name + initialize from string
 
 RepNbrsOutlierCleaner (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.
 
void set_signal_ids (MedSignals &sigs)
 Set signal id.
 
int init (void *processor_params)
 Fill required- and affected-signals sets.
 
int init (map< string, string > &mapper)
 The parsed fields from init command.
 
void init_lists ()
 
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.
 
 ADD_SERIALIZATION_FUNCS (processor_type, signalName, time_channel, val_channel, req_signals, aff_signals, params.take_log, params.missing_value, params.doTrim, params.doRemove, trimMax, trimMin, removeMax, removeMin, nbr_time_unit, nbr_time_width, nbrsMax, nbrsMin, nRem_attr, nTrim_attr, nRem_attr_suffix, nTrim_attr_suffix) void print()
 Print processors information.
 
- 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 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.
 
virtual void make_summary ()
 
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
 
virtual void print ()
 optional printing of processor
 
- 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
 
int nbr_time_width = 7
 size of neighborhood for defining neighboring values
 
int nbr_time_unit = MedTime::Days
 time unit for defining neighboring values
 
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.
 
- 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

RepNbrsOutlierCleaner is cleaner that looks at the neighbourhood of a certain signal value.

Member Function Documentation

◆ _apply()

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

Apply cleaning model.

Reimplemented from RepProcessor.

◆ _learn()

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

learn cleaning boundaries

Reimplemented from RepProcessor.

◆ init() [1/2]

int RepNbrsOutlierCleaner::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 == "nbr_time_unit")
nbr_time_unit = med_time_converter.string_to_type(entry.second);
else if (field == "nbr_time_width")
nbr_time_width = 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;
int string_to_type(const string &str)
Convert string to type.
Definition MedTime.cpp:358
int nbr_time_unit
time unit for defining neighboring values
Definition RepProcess.h:655
int val_channel
value cahnnel to consider in cleaning
Definition RepProcess.h:652
int time_channel
time channel to consider in cleaning
Definition RepProcess.h:651
string nTrim_attr
Attribute name (in sample) for number of trimmed. not recorded if empty.
Definition RepProcess.h:658
int nbr_time_width
size of neighborhood for defining neighboring values
Definition RepProcess.h:654
string nRem_attr_suffix
Attribute suffix (name is sample is signalName_suffix) for number of removed. not recorded if empty.
Definition RepProcess.h:659
string signalName
name of signal to clean
Definition RepProcess.h:649
string nTrim_attr_suffix
Attribute suffix (name is sample is signalName_suffix) for number of trimmed. not recorded if empty.
Definition RepProcess.h:660
string nRem_attr
Attribute name (in sample) for number of removed. not recorded if empty.
Definition RepProcess.h:657

[RepNbrsOutlierCleaner::init]

[RepNbrsOutlierCleaner::init]

Reimplemented from RepProcessor.

◆ init() [2/2]

int RepNbrsOutlierCleaner::init ( void *  processor_params)
inlinevirtual

Fill required- and affected-signals sets.

Reimplemented from RepProcessor.

◆ init_attributes()

void RepNbrsOutlierCleaner::init_attributes ( )
virtual

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

Reimplemented from RepProcessor.

◆ init_defaults()

void RepNbrsOutlierCleaner::init_defaults ( )
inlinevirtual

Initialize to default values.

Reimplemented from RepProcessor.

◆ set_signal()

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

Set signal name and fill affected and required signals sets.

Reimplemented from RepProcessor.

◆ set_signal_ids()

void RepNbrsOutlierCleaner::set_signal_ids ( MedSignals sigs)
inlinevirtual

Set signal id.

Reimplemented from RepProcessor.


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