spatialEco (version 2.0-2)

hybrid.kmeans: Hybrid K-means

Description

Hybrid K-means clustering using hierarchical clustering to define cluster-centers

Usage

hybrid.kmeans(x, k = 2, hmethod = "ward.D", stat = mean, ...)

Value

returns an object of class "kmeans" which has a print and a fitted method

Arguments

x

A data.frame or matrix with data to be clustered

k

Number of clusters

hmethod

The agglomeration method used in hclust

stat

The statistic to aggregate class centers (mean or median)

...

Additional arguments passed to kmeans

Author

Jeffrey S. Evans <jeffrey_evans@tnc.org>

Details

This method uses hierarchical clustering to define the cluster-centers in the K-means clustering algorithm. This mitigates some of the know convergence issues in K-means.

References

Singh, H., & K. Kaur (2013) New Method for Finding Initial Cluster Centroids in K-means Algorithm. International Journal of Computer Application. 74(6):27-30

Ward, J.H., (1963) Hierarchical grouping to optimize an objective function. Journal of the American Statistical Association. 58:236-24

See Also

kmeans for available ... arguments and function details

hclust for details on hierarchical clustering

Examples

Run this code
x <- rbind(matrix(rnorm(100, sd = 0.3), ncol = 2),
           matrix(rnorm(100, mean = 1, sd = 0.3), ncol = 2))

# Compare k-means to hybrid k-means with k=4		   
km <- kmeans(x, 4)		   
hkm <- hybrid.kmeans(x,k=4)		   

opar <- par(no.readonly=TRUE)
par(mfrow=c(1,2))
  plot(x[,1],x[,2], col=km$cluster,pch=19, main="K-means")
  plot(x[,1],x[,2], col=hkm$cluster,pch=19, main="Hybrid K-means")
par(opar)

Run the code above in your browser using DataLab