Skip to contents

Automatically determines the optimal rank (K) for non-negative matrix factorization using an empirical indicator method. This function evaluates multiple candidate ranks and selects the one that provides the best trade-off between model complexity and reconstruction accuracy.

Usage

select_K.optimized(
  Object,
  K_max = 20L,
  repeat_times = 10L,
  maxiter = 2000L,
  seed = 0L,
  verbose = FALSE
)

Arguments

Object

A scAB_data object containing the data matrix to be factorized.

K_max

The maximum rank value to consider in the search. Must be at least 2. Defaults to 20.

repeat_times

The number of repeated NMF runs for each candidate rank to account for random initialization variability. Defaults to 10.

maxiter

The maximum number of iterations for each NMF run. Defaults to 2000.

seed

Random seed for reproducible results. Defaults to 0.

verbose

Logical indicating whether to print progress messages and intermediate results. Defaults to FALSE.

Value

An integer value representing the selected optimal rank K.

Note

This function is from scAB package,