The class SimpleFeatures implements dense feature matrices.
The feature matrices are stored en-block in memory in fortran order, i.e. column-by-column, where a column denotes a feature vector.
There are get_num_vectors() many feature vectors, of dimension get_num_features(). To access a feature vector call get_feature_vector() and when you are done treating it call free_feature_vector(). While free_feature_vector() is a NOP in most cases feature vectors might have been generated on the fly (due to a number preprocessors being attached to them).
From this template class a number the following dense feature matrix types are used and supported:
Definition at line 61 of file SimpleFeatures.h.

Public Member Functions | |
| CSimpleFeatures (int32_t size=0) | |
| CSimpleFeatures (const CSimpleFeatures &orig) | |
| CSimpleFeatures (ST *src, int32_t num_feat, int32_t num_vec) | |
| CSimpleFeatures (char *fname) | |
| virtual CFeatures * | duplicate () const |
| virtual | ~CSimpleFeatures () |
| void | free_feature_matrix () |
| void | free_features () |
| ST * | get_feature_vector (int32_t num, int32_t &len, bool &dofree) |
| void | set_feature_vector (ST *src, int32_t len, int32_t num) |
| void | get_feature_vector (ST **dst, int32_t *len, int32_t num) |
| void | free_feature_vector (ST *feat_vec, int32_t num, bool dofree) |
| void | get_feature_matrix (ST **dst, int32_t *num_feat, int32_t *num_vec) |
| ST * | get_feature_matrix (int32_t &num_feat, int32_t &num_vec) |
| virtual void | set_feature_matrix (ST *fm, int32_t num_feat, int32_t num_vec) |
| virtual void | copy_feature_matrix (ST *src, int32_t num_feat, int32_t num_vec) |
| virtual bool | apply_preproc (bool force_preprocessing=false) |
| virtual int32_t | get_size () |
| virtual int32_t | get_num_vectors () |
| int32_t | get_num_features () |
| void | set_num_features (int32_t num) |
| void | set_num_vectors (int32_t num) |
| virtual EFeatureClass | get_feature_class () |
| virtual EFeatureType | get_feature_type () |
| virtual bool | reshape (int32_t p_num_features, int32_t p_num_vectors) |
| virtual int32_t | get_dim_feature_space () |
| virtual float64_t | dot (int32_t vec_idx1, int32_t vec_idx2) |
| virtual float64_t | dense_dot (int32_t vec_idx1, const float64_t *vec2, int32_t vec2_len) |
| virtual void | add_to_dense_vec (float64_t alpha, int32_t vec_idx1, float64_t *vec2, int32_t vec2_len, bool abs_val=false) |
| virtual int32_t | get_nnz_features_for_vector (int32_t num) |
| virtual bool | Align_char_features (CStringFeatures< char > *cf, CStringFeatures< char > *Ref, float64_t gapCost) |
| virtual bool | load (char *fname) |
| virtual bool | save (char *fname) |
| virtual const char * | get_name () const |
Protected Member Functions | |
| virtual ST * | compute_feature_vector (int32_t num, int32_t &len, ST *target=NULL) |
Protected Attributes | |
| int32_t | num_vectors |
| number of vectors in cache | |
| int32_t | num_features |
| number of features in cache | |
| ST * | feature_matrix |
| CCache< ST > * | feature_cache |
| CSimpleFeatures | ( | int32_t | size = 0 |
) |
| CSimpleFeatures | ( | const CSimpleFeatures< ST > & | orig | ) |
copy constructor
Definition at line 73 of file SimpleFeatures.h.
| CSimpleFeatures | ( | ST * | src, | |
| int32_t | num_feat, | |||
| int32_t | num_vec | |||
| ) |
constructor
| src | feature matrix | |
| num_feat | number of features in matrix | |
| num_vec | number of vectors in matrix |
Definition at line 93 of file SimpleFeatures.h.
| CSimpleFeatures | ( | char * | fname | ) |
constructor
NOT IMPLEMENTED!
| fname | filename to load features from |
Definition at line 106 of file SimpleFeatures.h.
| virtual ~CSimpleFeatures | ( | ) | [virtual] |
Definition at line 119 of file SimpleFeatures.h.
| virtual void add_to_dense_vec | ( | float64_t | alpha, | |
| int32_t | vec_idx1, | |||
| float64_t * | vec2, | |||
| int32_t | vec2_len, | |||
| bool | abs_val = false | |||
| ) | [virtual] |
add vector 1 multiplied with alpha to dense vector2
| alpha | scalar alpha | |
| vec_idx1 | index of first vector | |
| vec2 | pointer to real valued vector | |
| vec2_len | length of real valued vector | |
| abs_val | if true add the absolute value |
Implements CDotFeatures.
Definition at line 520 of file SimpleFeatures.h.
| virtual bool Align_char_features | ( | CStringFeatures< char > * | cf, | |
| CStringFeatures< char > * | Ref, | |||
| float64_t | gapCost | |||
| ) | [virtual] |
align char features
| cf | char features | |
| Ref | other char features | |
| gapCost | gap cost |
Definition at line 561 of file SimpleFeatures.h.
| virtual bool apply_preproc | ( | bool | force_preprocessing = false |
) | [virtual] |
apply preprocessor
| force_preprocessing | if preprocssing shall be forced |
Definition at line 356 of file SimpleFeatures.h.
| virtual ST* compute_feature_vector | ( | int32_t | num, | |
| int32_t & | len, | |||
| ST * | target = NULL | |||
| ) | [protected, virtual] |
compute feature vector for sample num if target is set the vector is written to target len is returned by reference
NOT IMPLEMENTED!
| num | num | |
| len | len | |
| target |
Reimplemented in CFKFeatures, CRealFileFeatures, and CTOPFeatures.
Definition at line 698 of file SimpleFeatures.h.
| virtual void copy_feature_matrix | ( | ST * | src, | |
| int32_t | num_feat, | |||
| int32_t | num_vec | |||
| ) | [virtual] |
copy feature matrix store copy of feature_matrix, where num_features is the column offset, and columns are linear in memory see below for definition of feature_matrix
| src | feature matrix to copy | |
| num_feat | number of features in matrix | |
| num_vec | number of vectors in matrix |
Definition at line 341 of file SimpleFeatures.h.
| virtual float64_t dense_dot | ( | int32_t | vec_idx1, | |
| const float64_t * | vec2, | |||
| int32_t | vec2_len | |||
| ) | [virtual] |
compute dot product between vector1 and a dense vector
| vec_idx1 | index of first vector | |
| vec2 | pointer to real valued vector | |
| vec2_len | length of real valued vector |
Implements CDotFeatures.
| virtual float64_t dot | ( | int32_t | vec_idx1, | |
| int32_t | vec_idx2 | |||
| ) | [virtual] |
compute dot product between vector1 and vector2, appointed by their indices
| vec_idx1 | index of first vector | |
| vec_idx2 | index of second vector |
Implements CDotFeatures.
Definition at line 488 of file SimpleFeatures.h.
| virtual CFeatures* duplicate | ( | ) | const [virtual] |
duplicate feature object
Implements CFeatures.
Definition at line 114 of file SimpleFeatures.h.
| void free_feature_matrix | ( | ) |
free feature matrix
Definition at line 128 of file SimpleFeatures.h.
| void free_feature_vector | ( | ST * | feat_vec, | |
| int32_t | num, | |||
| bool | dofree | |||
| ) |
free feature vector
| feat_vec | feature vector to free | |
| num | index in feature cache | |
| dofree | if vector should be really deleted |
Definition at line 273 of file SimpleFeatures.h.
| void free_features | ( | ) |
free feature matrix and cache
Definition at line 139 of file SimpleFeatures.h.
| virtual int32_t get_dim_feature_space | ( | ) | [virtual] |
obtain the dimensionality of the feature space
(not mix this up with the dimensionality of the input space, usually obtained via get_num_features())
Implements CDotFeatures.
Definition at line 477 of file SimpleFeatures.h.
| virtual EFeatureClass get_feature_class | ( | ) | [virtual] |
get feature class
Implements CFeatures.
Definition at line 444 of file SimpleFeatures.h.
| ST* get_feature_matrix | ( | int32_t & | num_feat, | |
| int32_t & | num_vec | |||
| ) |
get the pointer to the feature matrix num_feat,num_vectors are returned by reference
| num_feat | number of features in matrix | |
| num_vec | number of vectors in matrix |
Definition at line 307 of file SimpleFeatures.h.
| void get_feature_matrix | ( | ST ** | dst, | |
| int32_t * | num_feat, | |||
| int32_t * | num_vec | |||
| ) |
get a copy of the feature matrix num_feat,num_vectors are returned by reference
| dst | destination to store matrix in | |
| num_feat | number of features (rows of matrix) | |
| num_vec | number of vectors (columns of matrix) |
Definition at line 289 of file SimpleFeatures.h.
| virtual EFeatureType get_feature_type | ( | ) | [virtual] |
| void get_feature_vector | ( | ST ** | dst, | |
| int32_t * | len, | |||
| int32_t | num | |||
| ) |
get feature vector num
| dst | destination to store vector in | |
| len | length of vector | |
| num | index of vector |
Definition at line 247 of file SimpleFeatures.h.
| ST* get_feature_vector | ( | int32_t | num, | |
| int32_t & | len, | |||
| bool & | dofree | |||
| ) |
get feature vector for sample num from the matrix as it is if matrix is initialized, else return preprocessed compute_feature_vector
| num | index of feature vector | |
| len | length is returned by reference | |
| dofree | whether returned vector must be freed by caller via free_feature_vector |
Definition at line 156 of file SimpleFeatures.h.
| virtual const char* get_name | ( | ) | const [virtual] |
Implements CSGObject.
Reimplemented in CFKFeatures, CRealFileFeatures, and CTOPFeatures.
Definition at line 623 of file SimpleFeatures.h.
| virtual int32_t get_nnz_features_for_vector | ( | int32_t | num | ) | [virtual] |
get number of non-zero features in vector
| num | which vector |
Implements CDotFeatures.
Definition at line 549 of file SimpleFeatures.h.
| int32_t get_num_features | ( | ) |
| virtual int32_t get_num_vectors | ( | ) | [virtual] |
get number of feature vectors
Implements CFeatures.
Definition at line 403 of file SimpleFeatures.h.
| virtual int32_t get_size | ( | ) | [virtual] |
get memory footprint of one feature
Implements CFeatures.
Definition at line 396 of file SimpleFeatures.h.
| virtual bool load | ( | char * | fname | ) | [virtual] |
load features from file
| fname | filename to load from |
Reimplemented from CFeatures.
Definition at line 572 of file SimpleFeatures.h.
| virtual bool reshape | ( | int32_t | p_num_features, | |
| int32_t | p_num_vectors | |||
| ) | [virtual] |
reshape
| p_num_features | new number of features | |
| p_num_vectors | new number of vectors |
Reimplemented from CFeatures.
Definition at line 458 of file SimpleFeatures.h.
| virtual bool save | ( | char * | fname | ) | [virtual] |
save features to file
| fname | filename to save to |
Reimplemented from CFeatures.
Definition at line 596 of file SimpleFeatures.h.
| virtual void set_feature_matrix | ( | ST * | fm, | |
| int32_t | num_feat, | |||
| int32_t | num_vec | |||
| ) | [virtual] |
set feature matrix necessary to set feature_matrix, num_features, num_vectors, where num_features is the column offset, and columns are linear in memory see below for definition of feature_matrix
| fm | feature matrix to se | |
| num_feat | number of features in matrix | |
| num_vec | number of vectors in matrix |
Definition at line 324 of file SimpleFeatures.h.
| void set_feature_vector | ( | ST * | src, | |
| int32_t | len, | |||
| int32_t | num | |||
| ) |
set feature vector num
( only available in-memory feature matrices )
| src | vector | |
| len | length of vector | |
| num | index where to put vector to |
Definition at line 224 of file SimpleFeatures.h.
| void set_num_features | ( | int32_t | num | ) |
set number of features
| num | number to set |
Definition at line 415 of file SimpleFeatures.h.
| void set_num_vectors | ( | int32_t | num | ) |
set number of vectors
| num | number to set |
Definition at line 430 of file SimpleFeatures.h.
CCache<ST>* feature_cache [protected] |
feature cache
Definition at line 714 of file SimpleFeatures.h.
ST* feature_matrix [protected] |
feature matrix
Definition at line 711 of file SimpleFeatures.h.
int32_t num_features [protected] |
number of features in cache
Definition at line 708 of file SimpleFeatures.h.
int32_t num_vectors [protected] |
number of vectors in cache
Definition at line 705 of file SimpleFeatures.h.