mojolearn.johnson_lindenstrauss_min_dim#
- mojolearn.johnson_lindenstrauss_min_dim(n_samples, *, eps=0.1)[source]#
Minimum dimension for a random projection that keeps distances within eps.
Follows scikit-learn’s
johnson_lindenstrauss_min_dimfor a singlen_samplesandeps(scalars only):4 log(n_samples) / (eps**2 / 2 - eps**3 / 3), truncated to an int.- Parameters:
n_samples (int) – Number of samples; must be greater than zero.
eps (float, default 0.1) – Maximum distortion, strictly between 0 and 1.
- Returns:
int
- Raises:
ValueError – If
epsis not in (0, 1) orn_samplesis not positive.
Examples
>>> import mojolearn >>> d = mojolearn.johnson_lindenstrauss_min_dim(1000, eps=0.5)