public class AprioriItemSet extends ItemSet implements java.io.Serializable, RevisionHandler
Constructor and Description |
---|
AprioriItemSet(int totalTrans)
Constructor
|
Modifier and Type | Method and Description |
---|---|
static double |
confidenceForRule(AprioriItemSet premise,
AprioriItemSet consequence)
Outputs the confidence for a rule.
|
double |
convictionForRule(AprioriItemSet premise,
AprioriItemSet consequence,
int premiseCount,
int consequenceCount)
Outputs the conviction for a rule.
|
java.util.ArrayList<java.lang.Object>[] |
generateRules(double minConfidence,
java.util.ArrayList<java.util.Hashtable<ItemSet,java.lang.Integer>> hashtables,
int numItemsInSet)
Generates all rules for an item set.
|
java.util.ArrayList<java.lang.Object>[] |
generateRulesBruteForce(double minMetric,
int metricType,
java.util.ArrayList<java.util.Hashtable<ItemSet,java.lang.Integer>> hashtables,
int numItemsInSet,
int numTransactions,
double significanceLevel)
Generates all significant rules for an item set.
|
java.lang.String |
getRevision()
Returns the revision string.
|
double |
leverageForRule(AprioriItemSet premise,
AprioriItemSet consequence,
int premiseCount,
int consequenceCount)
Outputs the leverage for a rule.
|
double |
liftForRule(AprioriItemSet premise,
AprioriItemSet consequence,
int consequenceCount)
Outputs the lift for a rule.
|
static java.util.ArrayList<java.lang.Object> |
mergeAllItemSets(java.util.ArrayList<java.lang.Object> itemSets,
int size,
int totalTrans)
Merges all item sets in the set of (k-1)-item sets to create the (k)-item
sets and updates the counters.
|
static java.util.ArrayList<java.lang.Object> |
singletons(Instances instances,
boolean treatZeroAsMissing)
Converts the header info of the given set of instances into a set of item
sets (singletons).
|
AprioriItemSet |
subtract(AprioriItemSet toSubtract)
Subtracts an item set from another one.
|
java.lang.String |
toString(Instances instances)
Returns the contents of an item set as a string.
|
containedBy, containedByTreatZeroAsMissing, counter, deleteItemSets, equals, getHashtable, getItems, getTotalTransactions, hashCode, itemAt, items, pruneItemSets, pruneRules, setCounter, setItem, setItemAt, singletons, support, toString, upDateCounter, upDateCounters, upDateCountersTreatZeroAsMissing, updateCounterTreatZeroAsMissing
public AprioriItemSet(int totalTrans)
totalTrans
- the total number of transactions in the datapublic static double confidenceForRule(AprioriItemSet premise, AprioriItemSet consequence)
premise
- the premise of the ruleconsequence
- the consequence of the rulepublic double liftForRule(AprioriItemSet premise, AprioriItemSet consequence, int consequenceCount)
premise
- the premise of the ruleconsequence
- the consequence of the ruleconsequenceCount
- how many times the consequence occurs independent
of the premisepublic double leverageForRule(AprioriItemSet premise, AprioriItemSet consequence, int premiseCount, int consequenceCount)
premise
- the premise of the ruleconsequence
- the consequence of the rulepremiseCount
- how many times the premise occurs independent of the
consequentconsequenceCount
- how many times the consequence occurs independent
of the premisepublic double convictionForRule(AprioriItemSet premise, AprioriItemSet consequence, int premiseCount, int consequenceCount)
premise
- the premise of the ruleconsequence
- the consequence of the rulepremiseCount
- how many times the premise occurs independent of the
consequentconsequenceCount
- how many times the consequence occurs independent
of the premisepublic java.util.ArrayList<java.lang.Object>[] generateRules(double minConfidence, java.util.ArrayList<java.util.Hashtable<ItemSet,java.lang.Integer>> hashtables, int numItemsInSet)
minConfidence
- the minimum confidence the rules have to havehashtables
- containing all(!) previously generated item setsnumItemsInSet
- the size of the item set for which the rules are to be
generatedpublic final java.util.ArrayList<java.lang.Object>[] generateRulesBruteForce(double minMetric, int metricType, java.util.ArrayList<java.util.Hashtable<ItemSet,java.lang.Integer>> hashtables, int numItemsInSet, int numTransactions, double significanceLevel) throws java.lang.Exception
minMetric
- the minimum metric (confidence, lift, leverage,
improvement) the rules have to havemetricType
- (confidence=0, lift, leverage, improvement)hashtables
- containing all(!) previously generated item setsnumItemsInSet
- the size of the item set for which the rules are to be
generatednumTransactions
- significanceLevel
- the significance level for testing the rulesjava.lang.Exception
- if something goes wrongpublic final AprioriItemSet subtract(AprioriItemSet toSubtract)
toSubtract
- the item set to be subtracted from this one.public final java.lang.String toString(Instances instances)
public static java.util.ArrayList<java.lang.Object> singletons(Instances instances, boolean treatZeroAsMissing) throws java.lang.Exception
instances
- the set of instances whose header info is to be usedjava.lang.Exception
- if singletons can't be generated successfullypublic static java.util.ArrayList<java.lang.Object> mergeAllItemSets(java.util.ArrayList<java.lang.Object> itemSets, int size, int totalTrans)
itemSets
- the set of (k-1)-item setssize
- the value of (k-1)totalTrans
- the total number of transactions in the datapublic java.lang.String getRevision()
getRevision
in interface RevisionHandler
getRevision
in class ItemSet