View source: R/methods_kmeans.R
model_parameters.dbscan | R Documentation |
Format cluster models obtained for example by kmeans()
.
## S3 method for class 'dbscan'
model_parameters(model, data = NULL, clusters = NULL, ...)
## S3 method for class 'hclust'
model_parameters(model, data = NULL, clusters = NULL, ...)
## S3 method for class 'pvclust'
model_parameters(model, data = NULL, clusters = NULL, ci = 0.95, ...)
## S3 method for class 'kmeans'
model_parameters(model, ...)
## S3 method for class 'hkmeans'
model_parameters(model, ...)
## S3 method for class 'Mclust'
model_parameters(model, data = NULL, clusters = NULL, ...)
## S3 method for class 'pam'
model_parameters(model, data = NULL, clusters = NULL, ...)
model |
Cluster model. |
data |
A data.frame. |
clusters |
A vector with clusters assignments (must be same length as rows in data). |
... |
Arguments passed to or from other methods. |
ci |
Confidence Interval (CI) level. Default to |
# DBSCAN ---------------------------
if (require("dbscan", quietly = TRUE)) {
model <- dbscan::dbscan(iris[1:4], eps = 1.45, minPts = 10)
rez <- model_parameters(model, iris[1:4])
rez
# Get clusters
predict(rez)
# Clusters centers in long form
attributes(rez)$means
# Between and Total Sum of Squares
attributes(rez)$Sum_Squares_Total
attributes(rez)$Sum_Squares_Between
# HDBSCAN
model <- dbscan::hdbscan(iris[1:4], minPts = 10)
model_parameters(model, iris[1:4])
}
#
# Hierarchical clustering (hclust) ---------------------------
data <- iris[1:4]
model <- hclust(dist(data))
clusters <- cutree(model, 3)
rez <- model_parameters(model, data, clusters)
rez
# Get clusters
predict(rez)
# Clusters centers in long form
attributes(rez)$means
# Between and Total Sum of Squares
attributes(rez)$Total_Sum_Squares
attributes(rez)$Between_Sum_Squares
#
# pvclust (finds "significant" clusters) ---------------------------
if (require("pvclust", quietly = TRUE)) {
data <- iris[1:4]
# NOTE: pvclust works on transposed data
model <- pvclust::pvclust(datawizard::data_transpose(data, verbose = FALSE),
method.dist = "euclidean",
nboot = 50,
quiet = TRUE
)
rez <- model_parameters(model, data, ci = 0.90)
rez
# Get clusters
predict(rez)
# Clusters centers in long form
attributes(rez)$means
# Between and Total Sum of Squares
attributes(rez)$Sum_Squares_Total
attributes(rez)$Sum_Squares_Between
}
#
# K-means -------------------------------
model <- kmeans(iris[1:4], centers = 3)
rez <- model_parameters(model)
rez
# Get clusters
predict(rez)
# Clusters centers in long form
attributes(rez)$means
# Between and Total Sum of Squares
attributes(rez)$Sum_Squares_Total
attributes(rez)$Sum_Squares_Between
#
# Hierarchical K-means (factoextra::hkclust) ----------------------
if (require("factoextra", quietly = TRUE)) {
data <- iris[1:4]
model <- factoextra::hkmeans(data, k = 3)
rez <- model_parameters(model)
rez
# Get clusters
predict(rez)
# Clusters centers in long form
attributes(rez)$means
# Between and Total Sum of Squares
attributes(rez)$Sum_Squares_Total
attributes(rez)$Sum_Squares_Between
}
if (require("mclust", quietly = TRUE)) {
model <- mclust::Mclust(iris[1:4], verbose = FALSE)
model_parameters(model)
}
#
# K-Medoids (PAM and HPAM) ==============
if (require("cluster", quietly = TRUE)) {
model <- cluster::pam(iris[1:4], k = 3)
model_parameters(model)
}
if (require("fpc", quietly = TRUE)) {
model <- fpc::pamk(iris[1:4], criterion = "ch")
model_parameters(model)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.