inckmed | R Documentation |
This function runs the increasing number of clusters in the k-medoids algorithm proposed by Yu et. al. (2018).
inckmed(distdata, ncluster, iterate = 10, alpha = 1)
distdata |
A distance matrix (n x n) or dist object. |
ncluster |
A number of clusters. |
iterate |
A number of iterations for the clustering algorithm. |
alpha |
A stretch factor to determine the range of initial medoid selection (see Details). |
This algorithm is claimed to manage with the weakness of the
simple and fast-kmedoids (fastkmed
). The origin of the
algorithm is a centroid-based algorithm by applying the Euclidean distance.
Then, Bbecause the function is a medoid-based algorithm, the object mean
(centroid) and variance are redefined into medoid and deviation, respectively.
The alpha
argument is a stretch factor, i.e. a constant defined by
the user. It is applied to determine a set of medoid candidates. The medoid
candidates are calculated by
O_c = {X_i| σ_i ≤q α σ,
i = 1, 2, …, n },
where σ_i is the average deviation of object i, and
σ is the average deviation of the data set. They are computed by
σ = √{\frac{1}{n-1} ∑_{i=1}^n d(O_i, v_1)}
σ_i = √{\frac{1}{n-1} ∑_{i=1}^n d(O_i, O_j)}
where n is the number of objects, O_i is the object i, and v_1 is the most centrally located object.
Function returns a list of components:
cluster
is the clustering memberships result.
medoid
is the id medoids.
minimum_distance
is the distance of all objects to their cluster
medoid.
Weksi Budiaji
Contact: budiaji@untirta.ac.id
Yu, D., Liu, G., Guo, M., Liu, X., 2018. An improved K-medoids algorithm based on step increasing and optimizing medoids. Expert Systems with Applications 92, pp. 464-473.
num <- as.matrix(iris[,1:4]) mrwdist <- distNumeric(num, num, method = "mrw") result <- inckmed(mrwdist, ncluster = 3, iterate = 50, alpha = 1.5) table(result$cluster, iris[,5])
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.