calculate_clustering_metrics {c2c} | R Documentation |
Calculate a range of clustering metrics on a confusion confusion matrix, usually from get_conf_mat
.
calculate_clustering_metrics(conf_mat)
conf_mat |
a confusion matrix, as produced by |
Entropy calculated via overall_entropy
and class_entropy
, purity calculated via overall_purity
and class_purity
, percentage agreement calculated via percentage_agreement
(only for confusion matrices of equal dimensions and matching class order)
A list containing the metrics that can be calculated, see details.
Mitchell Lyons
Lyons, Foster and Keith (2017). Simultaneous vegetation classification and mapping at large spatial scales. Journal of Biogeography.
get_conf_mat
, labels_to_matrix
, get_hard
# meaningless data, but you get the idea
# compare two soft classifications
my_soft_mat1 <- matrix(runif(50,0,1), nrow = 10, ncol = 5)
my_soft_mat2 <- matrix(runif(30,0,1), nrow = 10, ncol = 3)
# make the confusion matrix and calculate stats
conf_mat <- get_conf_mat(my_soft_mat1, my_soft_mat2)
conf_mat; calculate_clustering_metrics(conf_mat)
# compare a soft classificaiton to a vector of hard labels
my_labels <- rep(c("a","b","c"), length.out = 10)
# utilising labels_to_matrix(my_labels)
conf_mat <- get_conf_mat(my_soft_mat1, my_labels)
conf_mat; calculate_clustering_metrics(conf_mat)
# make one of the soft matrices hard
# utilising get_hard(my_soft_mat2)
conf_mat <- get_conf_mat(my_soft_mat1, my_soft_mat2, make.B.hard = TRUE)
conf_mat; calculate_clustering_metrics(conf_mat)
# two classifications with same number of classes, enables percentage agreement
conf_mat <- get_conf_mat(my_soft_mat1, my_soft_mat1)
conf_mat; calculate_clustering_metrics(conf_mat)