net.sf.jdmf.algorithms.classification.util
Class AttributeValuePartitioner

java.lang.Object
  extended by net.sf.jdmf.algorithms.classification.util.AttributeValuePartitioner

public class AttributeValuePartitioner
extends java.lang.Object

Partitions attributes with numeric values. Used by 1-rule algorithm. The partitioning algorithm is described in Data Mining: Practical Machine Learning Tools and Techniques (Second Edition) by Ian H. Witten and Eibe Frank (Morgan Kaufmann, 2005).

 
 1. Sort value pairs by first value ascending.
 2. Find groups of value pairs according to the second value (a group is
 created when at least minimumMajorityClassExamples are found or
 there are no pairs left).
 3. Create rules defining breakpoints between groups.
 4. Merge adjacent groups with the same majority class.
 5. Create final partitioning rules.
 
 

Author:
quorthon
See Also:
OneRuleAlgorithm

Constructor Summary
AttributeValuePartitioner()
           
 
Method Summary
 java.util.List<Rule> partitionValues(java.lang.String firstAttributeName, java.lang.String secondAttributeName, java.util.List<AttributeValuePair> valuePairs, int minimumMajorityClassExamples)
          Partitions attribute value pairs using the algorithm described above.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AttributeValuePartitioner

public AttributeValuePartitioner()
Method Detail

partitionValues

public java.util.List<Rule> partitionValues(java.lang.String firstAttributeName,
                                            java.lang.String secondAttributeName,
                                            java.util.List<AttributeValuePair> valuePairs,
                                            int minimumMajorityClassExamples)
Partitions attribute value pairs using the algorithm described above. This method needs heavy refactoring.