28 #ifndef GUM_LEARNING_INDEP_TEST_CHI2_H 29 #define GUM_LEARNING_INDEP_TEST_CHI2_H 33 #include <agrum/tools/core/math/chi2.h> 34 #include <agrum/tools/stattests/independenceTest.h> 35 #include <agrum/BN/learning/aprioris/aprioriNoApriori.h> 46 template <
template <
typename >
class ALLOC = std::allocator >
81 const Apriori< ALLOC >& external_apriori,
82 const std::vector< std::pair< std::size_t, std::size_t >,
83 ALLOC< std::pair< std::size_t, std::size_t > > >& ranges,
105 const Apriori< ALLOC >& apriori,
114 IndepTestChi2(
const IndepTestChi2< ALLOC >& from,
const allocator_type& alloc);
120 IndepTestChi2(IndepTestChi2< ALLOC >&& from,
const allocator_type& alloc);
156 std::pair<
double,
double >
statistics(NodeId var1,
169 virtual double score_(
const IdCondSet< ALLOC >& idset)
final;
172 std::pair<
double,
double >
statistics_(
const IdCondSet< ALLOC >& idset);
174 #ifndef DOXYGEN_SHOULD_SKIP_THIS 178 std::vector< std::size_t, ALLOC< std::size_t > > _domain_sizes_;
184 const std::vector< Idx > _empty_set_;
194 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 195 extern template class gum::learning::IndepTestChi2<>;
200 #include <agrum/tools/stattests/indepTestChi2_tpl.h> virtual IndepTestChi2< ALLOC > * clone() const
virtual copy constructor
IndepTestChi2(const DBRowGeneratorParser< ALLOC > &parser, const Apriori< ALLOC > &apriori, 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
IndepTestChi2(const DBRowGeneratorParser< ALLOC > &parser, const Apriori< ALLOC > &external_apriori, const std::vector< std::pair< std::size_t, std::size_t >, ALLOC< std::pair< std::size_t, std::size_t > > > &ranges, 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
std::pair< double, double > statistics_(const IdCondSet< ALLOC > &idset)
compute the pair <chi2 statistic,pvalue>
IndepTestChi2< ALLOC > & operator=(const IndepTestChi2< ALLOC > &from)
copy operator
INLINE void emplace(Args &&... args)
the class for computing Chi2 independence test scores
IndepTestChi2(const IndepTestChi2< ALLOC > &from)
copy constructor
std::pair< double, double > statistics(NodeId var1, NodeId var2, const std::vector< NodeId, ALLOC< NodeId > > &rhs_ids={})
get the pair <chi2 statistic,pvalue> for a test var1 indep var2 given rhs_ids
IndepTestChi2< ALLOC > & operator=(IndepTestChi2< ALLOC > &&from)
move operator
virtual IndepTestChi2< ALLOC > * clone(const allocator_type &alloc) const
virtual copy constructor with a given allocator
virtual double score_(const IdCondSet< ALLOC > &idset) final
returns the score for a given IdCondSet
IndepTestChi2(IndepTestChi2< ALLOC > &&from, const allocator_type &alloc)
move constructor with a given allocator
virtual ~IndepTestChi2()
destructor
IndepTestChi2(const IndepTestChi2< ALLOC > &from, const allocator_type &alloc)
copy constructor with a given allocator
IndepTestChi2(IndepTestChi2< ALLOC > &&from)
move constructor
Database(const std::string &filename, const BayesNet< GUM_SCALAR > &bn, const std::vector< std::string > &missing_symbols)