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 atransform, using PCA for dimensionality reduction. (default:2).@whiten[int]: Perform whitening on the output of PCA. (default:0).0: Off1: 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:')