|
| MeanShift (const double radius=0, const size_t maxIterations=1000, const KernelType kernel=KernelType()) |
| Create a mean shift object and set the parameters which mean shift will be run with. More...
|
|
void | Cluster (const MatType &data, arma::Row< size_t > &assignments, arma::mat ¢roids, bool forceConvergence=true, bool useSeeds=true) |
| Perform mean shift clustering on the data, returning a list of cluster assignments and centroids. More...
|
|
double | EstimateRadius (const MatType &data, const double ratio=0.2) |
| Give an estimation of radius based on given dataset. More...
|
|
const KernelType & | Kernel () const |
| Get the kernel. More...
|
|
KernelType & | Kernel () |
| Modify the kernel. More...
|
|
size_t | MaxIterations () const |
| Get the maximum number of iterations. More...
|
|
size_t & | MaxIterations () |
| Set the maximum number of iterations. More...
|
|
double | Radius () const |
| Get the radius. More...
|
|
void | Radius (double radius) |
| Set the radius. More...
|
|
template<bool UseKernel = false, typename KernelType = kernel::GaussianKernel, typename MatType = arma::mat>
class mlpack::meanshift::MeanShift< UseKernel, KernelType, MatType >
This class implements mean shift clustering.
For each point in dataset, apply mean shift algorithm until maximum iterations or convergence. Then remove duplicate centroids.
A simple example of how to run mean shift clustering is shown below.
extern arma::mat data;
arma::Row<size_t> assignments;
arma::mat centroids;
bool forceConvergence = true;
to converge regardless of maxIterations.
MeanShift<> meanShift();
meanShift.Cluster(dataset, assignments, centroids, forceConvergence);
- Template Parameters
-
UseKernel | Use kernel or mean to calculate new centroid. If false, KernelType will be ignored. |
KernelType | The kernel to use. |
MatType | The type of matrix the data is stored in. |
Definition at line 50 of file mean_shift.hpp.