16 #ifndef __MLPACK_METHODS_KMEANS_DUAL_TREE_KMEANS_RULES_HPP 17 #define __MLPACK_METHODS_KMEANS_DUAL_TREE_KMEANS_RULES_HPP 24 template<
typename MetricType,
typename TreeType>
38 double BaseCase(
const size_t queryIndex,
const size_t referenceIndex);
40 double Score(
const size_t queryIndex, TreeType& referenceNode);
41 double Score(TreeType& queryNode, TreeType& referenceNode);
42 double Rescore(
const size_t queryIndex,
43 TreeType& referenceNode,
44 const double oldScore);
45 double Rescore(TreeType& queryNode,
46 TreeType& referenceNode,
47 const double oldScore);
87 #include "dual_tree_kmeans_rules_impl.hpp"
const TraversalInfoType & TraversalInfo() const
Linear algebra utility functions, generally performed on matrices or vectors.
neighbor::NeighborSearchTraversalInfo< TreeType > TraversalInfoType
DualTreeKMeansRules(const arma::mat ¢roids, const arma::mat &dataset, arma::Row< size_t > &assignments, arma::vec &upperBounds, arma::vec &lowerBounds, MetricType &metric, const std::vector< bool > &prunedPoints, const std::vector< size_t > &oldFromNewCentroids, std::vector< bool > &visited)
size_t lastReferenceIndex
double BaseCase(const size_t queryIndex, const size_t referenceIndex)
Traversal information for NeighborSearch.
const std::vector< bool > & prunedPoints
double Score(const size_t queryIndex, TreeType &referenceNode)
const arma::mat & dataset
TraversalInfoType & TraversalInfo()
std::vector< bool > & visited
double Rescore(const size_t queryIndex, TreeType &referenceNode, const double oldScore)
const std::vector< size_t > & oldFromNewCentroids
TraversalInfoType traversalInfo
const arma::mat & centroids
arma::Row< size_t > & assignments