implement DotFeatures for the polynomial kernel
see DotFeatures for further discription
Definition at line 24 of file SparsePolyFeatures.h.

Classes | |
| struct | sparse_poly_feature_iterator |
Public Member Functions | |
| CSparsePolyFeatures (void) | |
| CSparsePolyFeatures (CSparseFeatures< float64_t > *feat, int32_t degree, bool normalize, int32_t hash_bits) | |
| virtual | ~CSparsePolyFeatures () |
| CSparsePolyFeatures (const CSparsePolyFeatures &orig) | |
| virtual int32_t | get_dim_feature_space () |
| 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 () |
| virtual float64_t | dot (int32_t vec_idx1, CDotFeatures *df, int32_t vec_idx2) |
| virtual int32_t | get_size () |
| 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) |
| CFeatures * | duplicate () const |
| virtual const char * | get_name () const |
| 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) |
Protected Member Functions | |
| void | store_normalization_values () |
Protected Attributes | |
| CSparseFeatures< float64_t > * | m_feat |
| int32_t | m_degree |
| bool | m_normalize |
| int32_t | m_input_dimensions |
| int32_t | m_output_dimensions |
| float64_t * | m_normalization_values |
| uint32_t | mask |
| int32_t | m_hash_bits |
| CSparsePolyFeatures | ( | void | ) |
default constructor
Definition at line 15 of file SparsePolyFeatures.cpp.
| CSparsePolyFeatures | ( | CSparseFeatures< float64_t > * | feat, | |
| int32_t | degree, | |||
| bool | normalize, | |||
| int32_t | hash_bits | |||
| ) |
constructor
| feat | real features | |
| degree | degree of the polynomial kernel (only degree 2 & 3 are supported) | |
| normalize | normalize kernel | |
| hash_bits | number of bits in hashd feature space |
Definition at line 30 of file SparsePolyFeatures.cpp.
| ~CSparsePolyFeatures | ( | ) | [virtual] |
Definition at line 48 of file SparsePolyFeatures.cpp.
| CSparsePolyFeatures | ( | const CSparsePolyFeatures & | orig | ) |
copy constructor
not implemented!
| orig | original PolyFeature |
Definition at line 48 of file SparsePolyFeatures.h.
| void add_to_dense_vec | ( | float64_t | alpha, | |
| int32_t | vec_idx1, | |||
| float64_t * | vec2, | |||
| int32_t | vec2_len, | |||
| bool | abs_val = false | |||
| ) | [virtual] |
compute alpha*x+vec2
| alpha | alpha | |
| vec_idx1 | index of first vector x | |
| vec2 | vec2 | |
| vec2_len | length of vec2 | |
| abs_val | if true add the absolute value |
Implements CDotFeatures.
Definition at line 123 of file SparsePolyFeatures.cpp.
compute dot product of vector with index arg1 with an given second vector
| vec_idx1 | index of first vector | |
| vec2 | second vector | |
| vec2_len | length of second vector |
Implements CDotFeatures.
Definition at line 76 of file SparsePolyFeatures.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 54 of file SparsePolyFeatures.cpp.
| CFeatures * duplicate | ( | ) | const [virtual] |
duplicate feature object
Implements CFeatures.
Definition at line 188 of file SparsePolyFeatures.cpp.
| virtual 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 177 of file SparsePolyFeatures.h.
| virtual int32_t get_dim_feature_space | ( | ) | [virtual] |
get dimensions of feature space
Implements CDotFeatures.
Definition at line 56 of file SparsePolyFeatures.h.
| virtual EFeatureClass get_feature_class | ( | ) | [virtual] |
get feature class
Implements CFeatures.
Definition at line 88 of file SparsePolyFeatures.h.
| virtual 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 150 of file SparsePolyFeatures.h.
| virtual EFeatureType get_feature_type | ( | ) | [virtual] |
get feature type
Implements CFeatures.
Definition at line 79 of file SparsePolyFeatures.h.
| virtual const char* get_name | ( | void | ) | const [virtual] |
| 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 166 of file SparsePolyFeatures.h.
| virtual int32_t get_nnz_features_for_vector | ( | int32_t | num | ) | [virtual] |
get number of non-zero features in vector
| num | index of vector |
Implements CDotFeatures.
Definition at line 66 of file SparsePolyFeatures.h.
| virtual int32_t get_num_vectors | ( | ) | [virtual] |
get number of vectors
Implements CFeatures.
Definition at line 97 of file SparsePolyFeatures.h.
| virtual int32_t get_size | ( | ) | [virtual] |
| void store_normalization_values | ( | ) | [protected] |
store the norm of each training example
Definition at line 169 of file SparsePolyFeatures.cpp.
int32_t m_degree [protected] |
degree of the polynomial kernel
Definition at line 221 of file SparsePolyFeatures.h.
CSparseFeatures<float64_t>* m_feat [protected] |
features in original space
Definition at line 219 of file SparsePolyFeatures.h.
int32_t m_hash_bits [protected] |
number of bits in hash
Definition at line 233 of file SparsePolyFeatures.h.
int32_t m_input_dimensions [protected] |
dimensions of the input space
Definition at line 225 of file SparsePolyFeatures.h.
float64_t* m_normalization_values [protected] |
store norm of each training example
Definition at line 229 of file SparsePolyFeatures.h.
bool m_normalize [protected] |
normalize
Definition at line 223 of file SparsePolyFeatures.h.
int32_t m_output_dimensions [protected] |
dimensions of the feature space of the polynomial kernel
Definition at line 227 of file SparsePolyFeatures.h.
uint32_t mask [protected] |
mask
Definition at line 231 of file SparsePolyFeatures.h.