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

A Basic Stats Generator for calcing simple statics on time window. More...

#include <FeatureGenerator.h>

Inheritance diagram for BasicFeatGenerator:
FeatureGenerator SerializableObject

Public Member Functions

void set_names ()
 
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 set (string &_signalName, BasicFeatureTypes _type)
 
void set (string &_signalName, BasicFeatureTypes _type, int _time_win_from, int _time_win_to)
 
BasicFeatureTypes name_to_type (const string &name)
 Converts a name to type - please reffer to BasicFeatureTypes.
 
TimeRangeTypes time_range_name_to_type (const string &name)
 Conversion between time-range type and name.
 
string time_range_type_to_name (TimeRangeTypes type)
 
int init (map< string, string > &mapper)
 The parsed fields from init command.
 
void init_defaults ()
 
virtual void copy (FeatureGenerator *generator)
 
int _learn (MedPidRepository &rep, const MedSamples &samples, vector< RepProcessor * > processors)
 Learn a generator.
 
int _generate (PidDynamicRec &rec, MedFeatures &features, int index, int num, vector< float * > &_p_data)
 generate a new feature
 
float get_value (PidDynamicRec &rec, int index, int time, int outcomeTime)
 
void set_signal_ids (MedSignals &sigs)
 Signal Ids.
 
void init_tables (MedDictionarySections &dict)
 Init required tables.
 
void prepare (MedFeatures &features, MedPidRepository &rep, MedSamples &samples)
 
- Public Member Functions inherited from FeatureGenerator
virtual void get_p_data (MedFeatures &features, vector< float * > &_p_data)
 
void get_p_data (MedFeatures &features)
 
virtual void clear ()
 
void get_required_signal_names (unordered_set< string > &signalNames)
 
virtual void set_required_signal_ids (MedDictionarySections &dict)
 
void get_required_signal_ids (unordered_set< int > &signalIds)
 
virtual void get_generated_features (unordered_set< string > &names_list)
 
virtual void fit_for_repository (MedPidRepository &rep)
 Prepartion and adjustment for model based on repository.
 
int learn (MedPidRepository &rep, const MedSamples &samples, vector< RepProcessor * > processors)
 
int learn (MedPidRepository &rep, const MedSamples &samples)
 
int _generate (PidDynamicRec &in_rep, MedFeatures &features, int index, int num)
 
int generate (PidDynamicRec &in_rep, MedFeatures &features, int index, int num)
 
int generate (PidDynamicRec &in_rep, MedFeatures &features)
 
int generate (MedPidRepository &rep, int id, MedFeatures &features)
 
int generate (MedPidRepository &rep, int id, MedFeatures &features, int index, int num)
 
virtual int _generate (MedFeatures &features)
 
int generate (MedFeatures &features)
 
virtual int init (void *generator_params)
 
virtual int nfeatures ()
 
virtual int filter_features (unordered_set< string > &validFeatures)
 summary> prints summary of generator job.
 
virtual void make_summary ()
 
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_generator_size ()
 
size_t generator_serialize (unsigned char *blob)
 
virtual void print ()
 
virtual void dprint (const string &pref, int fg_flag)
 
- 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
 

Data Fields

string signalName
 
int signalId
 
string timeRangeSignalName = ""
 
int timeRangeSignalId
 
TimeRangeTypes timeRangeType = TIME_RANGE_CURRENT
 
int time_unit_range_sig = MedTime::Undefined
 the time init in which the range signal is given. (set correctly from Repository in learn and _generate)
 
BasicFeatureTypes type = FTR_LAST
 
int win_from = 0
 time window for feature: win_from is the minimal time before from the prediction time
 
int win_to = 360000
 time window for feature: win_to is the maximal time before the prediction time

 
int d_win_from = 360
 delta time window for the FTR_WIN_DELTA_VALUE feature. the second time window
 
int d_win_to = 360000
 delta time window for the FTR_WIN_DELTA_VALUE feature. the second time window
 
int time_unit_win = MedTime::Undefined
 the time unit in which the windows are given. Default: Undefined
 
int time_channel = 0
 n >= 0 : use time channel n , default: 0.
 
int val_channel = 0
 n >= 0 : use val channel n , default : 0.
 
int sum_channel = 1
 for FTR_CETEGORY_SET_SUM
 
