mlpack 3.4.2
Loading...
Searching...
No Matches
kernel_pca.hpp
Go to the documentation of this file.
1
14#ifndef MLPACK_METHODS_KERNEL_PCA_KERNEL_PCA_HPP
15#define MLPACK_METHODS_KERNEL_PCA_KERNEL_PCA_HPP
16
17#include <mlpack/prereqs.hpp>
19
20namespace mlpack {
21namespace kpca {
22
36template <
37 typename KernelType,
38 typename KernelRule = NaiveKernelRule<KernelType>
39>
41{
42 public:
52 KernelPCA(const KernelType kernel = KernelType(),
53 const bool centerTransformedData = false);
54
64 void Apply(const arma::mat& data,
65 arma::mat& transformedData,
66 arma::vec& eigval,
67 arma::mat& eigvec,
68 const size_t newDimension);
69
78 void Apply(const arma::mat& data,
79 arma::mat& transformedData,
80 arma::vec& eigval,
81 arma::mat& eigvec);
82
90 void Apply(const arma::mat& data,
91 arma::mat& transformedData,
92 arma::vec& eigval);
93
107 void Apply(arma::mat& data, const size_t newDimension);
108
110 const KernelType& Kernel() const { return kernel; }
112 KernelType& Kernel() { return kernel; }
113
115 bool CenterTransformedData() const { return centerTransformedData; }
117 bool& CenterTransformedData() { return centerTransformedData; }
118
119 private:
121 KernelType kernel;
124 bool centerTransformedData;
125}; // class KernelPCA
126
127} // namespace kpca
128} // namespace mlpack
129
130// Include implementation.
131#include "kernel_pca_impl.hpp"
132
133#endif // MLPACK_METHODS_KERNEL_PCA_KERNEL_PCA_HPP
This class performs kernel principal components analysis (Kernel PCA), for a given kernel.
Definition: kernel_pca.hpp:41
KernelType & Kernel()
Modify the kernel.
Definition: kernel_pca.hpp:112
bool & CenterTransformedData()
Return whether or not the transformed data is centered.
Definition: kernel_pca.hpp:117
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.
const KernelType & Kernel() const
Get the kernel.
Definition: kernel_pca.hpp:110
bool CenterTransformedData() const
Return whether or not the transformed data is centered.
Definition: kernel_pca.hpp:115
void Apply(const arma::mat &data, arma::mat &transformedData, arma::vec &eigval, arma::mat &eigvec)
Apply Kernel Principal Components Analysis to the provided data set.
KernelPCA(const KernelType kernel=KernelType(), const bool centerTransformedData=false)
Construct the KernelPCA object, optionally passing a kernel.
void Apply(const arma::mat &data, arma::mat &transformedData, arma::vec &eigval)
Apply Kernel Principal Component Analysis to the provided data set.
void Apply(arma::mat &data, const size_t newDimension)
Apply dimensionality reduction using Kernel Principal Component Analysis to the provided data set.
Linear algebra utility functions, generally performed on matrices or vectors.
The core includes that mlpack expects; standard C++ includes and Armadillo.