mlpack  2.0.1
kernel_pca.hpp
Go to the documentation of this file.
1 
16 #ifndef __MLPACK_METHODS_KERNEL_PCA_KERNEL_PCA_HPP
17 #define __MLPACK_METHODS_KERNEL_PCA_KERNEL_PCA_HPP
18 
19 #include <mlpack/core.hpp>
21 
22 namespace mlpack {
23 namespace kpca {
24 
38 template <
39  typename KernelType,
40  typename KernelRule = NaiveKernelRule<KernelType>
41 >
42 class KernelPCA
43 {
44  public:
54  KernelPCA(const KernelType kernel = KernelType(),
55  const bool centerTransformedData = false);
56 
66  void Apply(const arma::mat& data,
67  arma::mat& transformedData,
68  arma::vec& eigval,
69  arma::mat& eigvec,
70  const size_t newDimension);
71 
80  void Apply(const arma::mat& data,
81  arma::mat& transformedData,
82  arma::vec& eigval,
83  arma::mat& eigvec);
84 
92  void Apply(const arma::mat& data,
93  arma::mat& transformedData,
94  arma::vec& eigval);
95 
109  void Apply(arma::mat& data, const size_t newDimension);
110 
112  const KernelType& Kernel() const { return kernel; }
114  KernelType& Kernel() { return kernel; }
115 
120 
121  private:
123  KernelType kernel;
127 
128 }; // class KernelPCA
129 
130 } // namespace kpca
131 } // namespace mlpack
132 
133 // Include implementation.
134 #include "kernel_pca_impl.hpp"
135 
136 #endif // __MLPACK_METHODS_KERNEL_PCA_KERNEL_PCA_HPP
KernelType kernel
The instantiated kernel.
Definition: kernel_pca.hpp:123
KernelPCA(const KernelType kernel=KernelType(), const bool centerTransformedData=false)
Construct the KernelPCA object, optionally passing a kernel.
Linear algebra utility functions, generally performed on matrices or vectors.
bool & CenterTransformedData()
Return whether or not the transformed data is centered.
Definition: kernel_pca.hpp:119
void Apply(const arma::mat &data, arma::mat &transformedData, arma::vec &eigval, arma::mat &eigvec, const size_t newDimension)
Apply Kernel Principal Components Analysis to the provided data set.
bool centerTransformedData
If true, the data will be scaled (by standard deviation) when Apply() is run.
Definition: kernel_pca.hpp:126
KernelType & Kernel()
Modify the kernel.
Definition: kernel_pca.hpp:114
Include all of the base components required to write MLPACK methods, and the main MLPACK Doxygen docu...
const KernelType & Kernel() const
Get the kernel.
Definition: kernel_pca.hpp:112
This class performs kernel principal components analysis (Kernel PCA), for a given kernel...
Definition: kernel_pca.hpp:42
bool CenterTransformedData() const
Return whether or not the transformed data is centered.
Definition: kernel_pca.hpp:117