Skip to content

[source]

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#


  1. D. Achlioptas. (2003). Database-friendly random projections: Johnson-Lindenstrauss with binary coins. 


Last update: 2021-03-03