111 #ifdef UNUSED // detected as unused 29.6.2018 114 void setIdentity(
int n);
121 #ifdef UNUSED // detected as unused 29.6.2018 126 void prepare_for_correlation();
144 if (eigenvec.size() > 1)
145 return eigenvec[0].size();
150 #ifdef UNUSED // detected as unused 29.6.2018 154 int Dimension_for_variance(
double th_var);
170 listener = _listener;
191 std::vector<PCAAnalyzer>
PCA;
193 #ifdef UNUSED // detected as unused 29.6.2018 196 int create_empty_PCA(
int n = 1);
251 #ifdef UNUSED // detected as unused 29.6.2018 262 eigenvectors.
getCol(j, result);
270 double mean_proj = sum_proj(j) /
n;
271 return sum_proj2(j) / n - mean_proj*mean_proj;
long n
Current number of samples seen.
Matrix1D< double > sum_all_samples
void set_Dimension(int _D)
PCAAnalyzer(ClassicTrainingVectors const &ts, std::vector< unsigned > const &idx)
double get_eigenvector_variance(int j) const
Get the variance associated to a certain eigenvector.
int J
Total number of eigenvectors to be computed.
std::vector< double > avg_ei
Matrix1D< double > sum_proj
void get_eigenvector(int j, Matrix1D< double > &result) const
Get a certain eigenvector.
int get_eigenDimension() const
std::vector< PCAAnalyzer > PCA
void setListener(BaseListener *_listener)
std::vector< double > prod_ei_mean
Matrix2D< double > eigenvectors
const PCAAnalyzer * operator()(int i) const
void reset(ClassicTrainingVectors const &ts)
basic_istream< char, std::char_traits< char > > istream
PCAAnalyzer(ClassicTrainingVectors const &ts)
Matrix1D< double > sum_proj2
void getCol(size_t j, Matrix1D< T > &v) const
friend std::ostream & operator<<(std::ostream &out, const PCAAnalyzer &PC)
int get_Dimension() const
int d
Dimension of the sample vectors.
std::vector< double > prod_ei_ei
friend std::istream & operator>>(std::istream &in, PCAAnalyzer &PC)
std::vector< floatFeature > FeatureVector
Matrix1D< double > current_sample_mean
Current estimate of the population mean.
std::vector< FeatureVector > eigenvec