|
mlpack
|
K-Means clustering. More...
Classes | |
| class | AllowEmptyClusters |
| Policy which allows K-Means to create empty clusters without any error being reported. More... | |
| class | DualTreeKMeans |
| An algorithm for an exact Lloyd iteration which simply uses dual-tree nearest-neighbor search to find the nearest centroid for each point in the dataset. More... | |
| class | DualTreeKMeansRules |
| class | DualTreeKMeansStatistic |
| class | ElkanKMeans |
| struct | GivesCentroids |
| 'value' is true if the InitialPartitionPolicy class has a member Cluster(const arma::mat& data, const size_t clusters, arma::mat& centroids). More... | |
| class | HamerlyKMeans |
| class | KillEmptyClusters |
| Policy which allows K-Means to "kill" empty clusters without any error being reported. More... | |
| class | KMeans |
| This class implements K-Means clustering, using a variety of possible implementations of Lloyd's algorithm. More... | |
| class | MaxVarianceNewCluster |
| When an empty cluster is detected, this class takes the point furthest from the centroid of the cluster with maximum variance as a new cluster. More... | |
| class | NaiveKMeans |
| This is an implementation of a single iteration of Lloyd's algorithm for k-means. More... | |
| class | PellegMooreKMeans |
| An implementation of Pelleg-Moore's 'blacklist' algorithm for k-means clustering. More... | |
| class | PellegMooreKMeansRules |
| The rules class for the single-tree Pelleg-Moore kd-tree traversal for k-means clustering. More... | |
| class | PellegMooreKMeansStatistic |
| A statistic for trees which holds the blacklist for Pelleg-Moore k-means clustering (which represents the clusters that cannot possibly own any points in a node). More... | |
| class | RandomPartition |
| A very simple partitioner which partitions the data randomly into the number of desired clusters. More... | |
| class | RefinedStart |
| A refined approach for choosing initial points for k-means clustering. More... | |
| class | SampleInitialization |
Typedefs | |
| template<typename MetricType , typename MatType > | |
| using | DefaultDualTreeKMeans = DualTreeKMeans< MetricType, MatType > |
| A template typedef for the DualTreeKMeans algorithm with the default tree type (a kd-tree). More... | |
| template<typename MetricType , typename MatType > | |
| using | CoverTreeDualTreeKMeans = DualTreeKMeans< MetricType, MatType, tree::StandardCoverTree > |
| A template typedef for the DualTreeKMeans algorithm with the cover tree type. More... | |
Functions | |
| template<typename TreeType > | |
| void | 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 | 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 | RestoreChildren (TreeType &node, const typename std::enable_if_t<!tree::TreeTraits< TreeType >::BinaryTree > *junk=0) |
| Utility function for restoring children to a non-binary tree. | |
| template<typename TreeType > | |
| void | 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... | |
| template<typename TreeType , typename MatType > | |
| TreeType * | 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 * | 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 | RestoreChildren (TreeType &node, const typename std::enable_if_t< !tree::TreeTraits< TreeType >::BinaryTree > *) |
| Utility function for restoring children in a non-binary tree. | |
| HAS_MEM_FUNC (Cluster, GivesCentroidsCheck) | |
| This gives us a GivesCentroids object that we can use to tell whether or not an InitialPartitionPolicy returns centroids or point assignments. | |
| template<typename MatType , typename InitialPartitionPolicy > | |
| bool | GetInitialAssignmentsOrCentroids (InitialPartitionPolicy &ipp, const MatType &data, const size_t clusters, arma::Row< size_t > &assignments, arma::mat &, const typename std::enable_if_t< !GivesCentroids< InitialPartitionPolicy >::value > *=0) |
| Call the initial partition policy, if it returns assignments. More... | |
| template<typename MatType , typename InitialPartitionPolicy > | |
| bool | GetInitialAssignmentsOrCentroids (InitialPartitionPolicy &ipp, const MatType &data, const size_t clusters, arma::Row< size_t > &, arma::mat ¢roids, const typename std::enable_if_t< GivesCentroids< InitialPartitionPolicy >::value > *=0) |
| Call the initial partition policy, if it returns centroids. More... | |
K-Means clustering.
| using mlpack::kmeans::CoverTreeDualTreeKMeans = typedef DualTreeKMeans<MetricType, MatType, tree::StandardCoverTree> |
A template typedef for the DualTreeKMeans algorithm with the cover tree type.
| using mlpack::kmeans::DefaultDualTreeKMeans = typedef DualTreeKMeans<MetricType, MatType> |
A template typedef for the DualTreeKMeans algorithm with the default tree type (a kd-tree).
| bool mlpack::kmeans::GetInitialAssignmentsOrCentroids | ( | InitialPartitionPolicy & | ipp, |
| const MatType & | data, | ||
| const size_t | clusters, | ||
| arma::Row< size_t > & | assignments, | ||
| arma::mat & | , | ||
| const typename std::enable_if_t< !GivesCentroids< InitialPartitionPolicy >::value > * | = 0 |
||
| ) |
Call the initial partition policy, if it returns assignments.
This returns 'true' to indicate that assignments were given.
| bool mlpack::kmeans::GetInitialAssignmentsOrCentroids | ( | InitialPartitionPolicy & | ipp, |
| const MatType & | data, | ||
| const size_t | clusters, | ||
| arma::Row< size_t > & | , | ||
| arma::mat & | centroids, | ||
| const typename std::enable_if_t< GivesCentroids< InitialPartitionPolicy >::value > * | = 0 |
||
| ) |
Call the initial partition policy, if it returns centroids.
This returns 'false' to indicate that assignments were not given.
| 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.
Utility function for hiding children in a non-binary tree.
This actually does something, and is called if the tree is not a binary tree.
| 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.
Utility function for hiding children in a binary tree.
This is called when the tree is a binary tree, and does nothing, because we don't hide binary children in this way.
| 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.
Utility function for restoring children in a binary tree.
1.8.13