Hierarchical integer K-Means clustering. More...
Data Structures | |
struct | VlHIKMNode |
HIKM tree node. More... | |
struct | VlHIKMTree |
HIKM tree. More... | |
Functions | |
Create and destroy | |
VlHIKMTree * | vl_hikm_new (int method) |
New HIKM tree. More... | |
void | vl_hikm_delete (VlHIKMTree *f) |
Delete HIKM tree. More... | |
Retrieve data and parameters | |
vl_size | vl_hikm_get_ndims (VlHIKMTree const *f) |
Get data dimensionality. More... | |
vl_size | vl_hikm_get_K (VlHIKMTree const *f) |
Get K. More... | |
vl_size | vl_hikm_get_depth (VlHIKMTree const *f) |
Get depth. More... | |
int | vl_hikm_get_verbosity (VlHIKMTree const *f) |
Get verbosity level. More... | |
vl_size | vl_hikm_get_max_niters (VlHIKMTree const *f) |
Get maximum number of iterations. More... | |
VlHIKMNode const * | vl_hikm_get_root (VlHIKMTree const *f) |
Get maximum number of iterations. More... | |
Set parameters | |
void | vl_hikm_set_verbosity (VlHIKMTree *f, int verb) |
Set verbosity level. More... | |
void | vl_hikm_set_max_niters (VlHIKMTree *f, int max_niters) |
Set maximum number of iterations. More... | |
Process data | |
void | vl_hikm_init (VlHIKMTree *f, vl_size M, vl_size K, vl_size depth) |
Initialize HIKM tree. More... | |
void | vl_hikm_train (VlHIKMTree *f, vl_uint8 const *data, vl_size N) |
Train HIKM tree. More... | |
void | vl_hikm_push (VlHIKMTree *f, vl_uint32 *asgn, vl_uint8 const *data, vl_size N) |
Project data down HIKM tree. More... | |
Detailed Description
Hierarchical Integer K-Means Clustering.
Hierarchical integer K-Means clustering (HIKM) is a simple hierarchical version of integer K-Means (IKM). The algorithm recursively applies integer K-means to create more refined partitions of the data.
Create a tree with vl_hikm_new() and delete it with vl_hikm_delete(). Use vl_hikm_train() to build the tree from training data and vl_hikm_push() to project new data down a HIKM tree.
HIKM tree
The HIKM tree is represented by a VlHIKMTree structure, which contains a tree composed of VlHIKMNode. Each node is an integer K-means filter which partitions the data into K
clusters.
Function Documentation
◆ vl_hikm_delete()
void vl_hikm_delete | ( | VlHIKMTree * | f | ) |
- Parameters
-
f HIKM tree.
◆ vl_hikm_get_depth()
vl_size vl_hikm_get_depth | ( | VlHIKMTree const * | f | ) |
- Parameters
-
f HIKM tree.
- Returns
- depth.
◆ vl_hikm_get_K()
vl_size vl_hikm_get_K | ( | VlHIKMTree const * | f | ) |
- Parameters
-
f HIKM tree.
- Returns
- K.
◆ vl_hikm_get_max_niters()
vl_size vl_hikm_get_max_niters | ( | VlHIKMTree const * | f | ) |
- Parameters
-
f HIKM tree.
- Returns
- maximum number of iterations.
◆ vl_hikm_get_ndims()
vl_size vl_hikm_get_ndims | ( | VlHIKMTree const * | f | ) |
- Parameters
-
f HIKM tree.
- Returns
- data dimensionality.
◆ vl_hikm_get_root()
VlHIKMNode const* vl_hikm_get_root | ( | VlHIKMTree const * | f | ) |
- Parameters
-
f HIKM tree.
- Returns
- maximum number of iterations.
◆ vl_hikm_get_verbosity()
int vl_hikm_get_verbosity | ( | VlHIKMTree const * | f | ) |
- Parameters
-
f HIKM tree.
- Returns
- verbosity level.
◆ vl_hikm_init()
void vl_hikm_init | ( | VlHIKMTree * | f, |
vl_size | M, | ||
vl_size | K, | ||
vl_size | depth | ||
) |
- Parameters
-
f HIKM tree. M Data dimensionality. K Number of clusters per node. depth Tree depth.
- Returns
- a new HIKM tree representing the clustering.
- Remarks
- depth cannot be smaller than 1.
◆ vl_hikm_new()
VlHIKMTree* vl_hikm_new | ( | int | method | ) |
- Parameters
-
method clustering method.
- Returns
- new HIKM tree.
◆ vl_hikm_push()
void vl_hikm_push | ( | VlHIKMTree * | f, |
vl_uint32 * | asgn, | ||
vl_uint8 const * | data, | ||
vl_size | N | ||
) |
- Parameters
-
f HIKM tree. asgn Path down the tree (out). data Data to project. N Number of data.
The function writes to asgn the path of the data data down the HIKM tree f. The parameter asgn must point to an array of M
by N
elements, where M
is the depth of the HIKM tree and N
is the number of data point to process.
◆ vl_hikm_set_max_niters()
void vl_hikm_set_max_niters | ( | VlHIKMTree * | f, |
int | max_niters | ||
) |
- Parameters
-
f HIKM tree. max_niters maximum number of iterations.
◆ vl_hikm_set_verbosity()
void vl_hikm_set_verbosity | ( | VlHIKMTree * | f, |
int | verb | ||
) |
- Parameters
-
f HIKM tree. verb verbosity level.
◆ vl_hikm_train()
void vl_hikm_train | ( | VlHIKMTree * | f, |
vl_uint8 const * | data, | ||
vl_size | N | ||
) |
- Parameters
-
f HIKM tree. data Data to cluster. N Number of data.