vector< string > sets
 for FTR_CATEGORY_SET_* , the list of sets
 
int time_unit_sig = MedTime::Undefined
 the time init in which the signal is given. (set correctly from Repository in learn and _generate)
 
string in_set_name = ""
 set name (if not given - take list of members)
 
bool bound_outcomeTime = false
 If true will truncate time window till outcomeTime.
 
float min_value = -FLT_MAX
 
float max_value = FLT_MAX
 values range for FTR_LAST(2)_DAYS
 
int N_th = 0
 used in last_nth and category_set_last_nth
 
int zero_missing = 0
 in some cases of category_set (or others) we may want to get 0 instead of missing_value, turn this on for that
 
float zero_missing_val = 0
 when zero_missing is on - whats the value to store in the missing value feature
 
int full_name = 0
 add time and value channels even if 0
 
string rename_signal = ""
 
vector< char > lut
 to be used when generating FTR_CATEGORY_SET_*
 
vector< float > categ_map
 to be used when applying non FTR_CATEGORY_SET_* types to categorical data
 
bool apply_categ_map
 
- Data Fields inherited from FeatureGenerator
FeatureGeneratorTypes generator_type = FTR_GEN_LAST
 Type.
 
vector< string > names
 Feature name.
 
int learn_nthreads = 16
 
int pred_nthreads = 16
 
float missing_val = (float)MED_MAT_MISSING_VALUE
 Missing value.
 
vector< string > tags
 Tags - for defining labels or groups. may be used later for filtering for example.
 
int iGenerateWeights = 0
 Feature/Weights generator.
 
vector< float * > p_data
 
vector< string > req_signals
 
vector< int > req_signal_ids
 
int serial_id
 

Additional Inherited Members

- Static Public Member Functions inherited from FeatureGenerator
static FeatureGeneratormake_generator (string name)
 
static FeatureGeneratormake_generator (string name, string params)
 
static FeatureGeneratormake_generator (FeatureGeneratorTypes type)
 
static FeatureGeneratormake_generator (FeatureGeneratorTypes type, string params)
 
static FeatureGeneratorcreate_generator (string &params)
 

Detailed Description

A Basic Stats Generator for calcing simple statics on time window.

Member Function Documentation

◆ _generate()

int BasicFeatGenerator::_generate ( PidDynamicRec rec,
MedFeatures features,
int  index,
int  num,
vector< float * > &  _p_data 
)
virtual

generate a new feature

Reimplemented from FeatureGenerator.

◆ _learn()

int BasicFeatGenerator::_learn ( MedPidRepository rep,
const MedSamples samples,
vector< RepProcessor * >  processors 
)
inlinevirtual

Learn a generator.

Reimplemented from FeatureGenerator.

◆ copy()

virtual void BasicFeatGenerator::copy ( FeatureGenerator generator)
inlinevirtual

Reimplemented from FeatureGenerator.

◆ get_required_signal_categories()

void BasicFeatGenerator::get_required_signal_categories ( unordered_map< string, vector< string > > &  signal_categories_in_use) const
virtual

returns for each used signal it's used categories

Reimplemented from FeatureGenerator.

◆ init()

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

The parsed fields from init command.

