Kmeans: Perform k-means clustering on a data matrix.

Description Usage Arguments Value Author(s) Examples

View source: R/clusternor.R

Description

K-means provides k disjoint sets for a dataset using a parallel and fast NUMA optimized version of Lloyd's algorithm. The details of which are found in this paper https://arxiv.org/pdf/1606.08905.pdf.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
Kmeans(
  data,
  centers,
  nrow = -1,
  ncol = -1,
  iter.max = .Machine$integer.max,
  nthread = -1,
  init = c("kmeanspp", "random", "forgy", "none"),
  tolerance = 1e-06,
  dist.type = c("eucl", "sqeucl", "cos", "taxi")
)

Arguments

data

Data file name on disk (NUMA optimized) or In memory data matrix

centers

Either (i) The number of centers (i.e., k), or

nrow

The number of samples in the dataset

ncol

The number of features in the dataset

iter.max

The maximum number of iteration of k-means to perform

nthread

The number of parallel threads to run (ii) an In-memory data matrix, or (iii) A 2-Element list with element 1 being a filename for precomputed centers, and element 2 the number of centroids.

init

The type of initialization to use c("kmeanspp", "random", "forgy", "none")

tolerance

The convergence tolerance

dist.type

What dissimilarity metric to use

Value

A list containing the attributes of the output. cluster: A vector of integers (from 1:k) indicating the cluster to which each point is allocated. centers: A matrix of cluster centres. size: The number of points in each cluster. iter: The number of (outer) iterations.

Author(s)

Disa Mhembere <disa@cs.jhu.edu>

Examples

1
2
3
iris.mat <- as.matrix(iris[,1:4])
k <- length(unique(iris[, dim(iris)[2]])) # Number of unique classes
kms <- Kmeans(iris.mat, k)

clusternor documentation built on March 26, 2020, 7:31 p.m.