Unsupervised learning¶
The hparray
object has built in methods that allows you to perform several unsupervised learning
techniques on the stored data. The techniques are split into the following categories:
Spectral unmixing
Abundance mapping
These are all available as methods on the hparray
object.
import numpy as np
import hypers as hp
test_data = np.random.rand(10, 10, 1000)
X = hp.array(test_data)
# To access vertex component analysis
ims, spcs = X.unmix.vca.calculate(n_components=10)
# To access unconstrained leastsquares for abundance mapping
spectra = np.random.rand(1000, 2)
amap = X.abundance.ucls.calculate(spectra)
Spectral unmixing¶
Spectral unmixing is the process of decomposing the spectral signature of a mixed pixel into a set of endmembers and their corresponding abundances.
The following techniques are available:
Vertex component analysis
Abundance mapping¶
Abundance maps are used to determine how much of a given spectrum is present at each pixel in a hyperspectral image. They can be useful for determining percentages after the spectra have been retrieved from some clustering or unmixing technique or if the spectra are already at hand.
The following techniques are available:
Unconstrained leastsquares
Nonnegative constrained leastsquares
Fullyconstrained leastsquares
Unconstrained leastsquares¶
This is implemented with 2.

class
hypers.learning.abundance.
ucls
(X)¶ Methods
calculate
Nonnegative constrained leastsquares¶
This is implemented with 2.

class
hypers.learning.abundance.
nnls
(X)¶ Methods
calculate