Generic function that computes the sparseness of an object, as defined by Hoyer (2004). The sparseness quantifies how much energy of a vector is packed into only few components.
usually a single numeric value -- in [0,1], or a numeric vector. See each method for more details.
In Hoyer (2004), the sparseness is defined for a
(srqt(n) - ||x||_1 / ||x||_2) / (sqrt(n) - 1)
nis the length of
The sparseness is a real number in
[0,1]. It is equal to 1 if and only if
xcontains a single nonzero component, and is equal to 0 if and only if all components of
xare equal. It interpolates smoothly between these two extreme values. The closer to 1 is the sparseness the sparser is the vector.
The basic definition is for a
numericvector, and is extended for matrices as the mean sparseness of its column vectors.
signature(x = "numeric"): Base method that computes the sparseness of a numeric vector.
It returns a single numeric value, computed following the definition given in section Description.
signature(x = "matrix"): Computes the sparseness of a matrix as the mean sparseness of its column vectors. It returns a single numeric value.
signature(x = "NMF"): Compute the sparseness of an object of class
NMF, as the sparseness of the basis and coefficient matrices computed separately.
It returns the two values in a numeric vector with names basis and coef.
Hoyer P (2004). "Non-negative matrix factorization with
sparseness constraints." _The Journal of Machine Learning
Research_, *5*, pp. 1457-1469.