27 #ifndef GUM_LEARNING_PARAM_ESTIMATOR_ML_H 28 #define GUM_LEARNING_PARAM_ESTIMATOR_ML_H 32 #include <agrum/agrum.h> 33 #include <agrum/BN/learning/paramUtils/paramEstimator.h> 44 template <
template <
typename >
class ALLOC = std::allocator >
45 class ParamEstimatorML:
public ParamEstimator< ALLOC > {
48 using allocator_type = ALLOC< NodeId >;
79 ParamEstimatorML(
const DBRowGeneratorParser< ALLOC >& parser,
80 const Apriori< ALLOC >& external_apriori,
81 const Apriori< ALLOC >& _score_internal_apriori,
82 const std::vector< std::pair< std::size_t, std::size_t >,
83 ALLOC< std::pair< std::size_t, std::size_t > > >& ranges,
84 const Bijection< NodeId, std::size_t, ALLOC< std::size_t > >& nodeId2columns
85 = Bijection< NodeId, std::size_t, ALLOC< std::size_t > >(),
86 const allocator_type& alloc = allocator_type());
106 ParamEstimatorML(
const DBRowGeneratorParser< ALLOC >& parser,
107 const Apriori< ALLOC >& external_apriori,
108 const Apriori< ALLOC >& _score_internal_apriori,
109 const Bijection< NodeId, std::size_t, ALLOC< std::size_t > >& nodeId2columns
110 = Bijection< NodeId, std::size_t, ALLOC< std::size_t > >(),
111 const allocator_type& alloc = allocator_type());
114 ParamEstimatorML(
const ParamEstimatorML< ALLOC >& from);
117 ParamEstimatorML(
const ParamEstimatorML< ALLOC >& from,
const allocator_type& alloc);
120 ParamEstimatorML(ParamEstimatorML< ALLOC >&& from);
123 ParamEstimatorML(ParamEstimatorML< ALLOC >&& from,
const allocator_type& alloc);
126 virtual ParamEstimatorML< ALLOC >* clone()
const;
129 virtual ParamEstimatorML< ALLOC >* clone(
const allocator_type& alloc)
const;
132 virtual ~ParamEstimatorML();
144 ParamEstimatorML< ALLOC >& operator=(
const ParamEstimatorML< ALLOC >& from);
147 ParamEstimatorML< ALLOC >& operator=(ParamEstimatorML< ALLOC >&& from);
157 using ParamEstimator< ALLOC >::parameters;
167 virtual std::vector<
double, ALLOC<
double > >
168 parameters(
const NodeId target_node,
169 const std::vector< NodeId, ALLOC< NodeId > >& conditioning_nodes);
179 #include <agrum/BN/learning/paramUtils/paramEstimatorML_tpl.h>