12345678910111213141516171819202122232425262728293031 |
- #ifndef PCA_H
- #define PCA_H
- #include "Eigen"
- #include <QVector>
- class PCA
- {
- public:
- PCA(const QVector<QVector<double>> &source, double thd = 0.85);
- void compute();
- QVector<double> weights() const;
- QVector<double> scores() const;
- private:
- Eigen::MatrixXd X;
- Eigen::MatrixXd C;
- Eigen::MatrixXd reduced_;
- double variance_remain_;
- int rows_;
- int cols_;
- Eigen::MatrixXd contribution_rate_;
- Eigen::MatrixXd scores_;
- Eigen::MatrixXd weights_;
- };
- #endif
|