Available algorithms
Candidate generation based
ModalAssociationRules.apriori
— Methodapriori(miner::Miner, X::AbstractDataset; verbose::Bool=true)::Nothing
Apriori algorithm, as described here but generalized to also work with modal logic.
See also Miner
, SoleBase.AbstractDataset
.
TreeProjection based
FPGrowth
ModalAssociationRules.fpgrowth
— Methodfpgrowth(miner::Miner, X::AbstractDataset; verbose::Bool=true)::Nothing
FP-Growth algorithm, as described here but generalized to also work with modal logic.
See also Miner
, FPTree
, HeaderTable
, SoleBase.AbstractDataset
FPGrowth algorithm relies on two data structures, FPTree
and HeaderTable
. To know more about them and their, please refer to the documentation here data-structures.
FPGrowth algorithm relies on the following two routines.
ModalAssociationRules.patternbase
— Methodpatternbase(item::Item, htable::HeaderTable, miner::Miner)::ConditionalPatternBase
Retrieve the ConditionalPatternBase
of fptree
based on item
.
The conditional pattern based on a FPTree
is the set of all the paths from the tree root to nodes containing item
(not included). Each of these paths is represented by an EnhancedItemset
.
The EnhancedItemset
s in the returned ConditionalPatternBase
are sorted decreasingly by gsupport
.
See also Miner
, ConditionalPatternBase
, contributors
, EnhancedItemset
, fpgrowth
, FPTree
, Item
, Itemset
, WorldMask
.
ModalAssociationRules.projection
— Methodfunction projection(pbase::ConditionalPatternBase, miner::Miner)
Return respectively a FPTree
and a HeaderTable
starting from pbase
. A Miner
must be provided to guarantee the generated header table internal state is OK, that is, its items are sorted decreasingly by gsupport
.
See also ConditionalPatternBase
, FPTree
, gsupport
, HeaderTable
, Miner
.
Also, FPGrowth requires the Miner
to remember the Contributors
associated with the extracted frequent itemsets. To add this functionality, we can define a new dispatch of initpowerups
: it is automatically considered to enrich the miner, while building it together with fpgrowth
as mining algorithm.
ModalAssociationRules.initpowerups
— Methodinitpowerups(::typeof(fpgrowth), ::AbstractDataset)::Powerup
Powerups suite for FP-Growth algorithm. When initializing a Miner
with fpgrowth
algorithm, this defines how miner's powerup
field is filled to optimize the mining. See also haspowerup
, powerup
.