14 #ifndef MLPACK_METHODS_PCA_DECOMPOSITION_POLICIES_QUIC_SVD_METHOD_HPP 15 #define MLPACK_METHODS_PCA_DECOMPOSITION_POLICIES_QUIC_SVD_METHOD_HPP 53 void Apply(
const arma::mat& data,
54 const arma::mat& centeredData,
55 arma::mat& transformedData,
64 svd::QUIC_SVD quicsvd(centeredData, eigvec, v, sigma, epsilon, delta);
69 eigVal = arma::pow(arma::diagvec(sigma), 2) / (data.n_cols - 1);
72 transformedData = arma::trans(eigvec) * centeredData;
76 double Epsilon()
const {
return epsilon; }
81 double Delta()
const {
return delta; }
83 double&
Delta() {
return delta; }
double & Epsilon()
Modify the error tolerance fraction for calculated subspace.
void Apply(const arma::mat &data, const arma::mat ¢eredData, arma::mat &transformedData, arma::vec &eigVal, arma::mat &eigvec, const size_t)
Apply Principal Component Analysis to the provided data set using the QUIC-SVD method.
Linear algebra utility functions, generally performed on matrices or vectors.
The core includes that mlpack expects; standard C++ includes and Armadillo.
double Epsilon() const
Get the error tolerance fraction for calculated subspace.
QUICSVDPolicy(const double epsilon=0.03, const double delta=0.1)
Use QUIC-SVD method to perform the principal components analysis (PCA).
double & Delta()
Modify the cumulative probability for Monte Carlo error lower bound.
double Delta() const
Get the cumulative probability for Monte Carlo error lower bound.
QUIC-SVD is a matrix factorization technique, which operates in a subspace such that A's approximatio...
Implementation of the QUIC-SVD policy.