|
STK++ 1.0
|
The project Reduct propose a set of classes for computing dimension Reduction (or feature extraction) of a data set. More...
Classes | |
| class | STK::IReduct |
| A IReduct is an interface base class for dimension reduction techniques. More... | |
| class | STK::LocalVariance |
A LocalVariance is an implementation of the abstract ILinearReduct class. More... | |
| class | STK::ProjectedVariance |
A ProjectedVariance is an implementation of the abstract ILinearReduct class. More... | |
Enumerations | |
| enum | STK::Reduct::TypeReduction { STK::Reduct::unknown_ = 0, STK::Reduct::localVariance_, STK::Reduct::variance_, STK::Reduct::mds_ } |
dimension reduction we can apply to the original data set. More... | |
Functions | |
| TypeReduction | STK::Reduct::StringToTypeReduction (String const &type) |
| convert a String to a TypeReduction. | |
| String | STK::Reduct::TypeReductionToString (TypeReduction const &type) |
| convert a TypeReduction to a String. | |
The project Reduct propose a set of classes for computing dimension Reduction (or feature extraction) of a data set.
Feature extraction transforms the data in the high-dimensional space to a space of fewer dimensions. The data transformation may be linear, as in principal component analysis (PCA), but many nonlinear dimensionality reduction techniques also exist.
The main linear technique for dimensionality reduction, principal component analysis, performs a linear mapping of the data to a lower dimensional space in such a way that the variance of the data in the low-dimensional representation is maximized.
If the data is non-linear it is possible to unfold the underlying support of the data set using the local variance which try to preserve the neighborhood variations of the original data set.
An alternative approach to neighborhood preservation is through the minimization of a cost function that measures differences between distances in the input and output spaces. Important examples of such techniques include classical multidimensional scaling (which is identical to PCA in somme cases), Isomap (which uses geodesic distances in the data space), diffusion maps (which uses diffusion distances in the data space), t-SNE (which minimizes the divergence between distributions over pairs of points), and curvilinear component analysis.
dimension reduction we can apply to the original data set.
| unknown_ |
unknown reduction |
| localVariance_ |
total projected variance (pca) |
| variance_ |
multidimensional scaling |
| mds_ |
Definition at line 53 of file STK_Reduct_Util.h.
{
unknown_ =0
, localVariance_
, variance_
, mds_
};
| TypeReduction STK::Reduct::StringToTypeReduction | ( | String const & | type | ) |
convert a String to a TypeReduction.
| type | the String we want to convert |
type. if the string does not match any known name, the unknown_ type is returned. Definition at line 52 of file STK_Reduct_Util.cpp.
References _T, STK::Reduct::localVariance_, STK::Reduct::mds_, STK::toUpperString(), STK::Reduct::unknown_, and STK::Reduct::variance_.
{
if (toUpperString(type) == toUpperString(_T("variance"))) return variance_;
if (toUpperString(type) == toUpperString(_T("localVariance"))) return localVariance_;
if (toUpperString(type) == toUpperString(_T("mds"))) return mds_;
return unknown_;
}
| String STK::Reduct::TypeReductionToString | ( | TypeReduction const & | type | ) |
convert a TypeReduction to a String.
| type | the type of reduction we want to convert |
Definition at line 64 of file STK_Reduct_Util.cpp.
References _T, STK::Reduct::localVariance_, STK::Reduct::mds_, and STK::Reduct::variance_.