net.sf.jdmf.algorithms.association
Class AprioriAlgorithm
java.lang.Object
net.sf.jdmf.algorithms.AbstractDataMiningAlgorithm
net.sf.jdmf.algorithms.association.AprioriAlgorithm
- All Implemented Interfaces:
- DataMiningAlgorithm
public class AprioriAlgorithm
- extends AbstractDataMiningAlgorithm
Implements the Apriori association algorithm as described in Data Mining:
Practical Machine Learning Tools and Techniques (Second Edition)
by Ian H. Witten and Eibe Frank (Morgan Kaufmann, 2005).
1. Take all attributes and generate 1-item sets from them.
2. Remove item sets with smaller coverage then required.
3. Generate rules based on the remaining item sets.
4. Mark rules accurate enough as association rules.
5. Generate 2-item sets using the remaining 1-item sets.
6. Repeat 2-3. First generate rules with one consequence, then with two etc.
If a rule with a set of consequences is not accurate enough, then any rule
with a superset of those consequences does not meet those requirements
either.
7. Repeat 4, then 5-6 for 3-item sets and so on (if there are n attributes,
then (n - 1)-item sets can be generated).
8. Output all generated association rules with the required coverage
and accuracy.
- Author:
- quorthon
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AprioriAlgorithm
public AprioriAlgorithm()
analyze
public DataMiningModel analyze(InputData inputData)
- Description copied from interface:
DataMiningAlgorithm
- Analyzes input data (attributes and decisions) and produces output data
(rules, decision trees, clusters, ...).
- See Also:
DataMiningAlgorithm.analyze(net.sf.jdmf.data.input.InputData)
getMinRuleCoverage
public java.lang.Integer getMinRuleCoverage()
setMinRuleCoverage
public void setMinRuleCoverage(java.lang.Integer maxRuleCount)
getMinRuleAccuracy
public java.lang.Double getMinRuleAccuracy()
setMinRuleAccuracy
public void setMinRuleAccuracy(java.lang.Double minRuleAccuracy)