Skip to main content

pca

pca(
@dataset ## llll (required)
@numdimensions 2
@whiten 0
) -> llll

Given a dataset, generates a Principal Component Analysis object which can be used for dimensionality reduction of a dataset, via the transform function.


Arguments

  • @dataset [llll]: Dataset to fit PCA to (required)
  • @numdimensions [int]: The number of dimensions (principal components) to keep after a transform, using PCA for dimensionality reduction. (default: 2).
  • @whiten [int]: Perform whitening on the output of PCA. (default: 0).
    • 0: Off
    • 1: On

Output

PCA object [llll]


Usage

$indataset = dataset(
for $i in 1...100 collect [$i * 10 ** (-1...1)] ## dummy input dataset
);
$inpoint = 0.65 6.5 65; ## dummy input point
$reducer = pca($indataset); ## create reducer based on dummy dataset
$outdataset = transform($reducer, $indataset); ## transform dataset based on learned parameters
$outpoint = transform($reducer, $inpoint); ## transform new point based on learned parameters
writeobject($reducer, './pca.json'); ## write to JSON (optional)
$reducer = readobject('./pca.json'); ## read from JSON (optional)
print(getitems($indataset, 1...5), 'Input dataset:');
print(getitems($outdataset, 1...5), 'Output dataset:');
print($outpoint, 'Output point:')