STK++ 0.9.13
STK::MixtureComposerFacade< DataHandler_ > Class Template Reference

The MixtureComposerFacade allows to interact with a composer for estimating a mixture model with less effort. More...

#include <STK_MixtureComposerFacade.h>

Public Member Functions

 MixtureComposerFacade (IMixtureComposer *p_composer=0)
 constructor.
 
 ~MixtureComposerFacade ()
 destructor.
 
IMixtureComposer *constp_composer () const
 
DataHandler_ consthandler () const
 
DataHandler_ constkerHandler () const
 
DiagGaussianMixtureManager< DataHandler_ > constdiagGaussianManager () const
 
PoissonMixtureManager< DataHandler_ > constpoissonManager () const
 
GammaMixtureManager< DataHandler_ > constgammaManager () const
 gamma mixture models manager
 
CategoricalMixtureManager< DataHandler_ > constcategoricalManager () const
 categorical mixture models manager
 
KernelMixtureManager constkmmManager () const
 Kernel Mixture Manager.
 
bool setParameters (std::string const &idData, ArrayXX const &param)
 set parameters of a component
 
void setDiagGaussianParameters (std::string const &idData, ArrayXX const &param)
 set diagonal Gaussian parameters
 
void setPoissonParameters (std::string const &idData, ArrayXX const &param)
 set Poisson parameters
 
void setGammaParameters (std::string const &idData, ArrayXX const &param)
 set gamma parameters
 
void setCategoricalParameters (std::string const &idData, ArrayXX const &param)
 set categorical parameters
 
void setKmmParameters (std::string const &idData, ArrayXX const &param)
 set Kernel Mixture Model parameters
 
bool getParameters (std::string const &idData, ArrayXX &param)
 get parameters
 
void getDiagGaussianParameters (std::string const &idData, ArrayXX &param)
 get diagonal Gaussian parameters
 
void getPoissonParameters (std::string const &idData, ArrayXX &param)
 get Poisson parameters
 
void getGammaParameters (std::string const &idData, ArrayXX &param)
 get gamma parameters
 
void getCategoricalParameters (std::string const &idData, ArrayXX &param)
 get categorical parameters
 
void getKmmParameters (std::string const &idData, ArrayXX &param)
 get Kernel Mixture Model parameters
 
void createMixtureComposer (int nbCluster)
 create a MixtureComposer @nbCluster number of cluster
 
void createMixtureComposerFixedProp (int nbCluster)
 create a MixtureComposerFixedProp @nbCluster number of cluster
 
void createMixtureSemiLearner (int nbCluster)
 create a MixtureSemiLearner @nbCluster number of cluster
 
void createMixtureSemiLearnerFixedProp (int nbCluster)
 create a MixtureSemiLearnerFixedProp @nbCluster number of cluster
 
void deleteComposer ()
 delete composer
 
void createMixtures ()
 create all mixtures
 
template<class Array >
void setMixtureParameters (Array const &tik)
 set the mixture parameters using an array of posterior probabilities.
 
template<class Array , class RowVector >
void setMixtureParameters (Array const &tik, RowVector const &pk)
 set the mixture parameters giving the posterior probabilities and the proportions.
 
template<class RowVector >
void setProportions (RowVector const &pk)
 Set proportions of each classes.
 

Public Attributes

IMixtureComposerp_composer_
 pointer on the main p_composer
 
DataHandler_ handler_
 data handler for model based mixture models
 
KernelHandler kerHandler_
 handler for kernel mixture models
 
KernelMixtureManager kmmManager_
 Kernel Mixture Manager.
 

Protected Attributes

DiagGaussianMixtureManager< DataHandler_ > diagGaussianManager_
 diagonal Gaussian mixture models manager
 
PoissonMixtureManager< DataHandler_ > poissonManager_
 Poisson mixture models manager.
 
GammaMixtureManager< DataHandler_ > gammaManager_
 gamma mixture models manager
 