if (field == "type") { type = name_to_type(entry.second); }
else if (field == "win_from") win_from = med_stoi(entry.second);
else if (field == "win_to") win_to = med_stoi(entry.second);
else if (field == "d_win_from") d_win_from = med_stoi(entry.second);
else if (field == "d_win_to") d_win_to = med_stoi(entry.second);
else if (field == "signalName" || field == "signal") signalName = entry.second;
else if (field == "time_unit") time_unit_win = med_time_converter.string_to_type(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 == "sum_channel") sum_channel = med_stoi(entry.second);
else if (field == "sets") boost::split(sets, entry.second, boost::is_any_of(","));
else if (field == "tags") boost::split(tags, entry.second, boost::is_any_of(","));
else if (field == "in_set_name") in_set_name = entry.second;
else if (field == "bound_outcomeTime") bound_outcomeTime = stoi(entry.second) > 0;
else if (field == "weights_generator") iGenerateWeights = med_stoi(entry.second);
else if (field == "time_range_signal") timeRangeSignalName = entry.second;
else if (field == "time_range_signal_type") timeRangeType = time_range_name_to_type(entry.second);
else if (field == "min_value") min_value = stof(entry.second);
else if (field == "max_value") max_value = stof(entry.second);
else if (field == "nth" || field == "Nth") N_th = stoi(entry.second);
else if (field == "zero_missing") zero_missing = stoi(entry.second);
else if (field == "zero_missing_val") zero_missing_val = med_stof(entry.second);
else if (field == "missing_value") missing_val = stof(entry.second);
else if (field == "full_name") full_name = stoi(entry.second);
else if (field == "rename_signal") rename_signal = entry.second;
else if (field != "fg_type")
MLOG("Unknown parameter \'%s\' for BasicFeatGenerator\n", field.c_str());
#define MLOG(fmt,...)
MLOG() - use LOCAL_SECTION and LOCAL_LEVEL.
Definition Logger.h:145
int win_from
time window for feature: win_from is the minimal time before from the prediction time
Definition FeatureGenerator.h:291
int time_channel
n >= 0 : use time channel n , default: 0.
Definition FeatureGenerator.h:296
int d_win_to
delta time window for the FTR_WIN_DELTA_VALUE feature. the second time window
Definition FeatureGenerator.h:294
int full_name
add time and value channels even if 0
Definition FeatureGenerator.h:307
float max_value
values range for FTR_LAST(2)_DAYS
Definition FeatureGenerator.h:303
int N_th
used in last_nth and category_set_last_nth
Definition FeatureGenerator.h:304
int val_channel
n >= 0 : use val channel n , default : 0.
Definition FeatureGenerator.h:297
int time_unit_win
the time unit in which the windows are given. Default: Undefined
Definition FeatureGenerator.h:295
string in_set_name
set name (if not given - take list of members)
Definition FeatureGenerator.h:301
TimeRangeTypes time_range_name_to_type(const string &name)
Conversion between time-range type and name.
Definition FeatureGenerator.cpp:401
int sum_channel
for FTR_CETEGORY_SET_SUM
Definition FeatureGenerator.h:298
vector< string > sets
for FTR_CATEGORY_SET_* , the list of sets
Definition FeatureGenerator.h:299
bool bound_outcomeTime
If true will truncate time window till outcomeTime.
Definition FeatureGenerator.h:302
BasicFeatureTypes name_to_type(const string &name)
Converts a name to type - please reffer to BasicFeatureTypes.
Definition FeatureGenerator.cpp:364
int win_to
time window for feature: win_to is the maximal time before the prediction time
Definition FeatureGenerator.h:292
int zero_missing
in some cases of category_set (or others) we may want to get 0 instead of missing_value,...
Definition FeatureGenerator.h:305
float zero_missing_val
when zero_missing is on - whats the value to store in the missing value feature
Definition FeatureGenerator.h:306
int d_win_from
delta time window for the FTR_WIN_DELTA_VALUE feature. the second time window
Definition FeatureGenerator.h:293
int iGenerateWeights
Feature/Weights generator.
Definition FeatureGenerator.h:72
vector< string > tags
Tags - for defining labels or groups. may be used later for filtering for example.
Definition FeatureGenerator.h:69
float missing_val
Missing value.
Definition FeatureGenerator.h:66
int string_to_type(const string &str)
Convert string to type.
Definition MedTime.cpp:358

[BasicFeatGenerator::init]

[BasicFeatGenerator::init]

Reimplemented from FeatureGenerator.

◆ init_defaults()

void BasicFeatGenerator::init_defaults ( )
virtual

Reimplemented from FeatureGenerator.

◆ init_tables()

void BasicFeatGenerator::init_tables ( MedDictionarySections dict)
virtual

Init required tables.

Reimplemented from FeatureGenerator.

◆ prepare()

void BasicFeatGenerator::prepare ( MedFeatures features,
MedPidRepository rep,
MedSamples samples 
)
virtual

Reimplemented from FeatureGenerator.

◆ set_names()

void BasicFeatGenerator::set_names ( )
virtual

Reimplemented from FeatureGenerator.

◆ set_signal_ids()

void BasicFeatGenerator::set_signal_ids ( MedSignals sigs)
virtual

Signal Ids.

Reimplemented from FeatureGenerator.


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