Provided by: mlpack-bin_3.2.2-3_amd64 bug

NAME

       mlpack_kmeans - k-means clustering

SYNOPSIS

        mlpack_kmeans -c int -i string [-a string] [-e bool] [-P bool] [-I string] [-E bool] [-l bool] [-m int] [-p double] [-r bool] [-S int] [-s int] [-V bool] [-C string] [-o string] [-h -v]

DESCRIPTION

       This  program  performs  K-Means  clustering  on  the  given  dataset.  It can return the learned cluster
       assignments, and the centroids of the clusters. Empty clusters are not allowed by default; when a cluster
       becomes empty, the point furthest from the centroid of the cluster with maximum variance is taken to fill
       that cluster.

       Optionally, the Bradley and Fayyad approach ("Refining initial points for k-means clustering", 1998)  can
       be  used to select initial points by specifying the '--refined_start (-r)' parameter. This approach works
       by taking random samplings of the dataset; to specify the number of  samplings,  the  '--samplings  (-S)'
       parameter  is  used,  and  to  specify  the  percentage  of  the  dataset  to be used in each sample, the
       '--percentage (-p)' parameter is used (it should be a value between 0.0 and 1.0).

       There are several options available for the algorithm used for each Lloyd iteration, specified  with  the
       '--algorithm  (-a)'  option. The standard O(kN) approach can be used ('naive'). Other options include the
       Pelleg-Moore  tree-based  algorithm  ('pelleg-moore'),  Elkan's   triangle-inequality   based   algorithm
       ('elkan'),  Hamerly's  modification  to  Elkan's  algorithm  ('hamerly'), the dual-tree k-means algorithm
       ('dualtree'), and the dual-tree k-means algorithm using the cover tree ('dualtree-covertree').

       The behavior for when an empty cluster is encountered can be modified  with  the  ’--allow_empty_clusters
       (-e)'  option.  When  this  option  is specified and there is a cluster owning no points at the end of an
       iteration, that cluster's centroid will simply remain in its position from the previous iteration. If the
       '--kill_empty_clusters  (-E)'  option  is  specified, then when a cluster owns no points at the end of an
       iteration, the cluster centroid is simply filled with DBL_MAX, killing it and effectively reducing k  for
       the  rest of the computation. Note that the default option when neither empty cluster option is specified
       can be time-consuming  to  calculate;  therefore,  specifying  either  of  these  parameters  will  often
       accelerate runtime.

       Initial  clustering assignments may be specified using the ’--initial_centroids_file (-I)' parameter, and
       the maximum number of iterations may be specified with the '--max_iterations (-m)' parameter.

       As an example, to use Hamerly's algorithm  to  perform  k-means  clustering  with  k=10  on  the  dataset
       'data.csv',   saving   the   centroids   to  'centroids.csv'  and  the  assignments  for  each  point  to
       'assignments.csv', the following command could be used:

       $  mlpack_kmeans  --input_file  data.csv  --clusters  10  --output_file  assignments.csv  --centroid_file
       centroids.csv

       To  run  k-means on that same dataset with initial centroids specified in ’initial.csv' with a maximum of
       500 iterations, storing the output centroids in 'final.csv' the following command may be used:

       $ mlpack_kmeans --input_file data.csv --initial_centroids_file initial.csv --clusters 10 --max_iterations
       500 --centroid_file final.csv

REQUIRED INPUT OPTIONS

       --clusters (-c) [int]
              Number of clusters to find (0 autodetects from initial centroids).

       --input_file (-i) [string]
              Input dataset to perform clustering on.

OPTIONAL INPUT OPTIONS

       --algorithm (-a) [string]
              Algorithm to use for the Lloyd iteration ('naive', 'pelleg-moore', 'elkan', 'hamerly', 'dualtree',
              or 'dualtree-covertree'). Default value 'naive'.

       --allow_empty_clusters (-e) [bool]
              Allow empty clusters to be persist.

       --help (-h) [bool]
              Default help info.

       --in_place (-P) [bool]
              If specified, a column containing the learned cluster assignments  will  be  added  to  the  input
              dataset file. In this case, --output_file is overridden. (Do not use in Python.)

       --info [string]
              Print help on a specific option. Default value ''.

       --initial_centroids_file (-I) [string]
              Start with the specified initial centroids.

       --kill_empty_clusters (-E) [bool]
              Remove empty clusters when they occur.

       --labels_only (-l) [bool]
              Only output labels into output file.

       --max_iterations (-m) [int]
              Maximum number of iterations before k-means terminates. Default value 1000.

       --percentage (-p) [double]
              Percentage  of  dataset  to  use  for  each  refined  start  sampling (use when --refined_start is
              specified). Default value 0.02.

       --refined_start (-r) [bool]
              Use the refined initial point strategy by Bradley and Fayyad to choose initial points.

       --samplings (-S) [int]
              Number of samplings to perform for refined start

       (use when --refined_start is specified).
              Default value 100.

       --seed (-s) [int]
              Random seed. If 0, 'std::time(NULL)' is used.  Default value 0.

       --verbose (-v) [bool]
              Display informational messages and the full list of parameters and timers at the end of execution.

       --version (-V) [bool]
              Display the version of mlpack.

OPTIONAL OUTPUT OPTIONS

       --centroid_file (-C) [string]
              If specified, the centroids of each cluster will be written to the given file.

       --output_file (-o) [string]
              Matrix to store output labels or labeled data to.

ADDITIONAL INFORMATION

       For further information, including relevant papers, citations,  and  theory,  consult  the  documentation
       found at http://www.mlpack.org or included with your distribution of mlpack.