CategoricalMixtureManager< DataHandler_ > categoricalManager_
 categorical mixture models manager
 

Detailed Description

template<class DataHandler_>
class STK::MixtureComposerFacade< DataHandler_ >

The MixtureComposerFacade allows to interact with a composer for estimating a mixture model with less effort.

This class stores also publicly an instance of a DataHandler and a KernelHandler.

Definition at line 57 of file STK_MixtureComposerFacade.h.

Constructor & Destructor Documentation

◆ MixtureComposerFacade()

template<class DataHandler_ >
STK::MixtureComposerFacade< DataHandler_ >::MixtureComposerFacade ( IMixtureComposer p_composer = 0)
inline

constructor.

Parameters
p_composerp_composer to use

Definition at line 72 of file STK_MixtureComposerFacade.h.

74 , handler_()
75 , kerHandler_()
81 {}
IMixtureComposer * p_composer_
pointer on the main p_composer
KernelHandler kerHandler_
handler for kernel mixture models
DataHandler_ handler_
data handler for model based mixture models
DiagGaussianMixtureManager< DataHandler_ > diagGaussianManager_
diagonal Gaussian mixture models manager
PoissonMixtureManager< DataHandler_ > poissonManager_
Poisson mixture models manager.
GammaMixtureManager< DataHandler_ > gammaManager_
gamma mixture models manager
KernelMixtureManager kmmManager_
Kernel Mixture Manager.
CategoricalMixtureManager< DataHandler_ > categoricalManager_
categorical mixture models manager
IMixtureComposer *const & p_composer() const

◆ ~MixtureComposerFacade()

template<class DataHandler_ >
STK::MixtureComposerFacade< DataHandler_ >::~MixtureComposerFacade ( )
inline

destructor.

Definition at line 83 of file STK_MixtureComposerFacade.h.

83{ if (p_composer_) delete p_composer_;}

References STK::MixtureComposerFacade< DataHandler_ >::p_composer_.

Member Function Documentation

◆ categoricalManager()

template<class DataHandler_ >
CategoricalMixtureManager< DataHandler_ > const & STK::MixtureComposerFacade< DataHandler_ >::categoricalManager ( ) const
inline

categorical mixture models manager

Definition at line 105 of file STK_MixtureComposerFacade.h.

106 { return categoricalManager_;}

References STK::MixtureComposerFacade< DataHandler_ >::categoricalManager_.

◆ createMixtureComposer()

template<class DataHandler_ >
void STK::MixtureComposerFacade< DataHandler_ >::createMixtureComposer ( int  nbCluster)

create a MixtureComposer @nbCluster number of cluster

Definition at line 190 of file STK_MixtureComposerFacade.h.

191{ p_composer_ = new MixtureComposer(handler().nbSample(), nbCluster) ;}
DataHandler_ const & handler() const

◆ createMixtureComposerFixedProp()

template<class DataHandler_ >
void STK::MixtureComposerFacade< DataHandler_ >::createMixtureComposerFixedProp ( int  nbCluster)

create a MixtureComposerFixedProp @nbCluster number of cluster

Definition at line 195 of file STK_MixtureComposerFacade.h.

196{ p_composer_ = new MixtureComposerFixedProp(handler().nbSample(), nbCluster) ;}

◆ createMixtures()

template<class DataHandler_ >
void STK::MixtureComposerFacade< DataHandler_ >::createMixtures ( )

create all mixtures

Definition at line 215 of file STK_MixtureComposerFacade.h.

216{
222}
void createMixture(IMixtureManager< Manager > &manager)
Utility method allowing to create all the mixtures registered in the data handler of a mixture manage...

◆ createMixtureSemiLearner()

template<class DataHandler_ >
void STK::MixtureComposerFacade< DataHandler_ >::createMixtureSemiLearner ( int  nbCluster)

create a MixtureSemiLearner @nbCluster number of cluster

Definition at line 200 of file STK_MixtureComposerFacade.h.

