mescla.datasets.synthetic.make_mixture¶
- mescla.datasets.synthetic.make_mixture(n_endmembers=3, n_species=5, n_samples=50, endmember_noise=0.15, sample_noise=0.01, concentration_range=(50.0, 900.0), seed=None)[source]¶
Generate a mixing problem with uniformly distributed ratios.
- Parameters:
n_endmembers (int) – Problem size. Identifiability requires
n_species >= n_endmembers - 1.n_species (int) – Problem size. Identifiability requires
n_species >= n_endmembers - 1.n_samples (int) – Problem size. Identifiability requires
n_species >= n_endmembers - 1.endmember_noise (float or ndarray) – Noise as a fraction of the mean concentration of each species, or an explicit array of standard deviations. The default – loose end-members, precise mixtures – is the situation that motivates maximum-likelihood estimation (Carrera et al., 2004).
sample_noise (float or ndarray) – Noise as a fraction of the mean concentration of each species, or an explicit array of standard deviations. The default – loose end-members, precise mixtures – is the situation that motivates maximum-likelihood estimation (Carrera et al., 2004).
concentration_range (tuple of float) – Bounds for the randomly drawn end-member concentrations.
seed (int, optional)
- Returns:
SyntheticMixture
- Return type:
Examples
>>> data = make_mixture(n_endmembers=3, n_species=6, n_samples=40, seed=1) >>> data.true_ratios.sum(axis=1).round(10) array([1., 1., 1., ...])