36 #ifndef MIXTURE_OF_PPCA_H 37 #define MIXTURE_OF_PPCA_H 58 void init(
const std::list<int>& selectedIndividuals,
double initialPi,
59 const AimsData<T>& individuals,
double noiseRef = 1. ) ;
65 const std::vector<double>&
mean()
const ;
81 static double * _exp ;
84 void doIt(
const AimsData<T>& individuals,
int totalNbOfIndividuals,
double noiseRef = 1. ) ;
86 bool _useOnlyCorrIndiv ;
87 int _significantNumberOfVp ;
100 double _sumDiff2Rni ;
112 MixtureOfPPCA(
int nbOfClasses,
int significantNumberOfVp,
int maxNbOfIterations,
113 const AimsData<T>& individuals,
const std::vector< Point3d > indPosVector,
114 const std::vector< std::list <int> >& initialClasses,
115 const std::string & fileOut,
int runNb,
int iterationToUseOnlyCorrelatedIndiv =
false ) ;
121 double pTnComputation() ;
122 bool distMatrixComputation() ;
124 double distComputation() ;
125 bool classesVisualisation(
int nbOfIterations,
const std::string & fileOut,
bool theEnd ) ;
130 int _significantNumberOfEigenValues ;
131 int _maxNbOfIterations ;
133 const std::vector<Point3d> _indPosVector ;
134 const std::string _fileOut ;
137 std::vector< PpcaAnalyserElement > _elements ;
139 std::vector<double> _sigma2init ;
140 std::vector< std::list< int > > _finalClasses ;
143 std::list< int > _nullPtnIndiv ;
144 double _logLikelihood ;
147 int _itToUseOnlyCorrelatedIndiv ;
const AimsData< double > & getMean()
double getSumDiff2Rni() const
double newStep2(AimsData< double > pTn, const AimsData< T > &indivMatrix, double noiseRef=1.)
void init(const std::list< int > &selectedIndividuals, double initialPi, const AimsData< T > &individuals, double noiseRef=1.)
bool newStep1(const AimsData< T > &indivMatrix, bool useOnlyCorrIndiv)
const AimsData< double > & getInvCi()
const std::vector< double > & mean() const
PpcaAnalyserElement(int significantNumberOfVp, bool useOnlyCorrIndiv=false)
const AimsData< double > & getRn()
const AimsData< double > & getPtni()
const AimsData< double > & getDist()