![]() |
aGrUM
0.20.3
a C++ library for (probabilistic) graphical models
|
A dirichlet priori: computes its N'_ijk from a database. More...
#include <agrum/tools/database/aprioriDirichletFromDatabase.h>
Public Member Functions | |
Constructors / Destructors | |
AprioriDirichletFromDatabase (const DatabaseTable< ALLOC > &learning_db, const DBRowGeneratorParser< ALLOC > &apriori_parser, const Bijection< NodeId, std::size_t, ALLOC< std::size_t > > &nodeId2columns=Bijection< NodeId, std::size_t, ALLOC< std::size_t > >(), const allocator_type &alloc=allocator_type()) | |
default constructor More... | |
AprioriDirichletFromDatabase (const AprioriDirichletFromDatabase< ALLOC > &from) | |
copy constructor More... | |
AprioriDirichletFromDatabase (const AprioriDirichletFromDatabase< ALLOC > &from, const allocator_type &alloc) | |
copy constructor with a given allocator More... | |
AprioriDirichletFromDatabase (AprioriDirichletFromDatabase< ALLOC > &&from) | |
move constructor More... | |
AprioriDirichletFromDatabase (AprioriDirichletFromDatabase< ALLOC > &&from, const allocator_type &alloc) | |
move constructor with a given allocator More... | |
virtual AprioriDirichletFromDatabase< ALLOC > * | clone () const |
virtual copy constructor More... | |
virtual AprioriDirichletFromDatabase< ALLOC > * | clone (const allocator_type &alloc) const |
virtual copy constructor with a given allocator More... | |
virtual | ~AprioriDirichletFromDatabase () |
destructor More... | |
Operators | |
AprioriDirichletFromDatabase< ALLOC > & | operator= (const AprioriDirichletFromDatabase< ALLOC > &from) |
copy operator More... | |
AprioriDirichletFromDatabase< ALLOC > & | operator= (AprioriDirichletFromDatabase< ALLOC > &&from) |
move operator More... | |
Accessors / Modifiers | |
virtual bool | isOfType (const std::string &type) final |
indicates whether an apriori is of a certain type More... | |
virtual const std::string & | getType () const final |
returns the type of the apriori More... | |
virtual bool | isInformative () const final |
indicates whether the apriori is potentially informative More... | |
virtual void | setWeight (const double weight) final |
sets the weight of the a priori (kind of effective sample size) More... | |
virtual void | addAllApriori (const IdCondSet< ALLOC > &idset, std::vector< double, ALLOC< double > > &counts) final |
adds the apriori to a counting vector corresponding to the idset More... | |
virtual void | addConditioningApriori (const IdCondSet< ALLOC > &idset, std::vector< double, ALLOC< double > > &counts) final |
adds the apriori to a counting vectordefined over the right hand side of the idset More... | |
Accessors / Modifiers | |
double | weight () const |
returns the weight assigned to the apriori More... | |
allocator_type | getAllocator () const |
returns the allocator used by the internal apriori More... | |
Public Types | |
using | type = AprioriDirichletType |
the type of the a priori More... | |
using | allocator_type = ALLOC< NodeId > |
type for the allocators passed in arguments of methods More... | |
Protected Attributes | |
double | weight_ {1.0} |
the weight of the apriori More... | |
const DatabaseTable< ALLOC > * | database_ |
a reference to the database in order to have access to its variables More... | |
Bijection< NodeId, std::size_t, ALLOC< std::size_t > > | nodeId2columns_ |
a mapping from the NodeIds of the variables to the indices of the columns in the database More... | |
A dirichlet priori: computes its N'_ijk from a database.
Definition at line 46 of file aprioriDirichletFromDatabase.h.
using gum::learning::AprioriDirichletFromDatabase< ALLOC >::allocator_type = ALLOC< NodeId > |
type for the allocators passed in arguments of methods
Definition at line 52 of file aprioriDirichletFromDatabase.h.
using gum::learning::AprioriDirichletFromDatabase< ALLOC >::type = AprioriDirichletType |
the type of the a priori
Definition at line 49 of file aprioriDirichletFromDatabase.h.
gum::learning::AprioriDirichletFromDatabase< ALLOC >::AprioriDirichletFromDatabase | ( | const DatabaseTable< ALLOC > & | learning_db, |
const DBRowGeneratorParser< ALLOC > & | apriori_parser, | ||
const Bijection< NodeId, std::size_t, ALLOC< std::size_t > > & | nodeId2columns = Bijection< NodeId, std::size_t, ALLOC< std::size_t > >() , |
||
const allocator_type & | alloc = allocator_type() |
||
) |
default constructor
learning_db | the database from which learning is performed. This is useful to get access to the random variables |
apriori_parser | the parser used to parse the apriori database |
nodeId2Columns | a mapping from the ids of the nodes in the graphical model to the corresponding column in learning_db. This enables estimating from a database in which variable A corresponds to the 2nd column the parameters of a BN in which variable A has a NodeId of 5. An empty nodeId2Columns bijection means that the mapping is an identity, i.e., the value of a NodeId is equal to the index of the column in the DatabaseTable. |
alloc | the allocator used to allocate the structures within the RecordCounter. |
DatabaseError | The apriori database may differ from the learning database, i.e., the apriori may have more nodes than the learning one. However, a check is performed to ensure that the variables within the apriori database that correspond to those in the learning database (they have the same names) are exactly identical. If this is not the case, then a DatabaseError exception is raised. |
gum::learning::AprioriDirichletFromDatabase< ALLOC >::AprioriDirichletFromDatabase | ( | const AprioriDirichletFromDatabase< ALLOC > & | from | ) |
copy constructor
gum::learning::AprioriDirichletFromDatabase< ALLOC >::AprioriDirichletFromDatabase | ( | const AprioriDirichletFromDatabase< ALLOC > & | from, |
const allocator_type & | alloc | ||
) |
copy constructor with a given allocator
gum::learning::AprioriDirichletFromDatabase< ALLOC >::AprioriDirichletFromDatabase | ( | AprioriDirichletFromDatabase< ALLOC > && | from | ) |
move constructor
gum::learning::AprioriDirichletFromDatabase< ALLOC >::AprioriDirichletFromDatabase | ( | AprioriDirichletFromDatabase< ALLOC > && | from, |
const allocator_type & | alloc | ||
) |
move constructor with a given allocator
|
virtual |
destructor
|
finalvirtual |
adds the apriori to a counting vector corresponding to the idset
adds the apriori to an already created counting vector defined over the union of the variables on both the left and right hand side of the conditioning bar of the idset.
Implements gum::learning::Apriori< ALLOC >.
|
finalvirtual |
adds the apriori to a counting vectordefined over the right hand side of the idset
Implements gum::learning::Apriori< ALLOC >.
|
virtual |
virtual copy constructor
Implements gum::learning::Apriori< ALLOC >.
|
virtual |
virtual copy constructor with a given allocator
Implements gum::learning::Apriori< ALLOC >.
|
inherited |
returns the allocator used by the internal apriori
|
finalvirtual |
returns the type of the apriori
Implements gum::learning::Apriori< ALLOC >.
|
finalvirtual |
indicates whether the apriori is potentially informative
Basically, only the NoApriori is uninformative. However, it may happen that, under some circonstances, an apriori, which is usually not equal to the NoApriori, becomes equal to it (e.g., when the weight is equal to zero). In this case, if the apriori can detect this case, it shall inform the classes that use it that it is temporarily uninformative. These classes will then be able to speed-up their code by avoiding to take into account the apriori in their computations.
Implements gum::learning::Apriori< ALLOC >.
|
finalvirtual |
indicates whether an apriori is of a certain type
Implements gum::learning::Apriori< ALLOC >.
AprioriDirichletFromDatabase< ALLOC >& gum::learning::AprioriDirichletFromDatabase< ALLOC >::operator= | ( | const AprioriDirichletFromDatabase< ALLOC > & | from | ) |
copy operator
AprioriDirichletFromDatabase< ALLOC >& gum::learning::AprioriDirichletFromDatabase< ALLOC >::operator= | ( | AprioriDirichletFromDatabase< ALLOC > && | from | ) |
move operator
|
finalvirtual |
sets the weight of the a priori (kind of effective sample size)
Reimplemented from gum::learning::Apriori< ALLOC >.
|
inherited |
returns the weight assigned to the apriori
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |