Features that compute the Spectrum Kernel feature space explicitly.
Definition at line 26 of file ExplicitSpecFeatures.h.

Public Member Functions | |
| CExplicitSpecFeatures () | |
| CExplicitSpecFeatures (CStringFeatures< uint16_t > *str, bool normalize=true) | |
| CExplicitSpecFeatures (const CExplicitSpecFeatures &orig) | |
| virtual | ~CExplicitSpecFeatures () |
| virtual CFeatures * | duplicate () const |
| virtual int32_t | get_dim_feature_space () const |
| virtual float64_t | dot (int32_t vec_idx1, CDotFeatures *df, 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 void * | get_feature_iterator (int32_t vector_index) |
| virtual bool | get_next_feature (int32_t &index, float64_t &value, void *iterator) |
| virtual void | free_feature_iterator (void *iterator) |
| virtual int32_t | get_nnz_features_for_vector (int32_t num) |
| virtual EFeatureType | get_feature_type () |
| virtual EFeatureClass | get_feature_class () |
| virtual int32_t | get_num_vectors () const |
| virtual int32_t | get_size () |
| virtual const char * | get_name () const |
Protected Member Functions | |
| void | obtain_kmer_spectrum (CStringFeatures< uint16_t > *str) |
| void | delete_kmer_spectrum () |
Protected Attributes | |
| bool | use_normalization |
| int32_t | num_strings |
| int32_t | alphabet_size |
| int32_t | spec_size |
| float64_t ** | k_spectrum |
default constructor
Definition at line 16 of file ExplicitSpecFeatures.cpp.
| CExplicitSpecFeatures | ( | CStringFeatures< uint16_t > * | str, | |
| bool | normalize = true | |||
| ) |
constructor
| str | stringfeatures (of words) | |
| normalize | whether to use sqrtdiag normalization |
Definition at line 30 of file ExplicitSpecFeatures.cpp.
| CExplicitSpecFeatures | ( | const CExplicitSpecFeatures & | orig | ) |
copy constructor
Definition at line 43 of file ExplicitSpecFeatures.cpp.
| ~CExplicitSpecFeatures | ( | ) | [virtual] |
destructor
Definition at line 51 of file ExplicitSpecFeatures.cpp.
| 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 89 of file ExplicitSpecFeatures.cpp.
| void delete_kmer_spectrum | ( | ) | [protected] |
free kmer spectrum
Definition at line 139 of file ExplicitSpecFeatures.cpp.
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.
Definition at line 76 of file ExplicitSpecFeatures.cpp.
| float64_t dot | ( | int32_t | vec_idx1, | |
| CDotFeatures * | df, | |||
| int32_t | vec_idx2 | |||
| ) | [virtual] |
compute dot product between vector1 and vector2, appointed by their indices
| vec_idx1 | index of first vector | |
| df | DotFeatures (of same kind) to compute dot product with | |
| vec_idx2 | index of second vector |
Implements CDotFeatures.
Definition at line 61 of file ExplicitSpecFeatures.cpp.
| CFeatures * duplicate | ( | ) | const [virtual] |
duplicate feature object
Implements CFeatures.
Definition at line 148 of file ExplicitSpecFeatures.cpp.
| void free_feature_iterator | ( | void * | iterator | ) | [virtual] |
clean up iterator call this function with the iterator returned by get_first_feature
| iterator | as returned by get_first_feature |
Implements CDotFeatures.
Definition at line 167 of file ExplicitSpecFeatures.cpp.
| int32_t get_dim_feature_space | ( | ) | const [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 56 of file ExplicitSpecFeatures.cpp.
| EFeatureClass get_feature_class | ( | ) | [virtual] |
get feature class
Implements CFeatures.
Definition at line 183 of file ExplicitSpecFeatures.cpp.
| void * get_feature_iterator | ( | int32_t | vector_index | ) | [virtual] |
iterate over the non-zero features
call get_feature_iterator first, followed by get_next_feature and free_feature_iterator to cleanup
| vector_index | the index of the vector over whose components to iterate over |
Implements CDotFeatures.
Definition at line 155 of file ExplicitSpecFeatures.cpp.
| EFeatureType get_feature_type | ( | ) | [virtual] |
get feature type
Implements CFeatures.
Definition at line 178 of file ExplicitSpecFeatures.cpp.
| virtual const char* get_name | ( | ) | const [virtual] |
| bool get_next_feature | ( | int32_t & | index, | |
| float64_t & | value, | |||
| void * | iterator | |||
| ) | [virtual] |
iterate over the non-zero features
call this function with the iterator returned by get_first_feature and call free_feature_iterator to cleanup
| index | is returned by reference (-1 when not available) | |
| value | is returned by reference | |
| iterator | as returned by get_first_feature |
Implements CDotFeatures.
Definition at line 161 of file ExplicitSpecFeatures.cpp.
| 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 172 of file ExplicitSpecFeatures.cpp.
| int32_t get_num_vectors | ( | ) | const [virtual] |
get number of strings
Implements CFeatures.
Definition at line 188 of file ExplicitSpecFeatures.cpp.
| int32_t get_size | ( | ) | [virtual] |
get size of one element
Implements CFeatures.
Definition at line 193 of file ExplicitSpecFeatures.cpp.
| void obtain_kmer_spectrum | ( | CStringFeatures< uint16_t > * | str | ) | [protected] |
obtain the k-spectrum from a list of strings
| str | the string feature object already in k-mer format |
Definition at line 107 of file ExplicitSpecFeatures.cpp.
int32_t alphabet_size [protected] |
size of alphabet
Definition at line 187 of file ExplicitSpecFeatures.h.
float64_t** k_spectrum [protected] |
k-mer counts for all strings
Definition at line 192 of file ExplicitSpecFeatures.h.
int32_t num_strings [protected] |
number of strings
Definition at line 185 of file ExplicitSpecFeatures.h.
int32_t spec_size [protected] |
size of k-mer spectrum
Definition at line 190 of file ExplicitSpecFeatures.h.
bool use_normalization [protected] |
use sqrtdiag normalization
Definition at line 183 of file ExplicitSpecFeatures.h.