Package weka.core
Class InstanceComparator
java.lang.Object
weka.core.InstanceComparator
- All Implemented Interfaces:
Serializable
,Comparator<Instance>
,RevisionHandler
public class InstanceComparator
extends Object
implements Comparator<Instance>, Serializable, RevisionHandler
A comparator for the Instance class. it can be used with or without the
class label. Missing values are sorted at the beginning.
Can be used as comparator in the sorting and binary search algorithms of
Arrays
and Collections
.
Relational values are compared instance by instance with a nested
InstanceComparator.- Version:
- $Revision: 14911 $
- Author:
- FracPete (fracpete at cs dot waikato dot ac dot nz)
- See Also:
-
Constructor Summary
ConstructorDescriptionInitializes the comparator and includes the class in the comparison and all attributes included.InstanceComparator
(boolean includeClass) Initializes the comparator with all attributes included.InstanceComparator
(boolean includeClass, String range, boolean invert) Initializes the comparator. -
Method Summary
Modifier and TypeMethodDescriptionint
compares the two instances, returns -1 if o1 is smaller than o2, 0 if equal and +1 if greater.boolean
Returns whether the class is included in the comparison.boolean
Returns whether the matching sense of the attribute range is inverted.getRange()
Returns the attribute range to use in the comparison.Returns the revision string.static void
for testing only.void
setIncludeClass
(boolean includeClass) Sets whether the class should be included in the comparison.void
setInvert
(boolean invert) Sets whether to invert the matching sense of the attribute range.void
Sets the attribute range to use for comparison.Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Comparator
equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
-
Constructor Details
-
InstanceComparator
public InstanceComparator()Initializes the comparator and includes the class in the comparison and all attributes included. -
InstanceComparator
public InstanceComparator(boolean includeClass) Initializes the comparator with all attributes included.- Parameters:
includeClass
- whether to include the class in the comparison
-
InstanceComparator
Initializes the comparator.- Parameters:
includeClass
- whether to include the class in the comparisonrange
- the attribute range stringinvert
- whether to invert the matching sense of the att range
-
-
Method Details
-
setIncludeClass
public void setIncludeClass(boolean includeClass) Sets whether the class should be included in the comparison.- Parameters:
includeClass
- true if to include the class in the comparison
-
getIncludeClass
public boolean getIncludeClass()Returns whether the class is included in the comparison.- Returns:
- true if the class is included
-
setRange
Sets the attribute range to use for comparison.- Parameters:
value
- the attribute range
-
getRange
Returns the attribute range to use in the comparison.- Returns:
- the attribute range
-
setInvert
public void setInvert(boolean invert) Sets whether to invert the matching sense of the attribute range.- Parameters:
invert
- true if to invert the matching sense
-
getInvert
public boolean getInvert()Returns whether the matching sense of the attribute range is inverted.- Returns:
- true if the matching sense is inverted
-
compare
compares the two instances, returns -1 if o1 is smaller than o2, 0 if equal and +1 if greater. The method assumes that both instance objects have the same attributes, they don't have to belong to the same dataset.- Specified by:
compare
in interfaceComparator<Instance>
- Parameters:
inst1
- the first instance to compareinst2
- the second instance to compare- Returns:
- returns -1 if inst1 is smaller than inst2, 0 if equal and +1 if greater
-
getRevision
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Returns:
- the revision
-
main
for testing only. takes an ARFF-filename as first argument to perform some tests.- Throws:
Exception
-