201{ p_composer_ = new MixtureSemiLearner(handler().nbSample(), nbCluster) ;}

◆ createMixtureSemiLearnerFixedProp()

template<class DataHandler_ >
void STK::MixtureComposerFacade< DataHandler_ >::createMixtureSemiLearnerFixedProp ( int  nbCluster)

create a MixtureSemiLearnerFixedProp @nbCluster number of cluster

Definition at line 205 of file STK_MixtureComposerFacade.h.

206{ p_composer_ = new MixtureSemiLearnerFixedProp(handler().nbSample(), nbCluster) ;}

◆ deleteComposer()

template<class DataHandler_ >
void STK::MixtureComposerFacade< DataHandler_ >::deleteComposer ( )

delete composer

Definition at line 210 of file STK_MixtureComposerFacade.h.

211{ if (p_composer_) delete p_composer_; p_composer_ = 0;}

◆ diagGaussianManager()

template<class DataHandler_ >
DiagGaussianMixtureManager< DataHandler_ > const & STK::MixtureComposerFacade< DataHandler_ >::diagGaussianManager ( ) const
inline
Returns
DiagGaussian mixtures manager

Definition at line 96 of file STK_MixtureComposerFacade.h.

97 { return diagGaussianManager_;}

References STK::MixtureComposerFacade< DataHandler_ >::diagGaussianManager_.

◆ gammaManager()

template<class DataHandler_ >
GammaMixtureManager< DataHandler_ > const & STK::MixtureComposerFacade< DataHandler_ >::gammaManager ( ) const
inline

gamma mixture models manager

Definition at line 102 of file STK_MixtureComposerFacade.h.

103 { return gammaManager_;}

References STK::MixtureComposerFacade< DataHandler_ >::gammaManager_.

◆ getCategoricalParameters()

template<class DataHandler_ >
void STK::MixtureComposerFacade< DataHandler_ >::getCategoricalParameters ( std::string const idData,
ArrayXX param 
)

get categorical parameters

Definition at line 334 of file STK_MixtureComposerFacade.h.

void getParameters(IMixtureManager< Manager > const &manager, String const &idData, Parameters &param) const
Utility method allowing to get the parameters of a specific mixture.

◆ getDiagGaussianParameters()

template<class DataHandler_ >
void STK::MixtureComposerFacade< DataHandler_ >::getDiagGaussianParameters ( std::string const idData,
ArrayXX param 
)

get diagonal Gaussian parameters

Definition at line 322 of file STK_MixtureComposerFacade.h.

◆ getGammaParameters()

template<class DataHandler_ >
void STK::MixtureComposerFacade< DataHandler_ >::getGammaParameters ( std::string const idData,
ArrayXX param 
)

get gamma parameters

Definition at line 330 of file STK_MixtureComposerFacade.h.

331{ p_composer_->getParameters(gammaManager_,idData, param);}

◆ getKmmParameters()

template<class DataHandler_ >
void STK::MixtureComposerFacade< DataHandler_ >::getKmmParameters ( std::string const idData,
ArrayXX param 
)

get Kernel Mixture Model parameters

Definition at line 338 of file STK_MixtureComposerFacade.h.

339{ p_composer_->getParameters(kmmManager_,idData, param);}

◆ getParameters()

template<class DataHandler_ >
bool STK::MixtureComposerFacade< DataHandler_ >::getParameters ( std::string const idData,
ArrayXX param 
)

get parameters

Definition at line 226 of file STK_MixtureComposerFacade.h.

