Features that allow stacking of a number of DotFeatures.
They transparently provide all the operations of DotFeatures, i.e.
Definition at line 45 of file CombinedDotFeatures.h.
Public Member Functions | |
CCombinedDotFeatures () | |
CCombinedDotFeatures (const CCombinedDotFeatures &orig) | |
virtual | ~CCombinedDotFeatures () |
virtual int32_t | get_num_vectors () 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 | dense_dot_range (float64_t *output, int32_t start, int32_t stop, float64_t *alphas, float64_t *vec, int32_t dim, float64_t b) |
virtual void | dense_dot_range_subset (int32_t *sub_index, int32_t num, float64_t *output, float64_t *alphas, float64_t *vec, int32_t dim, float64_t b) |
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 EFeatureType | get_feature_type () |
virtual EFeatureClass | get_feature_class () |
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) |
virtual CFeatures * | duplicate () const |
void | list_feature_objs () |
CDotFeatures * | get_first_feature_obj () |
CDotFeatures * | get_first_feature_obj (CListElement *¤t) |
CDotFeatures * | get_next_feature_obj () |
CDotFeatures * | get_next_feature_obj (CListElement *¤t) |
CDotFeatures * | get_last_feature_obj () |
bool | insert_feature_obj (CDotFeatures *obj) |
bool | append_feature_obj (CDotFeatures *obj) |
bool | delete_feature_obj () |
int32_t | get_num_feature_obj () |
virtual void | get_subfeature_weights (float64_t **weights, int32_t *num_weights) |
virtual void | set_subfeature_weights (float64_t *weights, int32_t num_weights) |
virtual const char * | get_name () const |
Protected Member Functions | |
void | update_dim_feature_space_and_num_vec () |
Protected Attributes | |
CList * | feature_list |
int32_t | num_vectors |
total number of vectors | |
int32_t | num_dimensions |
total number of dimensions |
constructor
Definition at line 29 of file CombinedDotFeatures.cpp.
CCombinedDotFeatures | ( | const CCombinedDotFeatures & | orig | ) |
copy constructor
Definition at line 37 of file CombinedDotFeatures.cpp.
~CCombinedDotFeatures | ( | ) | [virtual] |
destructor
Definition at line 51 of file CombinedDotFeatures.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 226 of file CombinedDotFeatures.cpp.
bool append_feature_obj | ( | CDotFeatures * | obj | ) |
append feature object
obj | feature object to append |
Definition at line 322 of file CombinedDotFeatures.h.
bool delete_feature_obj | ( | ) |
delete feature object
Definition at line 334 of file CombinedDotFeatures.h.
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 136 of file CombinedDotFeatures.cpp.
void dense_dot_range | ( | float64_t * | output, | |
int32_t | start, | |||
int32_t | stop, | |||
float64_t * | alphas, | |||
float64_t * | vec, | |||
int32_t | dim, | |||
float64_t | b | |||
) | [virtual] |
Compute the dot product for a range of vectors. This function makes use of dense_dot alphas[i] * sparse[i]^T * w + b
output | result for the given vector range | |
start | start vector range from this idx | |
stop | stop vector range at this idx | |
alphas | scalars to multiply with, may be NULL | |
vec | dense vector to compute dot product with | |
dim | length of the dense vector | |
b | bias |
Reimplemented from CDotFeatures.
Definition at line 157 of file CombinedDotFeatures.cpp.
void dense_dot_range_subset | ( | int32_t * | sub_index, | |
int32_t | num, | |||
float64_t * | output, | |||
float64_t * | alphas, | |||
float64_t * | vec, | |||
int32_t | dim, | |||
float64_t | b | |||
) | [virtual] |
Compute the dot product for a subset of vectors. This function makes use of dense_dot alphas[i] * sparse[i]^T * w + b
sub_index | index for which to compute outputs | |
num | length of index | |
output | result for the given vector range | |
alphas | scalars to multiply with, may be NULL | |
vec | dense vector to compute dot product with | |
dim | length of the dense vector | |
b | bias |
Reimplemented from CDotFeatures.
Definition at line 192 of file CombinedDotFeatures.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 103 of file CombinedDotFeatures.cpp.
CFeatures * duplicate | ( | ) | const [virtual] |
duplicate feature object
Implements CFeatures.
Definition at line 46 of file CombinedDotFeatures.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 237 of file CombinedDotFeatures.h.
virtual int32_t get_dim_feature_space | ( | ) | const [virtual] |
obtain the dimensionality of the feature space
Implements CDotFeatures.
Definition at line 72 of file CombinedDotFeatures.h.
virtual EFeatureClass get_feature_class | ( | ) | [virtual] |
get feature class
Implements CFeatures.
Definition at line 150 of file CombinedDotFeatures.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 188 of file CombinedDotFeatures.h.
virtual EFeatureType get_feature_type | ( | ) | [virtual] |
get feature type
Implements CFeatures.
Definition at line 141 of file CombinedDotFeatures.h.
CDotFeatures* get_first_feature_obj | ( | ) |
get first feature object
Definition at line 261 of file CombinedDotFeatures.h.
CDotFeatures* get_first_feature_obj | ( | CListElement *& | current | ) |
get first feature object
current | list of features |
Definition at line 271 of file CombinedDotFeatures.h.
CDotFeatures* get_last_feature_obj | ( | ) |
get last feature object
Definition at line 299 of file CombinedDotFeatures.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 209 of file CombinedDotFeatures.h.
CDotFeatures* get_next_feature_obj | ( | CListElement *& | current | ) |
get next feature object
current | list of features |
Definition at line 290 of file CombinedDotFeatures.h.
CDotFeatures* get_next_feature_obj | ( | ) |
get next feature object
Definition at line 280 of file CombinedDotFeatures.h.
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 244 of file CombinedDotFeatures.cpp.
int32_t get_num_feature_obj | ( | ) |
get number of feature objects
Definition at line 351 of file CombinedDotFeatures.h.
virtual int32_t get_num_vectors | ( | ) | const [virtual] |
get the number of vectors
Implements CFeatures.
Definition at line 63 of file CombinedDotFeatures.h.
virtual int32_t get_size | ( | ) | [virtual] |
get the size of a single element
Implements CFeatures.
Definition at line 159 of file CombinedDotFeatures.h.
void get_subfeature_weights | ( | float64_t ** | weights, | |
int32_t * | num_weights | |||
) | [virtual] |
get subfeature weights
weights | subfeature weights | |
num_weights | where number of weights is stored |
Definition at line 261 of file CombinedDotFeatures.cpp.
bool insert_feature_obj | ( | CDotFeatures * | obj | ) |
insert feature object
obj | feature object to insert |
Definition at line 309 of file CombinedDotFeatures.h.
void list_feature_objs | ( | ) |
list feature objects
Definition at line 56 of file CombinedDotFeatures.cpp.
void set_subfeature_weights | ( | float64_t * | weights, | |
int32_t | num_weights | |||
) | [virtual] |
set subfeature weights
weights | new subfeature weights | |
num_weights | number of subfeature weights |
Definition at line 281 of file CombinedDotFeatures.cpp.
void update_dim_feature_space_and_num_vec | ( | ) | [protected] |
update total number of dimensions and vectors
Definition at line 74 of file CombinedDotFeatures.cpp.
CList* feature_list [protected] |
feature list
Definition at line 380 of file CombinedDotFeatures.h.
int32_t num_dimensions [protected] |
total number of dimensions
Definition at line 385 of file CombinedDotFeatures.h.
int32_t num_vectors [protected] |
total number of vectors
Definition at line 383 of file CombinedDotFeatures.h.