36#ifndef STK_MIXTURECOMPOSERFACADE_H
37#define STK_MIXTURECOMPOSERFACADE_H
56template<
class DataHandler_>
160 template<
class Array>
169 template<
class Array,
class RowVector>
174 template<
class RowVector>
189template<
class DataHandler_>
194template<
class DataHandler_>
199template<
class DataHandler_>
204template<
class DataHandler_>
209template<
class DataHandler_>
211{
if (p_composer_)
delete p_composer_; p_composer_ = 0;}
214template<
class DataHandler_>
217 p_composer_->createMixture(diagGaussianManager_);
218 p_composer_->createMixture(poissonManager_);
219 p_composer_->createMixture(gammaManager_);
220 p_composer_->createMixture(categoricalManager_);
221 p_composer_->createMixture(kmmManager_);
225template<
class DataHandler_>
230 if(!handler_.getIdModelName(idData,
idModel)) {
return false;}
244 getDiagGaussianParameters( idData, param);
248 getPoissonParameters( idData, param);
252 getGammaParameters( idData, param);
256 getCategoricalParameters( idData, param);
260 getKmmParameters( idData, param);
274template<
class DataHandler_>
279 if(!handler_.getIdModelName(idData,
idModel)) {
return false;}
292 setDiagGaussianParameters( idData, param);
296 setPoissonParameters( idData, param);
300 setGammaParameters( idData, param);
304 setCategoricalParameters( idData, param);
308 setKmmParameters( idData, param);
321template<
class DataHandler_>
323{ p_composer_->getParameters(diagGaussianManager_,idData, param);}
325template<
class DataHandler_>
327{ p_composer_->getParameters(poissonManager_,idData, param);}
329template<
class DataHandler_>
331{ p_composer_->getParameters(gammaManager_,idData, param);}
333template<
class DataHandler_>
335{ p_composer_->getParameters(categoricalManager_,idData, param);}
337template<
class DataHandler_>
339{ p_composer_->getParameters(kmmManager_,idData, param);}
344template<
class DataHandler_>
346{ p_composer_->setParameters(diagGaussianManager_,idData, param);}
348template<
class DataHandler_>
350{ p_composer_->setParameters(poissonManager_,idData, param);}
352template<
class DataHandler_>
354{ p_composer_->setParameters(gammaManager_,idData, param);}
356template<
class DataHandler_>
358{ p_composer_->setParameters(categoricalManager_,idData, param);}
360template<
class DataHandler_>
362{ p_composer_->setParameters(kmmManager_,idData, param);}
364template<
class DataHandler_>
367{ p_composer_->setMixtureParameters(tik);}
369template<
class DataHandler_>
370template<
class Array,
class RowVector>
372{ p_composer_->setMixtureParameters(tik, pk);}
374template<
class DataHandler_>
375template<
class RowVector>
377{ p_composer_->setProportions(pk);}
In this file we define the CategoricalMixtureManager class.
In this file we define the DiagGaussianMixtureManager class.
In this file we define the GammaMixtureManager class.
In this file we define the KernelMixtureManager class.
In this file we define the class MixtureComposer.
In this file we define the MixtureSemiLearner class for semi-supervised learning models.
In this file we define the PoissonMixtureManager class.
Base class for Mixture (composed) model.
implementation of the DataHandlerBase class for kernel mixture models.
A mixture manager is a factory class for injection dependency in the STK++ derived class of the Mixtu...
The MixtureComposerFacade allows to interact with a composer for estimating a mixture model with less...
void setDiagGaussianParameters(std::string const &idData, ArrayXX const ¶m)
set diagonal Gaussian parameters
void getKmmParameters(std::string const &idData, ArrayXX ¶m)
get Kernel Mixture Model parameters
KernelMixtureManager const & kmmManager() const
Kernel Mixture Manager.
DataHandler_ const & handler() const
void setProportions(RowVector const &pk)
Set proportions of each classes.
IMixtureComposer * p_composer_
pointer on the main p_composer
DiagGaussianMixtureManager< DataHandler_ > const & diagGaussianManager() const
void createMixtureComposerFixedProp(int nbCluster)
create a MixtureComposerFixedProp @nbCluster number of cluster
void createMixtureSemiLearner(int nbCluster)
create a MixtureSemiLearner @nbCluster number of cluster
KernelHandler kerHandler_
handler for kernel mixture models
CategoricalMixtureManager< DataHandler_ > const & categoricalManager() const
categorical mixture models manager
PoissonMixtureManager< DataHandler_ > const & poissonManager() const
GammaMixtureManager< DataHandler_ > const & gammaManager() const
gamma mixture models manager
void getGammaParameters(std::string const &idData, ArrayXX ¶m)
get gamma parameters
void getPoissonParameters(std::string const &idData, ArrayXX ¶m)
get Poisson parameters
void createMixtureSemiLearnerFixedProp(int nbCluster)
create a MixtureSemiLearnerFixedProp @nbCluster number of cluster
DataHandler_ handler_
data handler for model based mixture models
void getCategoricalParameters(std::string const &idData, ArrayXX ¶m)
get categorical parameters
MixtureComposerFacade(IMixtureComposer *p_composer=0)
constructor.
void setKmmParameters(std::string const &idData, ArrayXX const ¶m)
set Kernel Mixture Model parameters
void deleteComposer()
delete composer
bool getParameters(std::string const &idData, ArrayXX ¶m)
get parameters
DiagGaussianMixtureManager< DataHandler_ > diagGaussianManager_
diagonal Gaussian mixture models manager
PoissonMixtureManager< DataHandler_ > poissonManager_
Poisson mixture models manager.
void getDiagGaussianParameters(std::string const &idData, ArrayXX ¶m)
get diagonal Gaussian parameters
void setPoissonParameters(std::string const &idData, ArrayXX const ¶m)
set Poisson parameters
bool setParameters(std::string const &idData, ArrayXX const ¶m)
set parameters of a component
GammaMixtureManager< DataHandler_ > gammaManager_
gamma mixture models manager
void setCategoricalParameters(std::string const &idData, ArrayXX const ¶m)
set categorical parameters
~MixtureComposerFacade()
destructor.
DataHandler_ const & kerHandler() const
KernelMixtureManager kmmManager_
Kernel Mixture Manager.
void createMixtures()
create all mixtures
void setMixtureParameters(Array const &tik)
set the mixture parameters using an array of posterior probabilities.
void setGammaParameters(std::string const &idData, ArrayXX const ¶m)
set gamma parameters
CategoricalMixtureManager< DataHandler_ > categoricalManager_
categorical mixture models manager
void createMixtureComposer(int nbCluster)
create a MixtureComposer @nbCluster number of cluster
IMixtureComposer *const & p_composer() const
specialization of the composer for the fixed proportion case.
Main class for handling composed mixture models.
specialization of the composer for the fixed proportion case.
Base class for Learning a Mixture mixed model when some classes are known.
The MultidimRegression class allows to regress a multidimensional output variable among a multivariat...
MixtureClass mixtureToMixtureClass(Mixture const &type)
convert a Mixture to a MixtureClass.
Mixture stringToMixture(String const &type)
Convert a String to a Mixture.
Mixture
list of the mixtures that can be used by the composer
std::basic_string< Char > String
STK fundamental type of a String.
The namespace STK is the main domain space of the Statistical ToolKit project.