227{
228 // get idModel from idData
229 String idModel;
230 if(!handler_.getIdModelName(idData, idModel)) { return false;} // should not happened
231
232 // get mixture id
234 if (mix == Clust::unknown_mixture_)
235 {
236 bool prop;
237 mix = Clust::stringToMixture(idModel, prop);
238 }
239
240 // get mixture class (gamma, Gaussian, Poisson, etc.) and parameters for this class of mixture
241 switch (Clust::mixtureToMixtureClass(mix))
242 {
244 getDiagGaussianParameters( idData, param);
245 return true;
246 break;
247 case Clust::Poisson_:
248 getPoissonParameters( idData, param);
249 return true;
250 break;
251 case Clust::Gamma_:
252 getGammaParameters( idData, param);
253 return true;
254 break;
256 getCategoricalParameters( idData, param);
257 return true;
258 break;
259 case Clust::Kmm_:
260 getKmmParameters( idData, param);
261 return true;
262 break;
264 return false;
265 break;
266 default:
267 return false;
268 break;
269 }
270 return false; // avoid compiler warning
271}
void getKmmParameters(std::string const &idData, ArrayXX &param)
get Kernel Mixture Model parameters
void getGammaParameters(std::string const &idData, ArrayXX &param)
get gamma parameters
void getPoissonParameters(std::string const &idData, ArrayXX &param)
get Poisson parameters
void getCategoricalParameters(std::string const &idData, ArrayXX &param)
get categorical parameters
void getDiagGaussianParameters(std::string const &idData, ArrayXX &param)
get diagonal Gaussian parameters
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.

References STK::Clust::Categorical_, STK::Clust::DiagGaussian_, STK::Clust::Gamma_, STK::Clust::Kmm_, STK::Clust::mixtureToMixtureClass(), STK::Clust::Poisson_, STK::Clust::stringToMixture(), STK::Clust::unknown_mixture_, and STK::Clust::unknown_mixture_class_.

◆ getPoissonParameters()

template<class DataHandler_ >
void STK::MixtureComposerFacade< DataHandler_ >::getPoissonParameters ( std::string const idData,
ArrayXX param 
)

get Poisson parameters

Definition at line 326 of file STK_MixtureComposerFacade.h.

327{ p_composer_->getParameters(poissonManager_,idData, param);}

◆ handler()

template<class DataHandler_ >
DataHandler_ const & STK::MixtureComposerFacade< DataHandler_ >::handler ( ) const
inline
Returns
data handler

Definition at line 90 of file STK_MixtureComposerFacade.h.

91 { return handler_;}

References STK::MixtureComposerFacade< DataHandler_ >::handler_.

◆ kerHandler()

template<class DataHandler_ >
DataHandler_ const & STK::MixtureComposerFacade< DataHandler_ >::kerHandler ( ) const
inline
Returns
kernel handler

Definition at line 93 of file STK_MixtureComposerFacade.h.

94 { return kerHandler_;}

References STK::MixtureComposerFacade< DataHandler_ >::kerHandler_.

◆ kmmManager()

template<class DataHandler_ >
KernelMixtureManager const & STK::MixtureComposerFacade< DataHandler_ >::kmmManager ( ) const
inline

Kernel Mixture Manager.

Definition at line 108 of file STK_MixtureComposerFacade.h.

109 { return kmmManager_;}

References STK::MixtureComposerFacade< DataHandler_ >::kmmManager_.

◆ p_composer()

template<class DataHandler_ >
IMixtureComposer *const & STK::MixtureComposerFacade< DataHandler_ >::p_composer ( ) const
inline
Returns
pointer on the composer

Definition at line 87 of file STK_MixtureComposerFacade.h.

88 { return p_composer_;}

References STK::MixtureComposerFacade< DataHandler_ >::p_composer_.

◆ poissonManager()

template<class DataHandler_ >
PoissonMixtureManager< DataHandler_ > const & STK::MixtureComposerFacade< DataHandler_ >::poissonManager ( ) const
inline
Returns
Poisson mixture models manager

Definition at line 99 of file STK_MixtureComposerFacade.h.

100 { return poissonManager_;}

References STK::MixtureComposerFacade< DataHandler_ >::poissonManager_.

◆ setCategoricalParameters()

template<class DataHandler_ >
void STK::MixtureComposerFacade< DataHandler_ >::setCategoricalParameters ( std::string const idData,
ArrayXX const param 
)

set categorical parameters

