mlpack
Namespaces | Functions
dual_tree_kmeans_impl.hpp File Reference
#include "dual_tree_kmeans.hpp"
#include "dual_tree_kmeans_rules.hpp"
Include dependency graph for dual_tree_kmeans_impl.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 mlpack
 Linear algebra utility functions, generally performed on matrices or vectors.
 
 mlpack::kmeans
 K-Means clustering.
 

Functions

template<typename TreeType , typename MatType >
TreeType * mlpack::kmeans::BuildTree (MatType &&dataset, std::vector< size_t > &oldFromNew, const typename std::enable_if< tree::TreeTraits< TreeType >::RearrangesDataset >::type *=0)
 Call the tree constructor that does mapping.
 
template<typename TreeType , typename MatType >
TreeType * mlpack::kmeans::BuildTree (MatType &&dataset, const std::vector< size_t > &, const typename std::enable_if< !tree::TreeTraits< TreeType >::RearrangesDataset >::type *=0)
 Call the tree constructor that does not do mapping.
 
template<typename TreeType >
void mlpack::kmeans::HideChild (TreeType &node, const size_t child, const typename std::enable_if_t< !tree::TreeTraits< TreeType >::BinaryTree > *junk=0)
 Utility function for hiding children. More...
 
template<typename TreeType >
void mlpack::kmeans::HideChild (TreeType &node, const size_t child, const typename std::enable_if_t< tree::TreeTraits< TreeType >::BinaryTree > *junk=0)
 Utility function for hiding children. More...
 
template<typename TreeType >
void mlpack::kmeans::RestoreChildren (TreeType &node, const typename std::enable_if_t< !tree::TreeTraits< TreeType >::BinaryTree > *)
 Utility function for restoring children in a non-binary tree.
 
template<typename TreeType >
void mlpack::kmeans::RestoreChildren (TreeType &node, const typename std::enable_if_t< tree::TreeTraits< TreeType >::BinaryTree > *junk=0)
 Utility function for restoring children to a binary tree. More...
 

Detailed Description

Author
Ryan Curtin

An implementation of a Lloyd iteration which uses dual-tree nearest neighbor search as a black box. The conditions under which this will perform best are probably limited to the case where k is close to the number of points in the dataset, and the number of iterations of the k-means algorithm will be few.

mlpack is free software; you may redistribute it and/or modify it under the terms of the 3-clause BSD license. You should have received a copy of the 3-clause BSD license along with mlpack. If not, see http://www.opensource.org/licenses/BSD-3-Clause for more information.