STK++ 0.9.13
STK_MixtureAlgo.h
Go to the documentation of this file.
1/*--------------------------------------------------------------------*/
2/* Copyright (C) 2004-2016 Serge Iovleff, Université Lille 1, Inria
3
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU Lesser General Public License as
6 published by the Free Software Foundation; either version 2 of the
7 License, or (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with this program; if not, write to the
16 Free Software Foundation, Inc.,
17 59 Temple Place,
18 Suite 330,
19 Boston, MA 02111-1307
20 USA
21
22 Contact : S..._Dot_I..._At_stkpp_Dot_org (see copyright for ...)
23*/
24
25/*
26 * Project: stkpp::Clustering
27 * created on: 16 oct. 2012
28 * Author: iovleff, S..._Dot_I..._At_stkpp_Dot_org (see copyright for ...)
29 **/
30
35#ifndef STK_MIXTUREALGO_H
36#define STK_MIXTUREALGO_H
37
38#include "STK_IMixtureAlgo.h"
39
40namespace STK
41{
42
51class EMAlgo: public IMixtureAlgo
52{
53 public:
55 inline EMAlgo(): IMixtureAlgo() {}
58 inline EMAlgo( EMAlgo const& algo): IMixtureAlgo(algo) {}
60 inline virtual ~EMAlgo(){}
62 inline virtual EMAlgo* clone() const { return new EMAlgo(*this);}
68 virtual bool run();
69};
70
80class CEMAlgo: public IMixtureAlgo
81{
82 public:
84 inline CEMAlgo(): IMixtureAlgo() {}
87 inline CEMAlgo( CEMAlgo const& algo): IMixtureAlgo(algo) {}
89 inline virtual ~CEMAlgo(){}
91 inline virtual CEMAlgo* clone() const { return new CEMAlgo(*this);}
97 virtual bool run();
98};
99
112{
113 public:
115 inline SEMAlgo(): IMixtureAlgo() {}
118 inline SEMAlgo( SEMAlgo const& algo): IMixtureAlgo(algo) {}
120 inline virtual ~SEMAlgo(){}
122 inline virtual SEMAlgo* clone() const { return new SEMAlgo(*this);}
127 virtual bool run();
128};
129
141{
142 public:
149 inline virtual ~SemiSEMAlgo(){}
151 inline virtual SemiSEMAlgo* clone() const { return new SemiSEMAlgo(*this);}
156 virtual bool run();
157};
158
159} // namespace STK
160
161#endif /* STK_MIXTUREALGO_H */
In this file we define the interface base class for mixture algorithms.
Implementation of the SEM algorithm.
virtual bool run()
run the algorithm on the model calling cStep, mStep and eStep of the model until the maximal number o...
virtual ~CEMAlgo()
destructor
CEMAlgo()
default constructor
CEMAlgo(CEMAlgo const &algo)
Copy constructor.
virtual CEMAlgo * clone() const
clone pattern
Implementation of the EM algorithm.
virtual EMAlgo * clone() const
clone pattern
virtual bool run()
run the algorithm on the model calling the eStep and mStep of the model until the maximal number of i...
EMAlgo(EMAlgo const &algo)
Copy constructor.
EMAlgo()
default constructor
virtual ~EMAlgo()
destructor
Interface base class for the algorithms.
The MultidimRegression class allows to regress a multidimensional output variable among a multivariat...
Implementation of the SEM algorithm.
virtual SEMAlgo * clone() const
clone pattern
virtual bool run()
run the algorithm on the model calling sStep, mStep and eStep of the model until the maximal number o...
SEMAlgo()
default constructor
virtual ~SEMAlgo()
destructor
SEMAlgo(SEMAlgo const &algo)
Copy constructor.
Implementation of the SemiSEM algorithm.
SemiSEMAlgo()
default constructor
SemiSEMAlgo(SemiSEMAlgo const &algo)
Copy constructor.
virtual ~SemiSEMAlgo()
destructor
virtual bool run()
run the algorithm on the model calling sStep, mStep and eStep of the model until the maximal number o...
virtual SemiSEMAlgo * clone() const
clone pattern
The namespace STK is the main domain space of the Statistical ToolKit project.