Definition at line 357 of file STK_MixtureComposerFacade.h.

void setParameters(IMixtureManager< Manager > const &manager, String const &idData, Parameters const &param)
Utility method allowing to set the parameters to a specific mixture.

◆ setDiagGaussianParameters()

template<class DataHandler_ >
void STK::MixtureComposerFacade< DataHandler_ >::setDiagGaussianParameters ( std::string const idData,
ArrayXX const param 
)

set diagonal Gaussian parameters

Definition at line 345 of file STK_MixtureComposerFacade.h.

◆ setGammaParameters()

template<class DataHandler_ >
void STK::MixtureComposerFacade< DataHandler_ >::setGammaParameters ( std::string const idData,
ArrayXX const param 
)

set gamma parameters

Definition at line 353 of file STK_MixtureComposerFacade.h.

354{ p_composer_->setParameters(gammaManager_,idData, param);}

◆ setKmmParameters()

template<class DataHandler_ >
void STK::MixtureComposerFacade< DataHandler_ >::setKmmParameters ( std::string const idData,
ArrayXX const param 
)

set Kernel Mixture Model parameters

Definition at line 361 of file STK_MixtureComposerFacade.h.

362{ p_composer_->setParameters(kmmManager_,idData, param);}

◆ setMixtureParameters() [1/2]

template<class DataHandler_ >
template<class Array >
void STK::MixtureComposerFacade< DataHandler_ >::setMixtureParameters ( Array const tik)

set the mixture parameters using an array of posterior probabilities.

Proportions, numbers in each class and class labels are computed using these posterior probabilities.

Parameters
tikposterior class probabilities

Definition at line 366 of file STK_MixtureComposerFacade.h.

void setMixtureParameters(Array const &tik)
set the mixture parameters using an array of posterior probabilities.

◆ setMixtureParameters() [2/2]

template<class DataHandler_ >
template<class Array , class RowVector >
void STK::MixtureComposerFacade< DataHandler_ >::setMixtureParameters ( Array const tik,
RowVector const pk 
)

set the mixture parameters giving the posterior probabilities and the proportions.

Numbers in each class and class labels are computed using the posterior probabilities.

Parameters
tikposterior class probabilities
pkprior class proportion

Definition at line 371 of file STK_MixtureComposerFacade.h.

◆ setParameters()

template<class DataHandler_ >
bool STK::MixtureComposerFacade< DataHandler_ >::setParameters ( std::string const idData,
ArrayXX const param 
)

set parameters of a component

Definition at line 275 of file STK_MixtureComposerFacade.h.

276{
277 // get idModel from idData
278 String idModel;
279 if(!handler_.getIdModelName(idData, idModel)) { return false;}
280 // get mixture id
282 if (mix == Clust::unknown_mixture_)
283 {
284 bool prop;
285 mix = Clust::stringToMixture(idModel, prop);
286 }
287
288 // get mixture class (gamma, Gaussian, Poisson, etc.) and parameters for this class of mixture
289 switch (Clust::mixtureToMixtureClass(mix))
290 {
292 setDiagGaussianParameters( idData, param);
293 return true;
294 break;
295 case Clust::Poisson_:
296 setPoissonParameters( idData, param);
297 return true;
298 break;
299 case Clust::Gamma_:
300 setGammaParameters( idData, param);
301 return true;
302 break;
304 setCategoricalParameters( idData, param);
305 return true;
306 break;
307 case Clust::Kmm_:
308 setKmmParameters( idData, param);
309 return true;
310 break;
312 return false;
313 break;
314 default:
315 return false;
316 break;
317 }
318 return true; // avoid compiler warning
319}
void setDiagGaussianParameters(std::string const &idData, ArrayXX const &param)
set diagonal Gaussian parameters
void setKmmParameters(std::string const &idData, ArrayXX const &param)
set Kernel Mixture Model parameters
void setPoissonParameters(std::string const &idData, ArrayXX const &param)
set Poisson parameters
void setCategoricalParameters(std::string const &idData, ArrayXX const &param)
set categorical parameters
void setGammaParameters(std::string const &idData, ArrayXX const &param)
set gamma parameters

References STK::Clust::Categorical_, STK::Clust::DiagGaussian_, STK::Clust::Gamma_, STK::Clust::Kmm_, STK::Clust::mixtureToMixtureClass(), STK::Clust::Poisson_, STK::Clust::stringToMixture(), STK::Clust::unknown_mixture_, and STK::Clust::unknown_mixture_class_.

◆ setPoissonParameters()

template<class DataHandler_ >
void STK::MixtureComposerFacade< DataHandler_ >::setPoissonParameters ( std::string const idData,
ArrayXX const param 
)

set Poisson parameters

Definition at line 349 of file STK_MixtureComposerFacade.h.

350{ p_composer_->setParameters(poissonManager_,idData, param);}

◆ setProportions()

template<class DataHandler_ >
template<class RowVector >
void STK::MixtureComposerFacade< DataHandler_ >::setProportions ( RowVector const pk)

Set proportions of each classes.

Parameters
pkprior class proportion

Definition at line 376 of file STK_MixtureComposerFacade.h.

void setProportions(RowVector const &pk)
Set proportions of each classes.

Member Data Documentation

◆ categoricalManager_

template<class DataHandler_ >
CategoricalMixtureManager<DataHandler_> STK::MixtureComposerFacade< DataHandler_ >::categoricalManager_
protected

categorical mixture models manager

Definition at line 185 of file STK_MixtureComposerFacade.h.

Referenced by STK::MixtureComposerFacade< DataHandler_ >::categoricalManager().

◆ diagGaussianManager_

template<class DataHandler_ >
DiagGaussianMixtureManager<DataHandler_> STK::MixtureComposerFacade< DataHandler_ >::diagGaussianManager_
protected

diagonal Gaussian mixture models manager

Definition at line 179 of file STK_MixtureComposerFacade.h.

Referenced by STK::MixtureComposerFacade< DataHandler_ >::diagGaussianManager().

◆ gammaManager_

template<class DataHandler_ >
GammaMixtureManager<DataHandler_> STK::MixtureComposerFacade< DataHandler_ >::gammaManager_
protected

gamma mixture models manager

Definition at line 183 of file STK_MixtureComposerFacade.h.

Referenced by STK::MixtureComposerFacade< DataHandler_ >::gammaManager().

◆ handler_

template<class DataHandler_ >
DataHandler_ STK::MixtureComposerFacade< DataHandler_ >::handler_

data handler for model based mixture models

Definition at line 63 of file STK_MixtureComposerFacade.h.

Referenced by STK::MixtureComposerFacade< DataHandler_ >::handler().

◆ kerHandler_

template<class DataHandler_ >
KernelHandler STK::MixtureComposerFacade< DataHandler_ >::kerHandler_

handler for kernel mixture models

Definition at line 65 of file STK_MixtureComposerFacade.h.

Referenced by STK::MixtureComposerFacade< DataHandler_ >::kerHandler().

◆ kmmManager_

template<class DataHandler_ >
KernelMixtureManager STK::MixtureComposerFacade< DataHandler_ >::kmmManager_

Kernel Mixture Manager.

Definition at line 67 of file STK_MixtureComposerFacade.h.

Referenced by STK::MixtureComposerFacade< DataHandler_ >::kmmManager().

◆ p_composer_

template<class DataHandler_ >
IMixtureComposer* STK::MixtureComposerFacade< DataHandler_ >::p_composer_

◆ poissonManager_

template<class DataHandler_ >
PoissonMixtureManager<DataHandler_> STK::MixtureComposerFacade< DataHandler_ >::poissonManager_
protected

Poisson mixture models manager.

Definition at line 181 of file STK_MixtureComposerFacade.h.

Referenced by STK::MixtureComposerFacade< DataHandler_ >::poissonManager().


The documentation for this class was generated from the following file: