Skip to contents

A collection of functions to compute quality measures on dimRedResult objects.

Usage

# S4 method for dimRedResult
quality(.data, .method = dimRedQualityList(), .mute = character(0), ...)

dimRedQualityList(filter = FALSE)

Arguments

.data

object of class dimRedResult

.method

character vector naming one of the methods

.mute

what output from the embedding method should be muted.

...

the pameters, internally passed as a list to the quality method as pars = list(...)

filter

filter methods by installed packages

Value

a number

Methods (by class)

  • quality(dimRedResult): Calculate a quality index from a dimRedResult object.

Implemented methods

Method must be one of "Q_local", "Q_global", "mean_R_NX", "total_correlation", "cophenetic_correlation", "distance_correlation", "reconstruction_rmse"

Rank based criteria

Q_local, Q_global, and mean_R_NX are quality criteria based on the Co-ranking matrix. Q_local and Q_global determine the local/global quality of the embedding, while mean_R_NX determines the quality of the overall embedding. They are parameter free and return a single number. The object must include the original data. The number returns is in the range [0, 1], higher values mean a better local/global embedding.

Correlation based criteria

total_correlation calculates the sum of the mean squared correlations of the original axes with the axes in reduced dimensions, because some methods do not care about correlations with axes, there is an option to rotate data in reduced space to maximize this criterium. The number may be greater than one if more dimensions are summed up.

cophenetic_correlation calculate the correlation between the lower triangles of distance matrices, the correlation and distance methods may be specified. The result is in range [-1, 1].

distance_correlation measures the independes of samples by calculating the correlation of distances. For details see dcor.

Reconstruction error

reconstruction_rmse calculates the root mean squared error of the reconstrucion. object requires an inverse function.

References

Lueks, W., Mokbel, B., Biehl, M., Hammer, B., 2011. How to Evaluate Dimensionality Reduction? - Improving the Co-ranking Matrix. arXiv:1110.3917 [cs].

Szekely, G.J., Rizzo, M.L., Bakirov, N.K., 2007. Measuring and testing dependence by correlation of distances. Ann. Statist. 35, 2769-2794. doi:10.1214/009053607000000505

Lee, J.A., Peluffo-Ordonez, D.H., Verleysen, M., 2015. Multi-scale similarities in stochastic neighbour embedding: Reducing dimensionality while preserving both local and global structure. Neurocomputing, 169, 246-261. doi:10.1016/j.neucom.2014.12.095

Author

Guido Kraemer

Examples

if (FALSE) {
embed_methods <- dimRedMethodList()
quality_methods <- dimRedQualityList()
scurve <- loadDataSet("Iris")

quality_results <- matrix(NA, length(embed_methods), length(quality_methods),
                              dimnames = list(embed_methods, quality_methods))
embedded_data <- list()

for (e in embed_methods) {
  message("embedding: ", e)
  embedded_data[[e]] <- embed(scurve, e, .mute = c("message", "output"))
  for (q in quality_methods) {
    message("  quality: ", q)
    quality_results[e, q] <- tryCatch(
      quality(embedded_data[[e]], q),
      error = function (e) NA
    )
  }
}

print(quality_results)
}