infomat.evaluation
Class ExtrinsicGroupEvaluation

java.lang.Object
  extended by infomat.evaluation.ExtrinsicGroupEvaluation

public class ExtrinsicGroupEvaluation
extends java.lang.Object

For calculating extrinsic quality measures per IObjectGroup.


Field Summary
private  DoubleHashMap confusionMatrix
           
private  IObjectGrouping evalGrouping
           
private  IObjectGrouping refGrouping
           
 
Constructor Summary
protected ExtrinsicGroupEvaluation(DoubleHashMap confusionMatrix, IObjectGrouping evalGrouping, IObjectGrouping refGrouping)
           
  ExtrinsicGroupEvaluation(IObjectGrouping evalGrouping, IObjectGrouping refGrouping)
           
 
Method Summary
private  void constructConfusionMatrix(IObjectGrouping evalGrouping, IObjectGrouping refGrouping)
           
 Measure entropy(IObjectGroup iog)
           
 java.util.HashMap<IObjectGroup,Measure> getGroupEntropyMap()
           
 java.util.HashMap<IObjectGroup,Measure> getGroupNormEntropyMap()
           
static MultiMeasure getGroupPartPurity(IObjectGroup group, IObjectGrouping grouping, float[] partSplitValues)
          partSplitValues should contain ordered values between 0 and 1 representing subparts of the entire group.
static java.util.HashMap<IObjectGroup,Measure> getGroupPartPurityMap(IObjectGrouping evalGrouping, IObjectGrouping refGrouping, float[] partSplitValues)
           
static Measure getGroupPurity(IObjectGroup group, IObjectGrouping grouping)
           
 java.util.HashMap<IObjectGroup,Measure> getGroupPurityMap()
           
 Measure normEntropy(IObjectGroup iog)
           
 Measure purity(IObjectGroup iog)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

evalGrouping

private IObjectGrouping evalGrouping

refGrouping

private IObjectGrouping refGrouping

confusionMatrix

private DoubleHashMap confusionMatrix
Constructor Detail

ExtrinsicGroupEvaluation

public ExtrinsicGroupEvaluation(IObjectGrouping evalGrouping,
                                IObjectGrouping refGrouping)

ExtrinsicGroupEvaluation

protected ExtrinsicGroupEvaluation(DoubleHashMap confusionMatrix,
                                   IObjectGrouping evalGrouping,
                                   IObjectGrouping refGrouping)
Method Detail

constructConfusionMatrix

private void constructConfusionMatrix(IObjectGrouping evalGrouping,
                                      IObjectGrouping refGrouping)

getGroupPurityMap

public java.util.HashMap<IObjectGroup,Measure> getGroupPurityMap()

getGroupEntropyMap

public java.util.HashMap<IObjectGroup,Measure> getGroupEntropyMap()

getGroupNormEntropyMap

public java.util.HashMap<IObjectGroup,Measure> getGroupNormEntropyMap()

purity

public Measure purity(IObjectGroup iog)

entropy

public Measure entropy(IObjectGroup iog)

normEntropy

public Measure normEntropy(IObjectGroup iog)

getGroupPartPurityMap

public static java.util.HashMap<IObjectGroup,Measure> getGroupPartPurityMap(IObjectGrouping evalGrouping,
                                                                            IObjectGrouping refGrouping,
                                                                            float[] partSplitValues)

getGroupPurity

public static Measure getGroupPurity(IObjectGroup group,
                                     IObjectGrouping grouping)

getGroupPartPurity

public static MultiMeasure getGroupPartPurity(IObjectGroup group,
                                              IObjectGrouping grouping,
                                              float[] partSplitValues)
partSplitValues should contain ordered values between 0 and 1 representing subparts of the entire group. Purity is calculated for the corresponding subparts of the entire ordered group. For instance, for a group consisting of 100 IObjects with partSplitValues [0.25, 0.5, 0.75], the purity is calculated for the 25 top IObjects, the 50 top IObjects, and the 75 top IObjects respectively. For a part purity calculation consecutive values in partSplitValues should yield a difference of at least 1 IObject. This means that part purity calculations on small groups might lead to surprising results.

Parameters:
group -
grouping -
partSplitValues -
Returns: