aGrUM  0.13.2
gum::learning::Score< IdSetAlloc, CountAlloc > Class Template Referenceabstract

The base class for all the scores used for learning (BIC, BDeu, etc)The class should be used as follows: first, to speed-up computations, you should consider computing all the scores you need in one pass. More...

#include <score.h>

+ Inheritance diagram for gum::learning::Score< IdSetAlloc, CountAlloc >:
+ Collaboration diagram for gum::learning::Score< IdSetAlloc, CountAlloc >:

Public Member Functions

Constructors / Destructors
template<typename RowFilter >
 Score (const RowFilter &filter, const std::vector< Size > &var_modalities, Apriori< IdSetAlloc, CountAlloc > &apriori, Size min_range=0, Size max_range=std::numeric_limits< Size >::max())
 default constructor More...
 
virtual Score< IdSetAlloc, CountAlloc > * copyFactory () const =0
 virtual copy factory More...
 
virtual ~Score ()
 destructor More...
 
Accessors / Modifiers
Idx addNodeSet (Idx var)
 add a new single variable to be counted More...
 
Idx addNodeSet (Idx var, const std::vector< Idx > &conditioning_ids)
 add a new target variable plus some conditioning vars More...
 
void clear ()
 clears all the data structures from memory More...
 
void clearCache ()
 clears the current cache (clear nodesets as well) More...
 
void useCache (bool on_off) noexcept
 turn on/off the use of a cache of the previously computed score More...
 
virtual double score (Idx nodeset_index)=0
 returns the score corresponding to a given nodeset More...
 
virtual bool isAprioriCompatible () const =0
 indicates whether the apriori is compatible (meaningful) with the score More...
 
virtual const ScoreInternalApriori< IdSetAlloc, CountAlloc > & internalApriori () const noexcept=0
 returns the internal apriori of the score More...
 
void setRange (Size min_range, Size max_range)
 sets the range of records taken into account by the counter More...
 

Protected Attributes

const double _1log2 {M_LOG2E}
 1 / log(2) More...
 
Apriori< IdSetAlloc, CountAlloc > * _apriori
 the a priori used by the score More...
 

Protected Member Functions

const std::vector< double, CountAlloc > & _getAllApriori (Idx index)
 returns the apriori vector for a given (conditioned) target set More...
 
const std::vector< double, CountAlloc > & _getConditioningApriori (Idx index)
 returns the apriori vector for a conditioning set More...
 
bool _isInCache (Idx nodeset_index) const noexcept
 indicates whether a score belongs to the cache More...
 
void _insertIntoCache (Idx nodeset_index, double score)
 inserts a new score into the cache More...
 
double _cachedScore (Idx nodeset_index) const noexcept
 returns a cached score More...
 
bool _isUsingCache () const noexcept
 indicates whether we use the cache or not More...
 
 Score (const Score< IdSetAlloc, CountAlloc > &)
 copy constructor: to be used by the virtual copy constructor More...
 
 Score (Score< IdSetAlloc, CountAlloc > &&)
 move constructor: to be used by the descendants in the hierarchy More...
 

Detailed Description

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
class gum::learning::Score< IdSetAlloc, CountAlloc >

The base class for all the scores used for learning (BIC, BDeu, etc)

The class should be used as follows: first, to speed-up computations, you should consider computing all the scores you need in one pass.

To do so, use the appropriate addNodeSet methods. These will compute everything you need. The addNodeSet methods where you do not specify a set of conditioning nodes assume that this set is empty. Once the computations have been performed, use method _getAllCounts and _getConditioningCounts to get the observed countings if you are developping a new score class, or use method score to get the computed score if you are an end user.

Definition at line 73 of file score.h.

Constructor & Destructor Documentation

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
template<typename RowFilter >
gum::learning::Score< IdSetAlloc, CountAlloc >::Score ( const RowFilter &  filter,
const std::vector< Size > &  var_modalities,
Apriori< IdSetAlloc, CountAlloc > &  apriori,
Size  min_range = 0,
Size  max_range = std::numeric_limits< Size >::max() 
)

default constructor

Parameters
filterthe row filter that will be used to read the database
var_modalitiesthe domain sizes of the variables in the database
apriorithe a priori that is taken into account in the score/countings
min_rangeThe minimal range.
max_rangeThe maximal range.
template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
virtual gum::learning::Score< IdSetAlloc, CountAlloc >::~Score ( )
virtual

destructor

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
gum::learning::Score< IdSetAlloc, CountAlloc >::Score ( const Score< IdSetAlloc, CountAlloc > &  )
protected

copy constructor: to be used by the virtual copy constructor

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
gum::learning::Score< IdSetAlloc, CountAlloc >::Score ( Score< IdSetAlloc, CountAlloc > &&  )
protected

move constructor: to be used by the descendants in the hierarchy

Member Function Documentation

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
double gum::learning::Score< IdSetAlloc, CountAlloc >::_cachedScore ( Idx  nodeset_index) const
protectednoexcept

returns a cached score

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
void gum::learning::Counter< IdSetAlloc, CountAlloc >::_count ( )
protectedinherited

perform the computation of the countings

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
const std::vector< double, CountAlloc >& gum::learning::Score< IdSetAlloc, CountAlloc >::_getAllApriori ( Idx  index)
protected

returns the apriori vector for a given (conditioned) target set

This method returns the observation countings for the set of variables whose index was returned by method addNodeSet or addNodeSet. If the set was conditioned, the countings correspond to the target variables and the conditioning variables. If you wish to get only the countings for the conditioning variables, prefer using method _getConditioningApriori.

Warning
the dimensions of the vector are as follows: first come the nodes of the conditioning set (in the order in which they were specified when callind addNodeset, and then the target nodes.
template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
const std::vector< double, CountAlloc >& gum::learning::Counter< IdSetAlloc, CountAlloc >::_getAllCounts ( Idx  index)
protectedinherited

returns the counting vector for a given (conditioned) target set

This method returns the observtion countings for the set of variables whose index was returned by method addNodeSet or addNodeSet. If the set was conditioned, the countings correspond to the target variables and the conditioning variables. If you wish to get only the countings for the conditioning variables, prefer using method countConditioning.

Warning
the dimensions of the vector are as follows: first come the nodes of the conditioning set (in the order in which they were specified when callind addNodeset, and then the target nodes).
whenever you call this function, if the counts have not been computed yet, they are computed before the function returns.
template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
const std::vector< Idx, IdSetAlloc >& gum::learning::Counter< IdSetAlloc, CountAlloc >::_getAllNodes ( Idx  index) const
protectednoexceptinherited

returns the set of target + conditioning nodes

conditioning nodes are always the first ones in the vector and targets are the last ones

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
const std::vector< std::pair< std::vector< Idx, IdSetAlloc >, Idx >* >& gum::learning::Counter< IdSetAlloc, CountAlloc >::_getAllNodes ( ) const
protectednoexceptinherited

returns all the sets of target + cond nodes, and their counting indices

conditioning nodes are always the first ones in the vector and targets are the last ones

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
const std::vector< double, CountAlloc >& gum::learning::Score< IdSetAlloc, CountAlloc >::_getConditioningApriori ( Idx  index)
protected

returns the apriori vector for a conditioning set

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
const std::vector< double, CountAlloc >& gum::learning::Counter< IdSetAlloc, CountAlloc >::_getConditioningCounts ( Idx  index)
protectedinherited

returns the counting vector for a conditioning set

Warning
whenever you call this function, if the counts have not been computed yet, they are computed before the function returns.
template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
const std::vector< Idx, IdSetAlloc >* gum::learning::Counter< IdSetAlloc, CountAlloc >::_getConditioningNodes ( Idx  index) const
protectednoexceptinherited

returns the conditioning nodes (nullptr if there are no such nodes)

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
const std::vector< std::pair< std::vector< Idx, IdSetAlloc >, Idx >* >& gum::learning::Counter< IdSetAlloc, CountAlloc >::_getConditioningNodes ( ) const
protectednoexceptinherited

returns all the sets of conditioning nodes

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
std::vector< std::vector< double, CountAlloc > >& gum::learning::Counter< IdSetAlloc, CountAlloc >::_getCounts ( )
protectednoexceptinherited

returns all the countings performed (both targets and conditioned)

this method returns the countings of the record counter. It should be used in conjunction with methods _getConditioningNodes () and _getTargetNodes () that indicate, for each nodeset, the index of the corresponding counting in the vector returned by _getCounts ().

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
void gum::learning::Score< IdSetAlloc, CountAlloc >::_insertIntoCache ( Idx  nodeset_index,
double  score 
)
protected

inserts a new score into the cache

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
bool gum::learning::Score< IdSetAlloc, CountAlloc >::_isInCache ( Idx  nodeset_index) const
protectednoexcept

indicates whether a score belongs to the cache

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
bool gum::learning::Score< IdSetAlloc, CountAlloc >::_isUsingCache ( ) const
protectednoexcept

indicates whether we use the cache or not

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
Idx gum::learning::Counter< IdSetAlloc, CountAlloc >::addEmptyNodeSet ( )
inherited

adds an empty set of variables to count

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
Idx gum::learning::Score< IdSetAlloc, CountAlloc >::addNodeSet ( Idx  var)

add a new single variable to be counted

Parameters
varrepresents the index of the variable in the filtered rows produced by the database cell filters whose observations shall be counted
Returns
the index of the produced counting vector: the user should use class Score to compute in one pass several scores or independence tests. These and their corresponding countings in the database are stored into a vector and the value returned by method addNodeSet is the index of the observed countings of "var" in this vector. The user shall pass this index as argument to methods _getAllCounts to get the corresponding counting vector.
template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
Idx gum::learning::Score< IdSetAlloc, CountAlloc >::addNodeSet ( Idx  var,
const std::vector< Idx > &  conditioning_ids 
)

add a new target variable plus some conditioning vars

Parameters
varrepresents the index of the target variable in the filtered rows produced by the database cell filters
conditioning_idsthe indices of the variables of the conditioning set in the filtered rows
Returns
the index of the produced counting vector: the user should use class Score to compute in one pass several scores or independence tests. These and their corresponding countings in the database are stored into a vector and the value returned by method addNodeSet is the index of the countings of (var | conditioning_ids) in this vector. The user shall pass this index as argument to methods _getAllCounts and _getConditioningCounts to get the counting vectors of (conditioning_ids,vars) [in this order] and conditioning_ids respectively.
template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
Idx gum::learning::Counter< IdSetAlloc, CountAlloc >::addNodeSet ( Idx  var1,
Idx  var2 
)
inherited

add a new target node conditioned by another node to be counted

Parameters
var1represents the index of the target variable in the filtered rows produced by the database cell filters
var2represents the index of the conditioning variable in the filtered rows produced by the database cell filters
Returns
the index of the produced counting vector: the user should use class Counter to compute in one pass several scores or independence tests. These and their corresponding countings in the database are stored into a vector and the value returned by method addNodeSet is the index of the counts in this vector. The user shall pass this index as argument to methods _getAllCounts and _getConditioningCounts to get the observed countings of (var2,var1) [in this order] and var2 respectively.
template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
Idx gum::learning::Counter< IdSetAlloc, CountAlloc >::addNodeSet ( const std::pair< Idx, Idx > &  vars)
inherited

add a new target node conditioned by another node to be counted

Parameters
varscontains the index of the target variable (first) in the filtered rows produced by the database cell filters, and the index of the conditioning variable (second).
Returns
the index of the produced counting vector: the user should use class Counter to compute in one pass several scores. These and their corresponding countings in the database are stored into a vector and the value returned by method addNodeSet is the index of the counts in this vector. The user shall pass this index as argument to methods _getAllCounts and _getConditioningCounts to get the observed countings of (vars.second, vars.first) [in this order] and vars.second respectively.
template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
Idx gum::learning::Counter< IdSetAlloc, CountAlloc >::addNodeSet ( Idx  var,
std::vector< Idx > &&  conditioning_ids 
)
inherited

add a new target variable plus some conditioning vars

Parameters
varrepresents the index of the target variable in the filtered rows produced by the database cell filters
conditioning_idsthe indices of the variables of the conditioning set in the filtered rows
Returns
the index of the produced counting vector: the user should use class Counter to compute in one pass several scores or independence tests. These and their corresponding countings in the database are stored into a vector and the value returned by method addNodeSet is the index of the countings of (var | conditioning_ids) in this vector. The user shall pass this index as argument to methods _getAllCounts and _getConditioningCounts to get the counting vectors of (conditioning_ids,vars) [in this order] and conditioning_ids respectively.
template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
Idx gum::learning::Counter< IdSetAlloc, CountAlloc >::addNodeSet ( Idx  var1,
Idx  var2,
const std::vector< Idx > &  conditioning_ids 
)
inherited

add a target conditioned by other variables to be counted

Parameters
var1represents the index of the target variable in the filtered rows produced by the database cell filters
var2represents the index of the last conditioning variable in the filtered rows produced by the database cell filters
conditioning_idsthe indices of the variables of the conditioning set in the filtered rows (minus var2, which is subsequently apended to it).
Returns
the index of the produced counting vector: the user should use class Counter to compute in one pass several scores. These and their corresponding countings in the database are stored into a vector and the value returned by method addNodeSet is the index of the counts in this vector. The user shall pass this index as argument to methods _getAllCounts and _getConditioningCounts to get the countings of (conditioning_ids, var2, var1) [in this order] and (conditioning_ids, var2) [in this order] respectively.
template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
Idx gum::learning::Counter< IdSetAlloc, CountAlloc >::addNodeSet ( Idx  var1,
Idx  var2,
std::vector< Idx > &&  conditioning_ids 
)
inherited

add a target conditioned by other variables to be counted

Parameters
var1represents the index of the target variable in the filtered rows produced by the database cell filters
var2represents the index of the last conditioning variable in the filtered rows produced by the database cell filters
conditioning_idsthe indices of the variables of the conditioning set in the filtered rows (minus var2, which is subsequently apended to it).
Returns
the index of the produced counting vector: the user should use class Counter to compute in one pass several scores. These and their corresponding countings in the database are stored into a vector and the value returned by method addNodeSet is the index of the counts in this vector. The user shall pass this index as argument to methods _getAllCounts and _getConditioningCounts to get the countings of (conditioning_ids, var2, var1) [in this order] and (conditioning_ids, var2) [in this order] respectively.
template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
Idx gum::learning::Counter< IdSetAlloc, CountAlloc >::addNodeSet ( const std::pair< Idx, Idx > &  vars,
const std::vector< Idx > &  conditioning_ids 
)
inherited

add a target conditioned by other variables to be counted

Parameters
varsrepresents the index of the target variable (first) in the filtered rows produced by the database cell filters, and the index of the last conditioning variable (second)
conditioning_idsthe indices of the variables of the conditioning set in the filtered rows (minus vars.second which is appended to it)
Returns
the index of the produced counting vector: the user should use class Counter to compute in one pass several scores. These and their corresponding countings in the database are stored into a vector and the value returned by method addNodeSet is the index of the counts in this vector. The user shall pass this index as argument to methods _getAllCounts and _getConditioningCounts to get the observed countings of (conditioning_ids, vars.second, vars.first) [in this order] and (conditioning_ids, vars.second) [in this order] respectively.
template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
Idx gum::learning::Counter< IdSetAlloc, CountAlloc >::addNodeSet ( const std::pair< Idx, Idx > &  vars,
std::vector< Idx > &&  conditioning_ids 
)
inherited

add a target conditioned by other variables to be counted

Parameters
varsrepresents the index of the target variable (first) in the filtered rows produced by the database cell filters, and the index of the last conditioning variable (second)
conditioning_idsthe indices of the variables of the conditioning set in the filtered rows (minus vars.second which is appended to it)
Returns
the index of the produced counting vector: the user should use class Counter to compute in one pass several scores. These and their corresponding countings in the database are stored into a vector and the value returned by method addNodeSet is the index of the counts in this vector. The user shall pass this index as argument to methods _getAllCounts and _getConditioningCounts to get the observed countings of (conditioning_ids, vars.second, vars.first) [in this order] and (conditioning_ids, vars.second) [in this order] respectively.
template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
void gum::learning::Score< IdSetAlloc, CountAlloc >::clear ( )

clears all the data structures from memory

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
void gum::learning::Score< IdSetAlloc, CountAlloc >::clearCache ( )

clears the current cache (clear nodesets as well)

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
virtual Score< IdSetAlloc, CountAlloc >* gum::learning::Score< IdSetAlloc, CountAlloc >::copyFactory ( ) const
pure virtual
template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
virtual const ScoreInternalApriori< IdSetAlloc, CountAlloc >& gum::learning::Score< IdSetAlloc, CountAlloc >::internalApriori ( ) const
pure virtualnoexcept

returns the internal apriori of the score

Some scores include an apriori. For instance, the K2 score is a BD score with a Laplace Apriori ( smoothing(1) ). BDeu is a BD score with a N'/(r_i * q_i) apriori, where N' is an effective sample size and r_i is the domain size of the target variable and q_i is the domain size of the Cartesian product of its parents. The goal of the score's internal apriori classes is to enable to account for these aprioris outside the score, e.g., when performing parameter estimation. It is important to note that, to be meaningfull a structure + parameter learning requires that the same aprioris are taken into account during structure learning and parameter learning.

Implemented in gum::learning::ScoreBDeu< IdSetAlloc, CountAlloc >, gum::learning::ScoreK2< IdSetAlloc, CountAlloc >, gum::learning::ScoreAIC< IdSetAlloc, CountAlloc >, gum::learning::ScoreBD< IdSetAlloc, CountAlloc >, gum::learning::ScoreLog2Likelihood< IdSetAlloc, CountAlloc >, and gum::learning::ScoreBIC< IdSetAlloc, CountAlloc >.

Referenced by gum::learning::genericBNLearner::__createParamEstimator().

+ Here is the caller graph for this function:

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
virtual bool gum::learning::Score< IdSetAlloc, CountAlloc >::isAprioriCompatible ( ) const
pure virtual

indicates whether the apriori is compatible (meaningful) with the score

The combination of some scores and aprioris can be meaningless. For instance, adding a Dirichlet apriori to the K2 score is not very meaningful since K2 corresonds to a BD score with a 1-smoothing apriori. aGrUM allows you to perform such combination, but yuou can check with method isAprioriCompatible () whether the result the score will give you is meaningful or not.

Implemented in gum::learning::ScoreBDeu< IdSetAlloc, CountAlloc >, gum::learning::ScoreK2< IdSetAlloc, CountAlloc >, gum::learning::ScoreBD< IdSetAlloc, CountAlloc >, gum::learning::ScoreAIC< IdSetAlloc, CountAlloc >, gum::learning::ScoreLog2Likelihood< IdSetAlloc, CountAlloc >, and gum::learning::ScoreBIC< IdSetAlloc, CountAlloc >.

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
const std::vector< Size >& gum::learning::Counter< IdSetAlloc, CountAlloc >::modalities ( ) const
noexceptinherited

returns the modalities of the variables

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
Score< IdSetAlloc, CountAlloc >& gum::learning::Score< IdSetAlloc, CountAlloc >::operator= ( const Score< IdSetAlloc, CountAlloc > &  )
privatedelete

prevent copy operator

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
virtual double gum::learning::Score< IdSetAlloc, CountAlloc >::score ( Idx  nodeset_index)
pure virtual
template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
void gum::learning::Counter< IdSetAlloc, CountAlloc >::setMaxNbThreads ( Size  nb)
noexceptinherited

sets the maximum number of threads used to perform countings

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
void gum::learning::Score< IdSetAlloc, CountAlloc >::setRange ( Size  min_range,
Size  max_range 
)

sets the range of records taken into account by the counter

Parameters
min_rangehe number of the first record to be taken into account during learning
max_rangethe number of the record after the last one taken into account
template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
void gum::learning::Score< IdSetAlloc, CountAlloc >::useCache ( bool  on_off)
noexcept

turn on/off the use of a cache of the previously computed score

Member Data Documentation

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
const double gum::learning::Score< IdSetAlloc, CountAlloc >::_1log2 {M_LOG2E}
protected

1 / log(2)

Definition at line 201 of file score.h.

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
bool gum::learning::Score< IdSetAlloc, CountAlloc >::__apriori_computed {false}
private

has the a priori been computed

Definition at line 281 of file score.h.

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
Cache4Score gum::learning::Score< IdSetAlloc, CountAlloc >::__cache
private

a cache for the previously computed scores

Definition at line 269 of file score.h.

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
std::vector< double > gum::learning::Score< IdSetAlloc, CountAlloc >::__cached_score
private

the vector of scores for the current nodesets

Definition at line 278 of file score.h.

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
const std::vector< Idx > gum::learning::Score< IdSetAlloc, CountAlloc >::__empty_conditioning_set
private

an empty conditioning set

Definition at line 284 of file score.h.

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
std::vector< bool > gum::learning::Score< IdSetAlloc, CountAlloc >::__is_cached_score
private

indicates whether the ith nodeset's score is in the cache or not

Definition at line 275 of file score.h.

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
bool gum::learning::Score< IdSetAlloc, CountAlloc >::__use_cache {true}
private

a Boolean indicating whether we wish to use the cache

Definition at line 272 of file score.h.

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
Apriori< IdSetAlloc, CountAlloc >* gum::learning::Score< IdSetAlloc, CountAlloc >::_apriori
protected

the a priori used by the score

Definition at line 204 of file score.h.

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
std::vector< std::pair< std::vector< Idx, IdSetAlloc >, Idx >* > gum::learning::Counter< IdSetAlloc, CountAlloc >::_conditioning_nodesets
protectedinherited

the conditioning id sets to count and their indices in the record counter

Definition at line 361 of file counter.h.

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
bool gum::learning::Counter< IdSetAlloc, CountAlloc >::_counts_computed {false}
protectedinherited

indicates whether we have already computed the countings of the nodesets

Definition at line 349 of file counter.h.

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
const std::vector< Size >& gum::learning::Counter< IdSetAlloc, CountAlloc >::_modalities
protectedinherited

the modalities of the variables

Definition at line 345 of file counter.h.

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
RecordCounter< IdSetAlloc, CountAlloc > gum::learning::Counter< IdSetAlloc, CountAlloc >::_record_counter
protectedinherited

the recordCounter that will parse the database

Definition at line 352 of file counter.h.

template<typename IdSetAlloc = std::allocator< Idx >, typename CountAlloc = std::allocator< double >>
std::vector< std::pair< std::vector< Idx, IdSetAlloc >, Idx >* > gum::learning::Counter< IdSetAlloc, CountAlloc >::_target_nodesets
protectedinherited

the target id sets to count and their indices in the record counter

Definition at line 356 of file counter.h.


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