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
const KernelType & Kernel() const
Get the kernel.
Definition: kernel_pca.hpp:112
Include all of the base components required to write MLPACK methods, and the main MLPACK Doxygen docu...
bool CenterTransformedData() const
Return whether or not the transformed data is centered.
Definition: kernel_pca.hpp:117
This class performs kernel principal components analysis (Kernel PCA), for a given kernel...
Definition: kernel_pca.hpp:42