Class AprioriMiner<T>
- java.lang.Object
-
- net.sf.tweety.machinelearning.assoc.AbstractAssociationRuleMiner<T>
-
- net.sf.tweety.machinelearning.assoc.AprioriMiner<T>
-
- Type Parameters:
T- the type of items
- All Implemented Interfaces:
AssociationRuleMiner<T>
public class AprioriMiner<T> extends AbstractAssociationRuleMiner<T>
Implements the classical Apriori algorithm for association rule mining, cf. [R. Agrawal, R. Srikant. Fast algorithms for mining association rules in large databases. VLDB 1994.]- Author:
- Matthias Thimm
-
-
Field Summary
Fields Modifier and Type Field Description private doubleminconfthe minimum support for mined rules.private doubleminsupportthe minimum confidence for mined rules.
-
Constructor Summary
Constructors Constructor Description AprioriMiner(double minsupport, double minconf)Creates a new Apriori miner with the given minimum support and minimum confidence values.
-
Method Summary
Modifier and Type Method Description private booleancheckSubsetCondition(java.util.Collection<T> set, java.util.Collection<java.util.Collection<T>> sets)Checks whether all subsets ofsetobtained by removing exactly one element, are contained in the givensets.private java.util.Collection<java.util.Collection<T>>mineFrequentSets(java.util.Collection<java.util.Collection<T>> database, int maxsize)Extracts all sets of items from database with support at leastminsupport.java.util.Collection<AssociationRule<T>>mineRules(java.util.Collection<java.util.Collection<T>> database, int conclusion_limit, int total_limit)Mines a set of association rules from the given database.private java.util.Collection<java.util.Collection<T>>nextLevel(java.util.Collection<java.util.Collection<T>> lastLevel, int cardinality)Generates all sets of cardinalitycardinalitys.t.-
Methods inherited from class net.sf.tweety.machinelearning.assoc.AbstractAssociationRuleMiner
mineRules, mineRules
-
-
-
-
Method Detail
-
mineRules
public java.util.Collection<AssociationRule<T>> mineRules(java.util.Collection<java.util.Collection<T>> database, int conclusion_limit, int total_limit)
Description copied from interface:AssociationRuleMinerMines a set of association rules from the given database. Only those rules are mined where the conclusion and in total has the maximal given number of elements, respectively.- Parameters:
database- some databaseconclusion_limit- the maximal size of elements in the conclusion of the mined rules.total_limit- the total number of elements that may appear in the mined rules.- Returns:
- a set of association rules.
-
mineFrequentSets
private java.util.Collection<java.util.Collection<T>> mineFrequentSets(java.util.Collection<java.util.Collection<T>> database, int maxsize)
Extracts all sets of items from database with support at leastminsupport.- Parameters:
database- some databasemaxsize- the maximal size of mined item sets- Returns:
- all sets of items from database with support at least
minsupport.
-
nextLevel
private java.util.Collection<java.util.Collection<T>> nextLevel(java.util.Collection<java.util.Collection<T>> lastLevel, int cardinality)
Generates all sets of cardinalitycardinalitys.t. all subsets of cardinalitycardinality-1 are contained in the given setlastLevel.- Parameters:
lastLevel- a set of sets of the same cardinalitycardinalitycardinality- the cardinality of all sets inlastLevel- Returns:
- all sets of cardinality
cardinalitys.t. all subsets of cardinalitycardinality-1 are contained in the given setlastLevel.
-
checkSubsetCondition
private boolean checkSubsetCondition(java.util.Collection<T> set, java.util.Collection<java.util.Collection<T>> sets)
Checks whether all subsets ofsetobtained by removing exactly one element, are contained in the givensets.- Parameters:
set- some setsets- a set of sets- Returns:
- "true" iff all subsets of
setobtained by removing exactly one element, are contained in the givensets.
-
-