Dense Random Projector#
A database-friendly random projector with projection matrix sampled from a dense uniform distribution ([-1, 1]).
Note
Dense Random Projector has been deprecated, use Sparse Random Projector with sparsity set to 0 instead.
Interfaces: Transformer, Stateful, Persistable
Data Type Compatibility: Continuous only
Parameters#
# | Name | Default | Type | Description |
---|---|---|---|---|
1 | dimensions | int | The number of target dimensions to project onto. |
Example#
use Rubix\ML\Transformers\DenseRandomProjector;
$transformer = new DenseRandomProjector(50);
Additional Methods#
Estimate the minimum dimensionality needed to satisfy a max distortion constraint with n samples using the Johnson-Lindenstrauss lemma:
public static minDimensions(int $n, float $maxDistortion = 0.5) : int
use Rubix\ML\Transformers\DenseRandomProjector;
$dimensions = DenseRandomProjector::minDimensions(1000, 0.3);
References#
-
D. Achlioptas. (2003). Database-friendly random projections: Johnson-Lindenstrauss with binary coins. ↩
Last update: 2021-03-03