edu.indiana.iucbrf.feature.unknown
Class NNAggregate

java.lang.Object
  extended by edu.indiana.iucbrf.feature.unknown.AbstractUnknownFeatureHandler
      extended by edu.indiana.iucbrf.feature.unknown.DefaultValue
          extended by edu.indiana.iucbrf.feature.unknown.NNAggregate
All Implemented Interfaces:
UnknownFeatureHandler, java.io.Serializable

public class NNAggregate
extends DefaultValue

Provides a "default" value for an unknown feature, obtained from the average value of that feature for "nearby" cases (that know that feature).

See Also:
Serialized Form

Field Summary
protected  CaseBase cb
           
protected  FeaturesKnownChecker featuresKnownChecker
           
protected  FeatureStats featureStats
           
protected  Retrieval nearValueFinder
           
protected  boolean useOnlyDependentFeatures
           
 
Fields inherited from class edu.indiana.iucbrf.feature.unknown.DefaultValue
defaultValue, defaultValueMap, domain, storeEstimates, useEstimates
 
Fields inherited from class edu.indiana.iucbrf.feature.unknown.AbstractUnknownFeatureHandler
debugMode
 
Constructor Summary
NNAggregate()
           
NNAggregate(Domain domain, CaseBase cb, Retrieval nearValueFinder)
          Creates a new instance of NNAggregate
 
Method Summary
 boolean equals(java.lang.Object otherObj)
          Does not check for equality of the entire case base.
 java.lang.String getAbbreviatedName()
          The abbreviated name of this unknown feature handler.
 double getDefaultValueImpl(Problem problemWithUnknownFeature, Problem otherProblem, FeatureKey key)
           
 FeatureStats getFeatureStats()
           
 java.lang.String getName()
          The name of this unknown feature handler.
 boolean getUseOnlyDependentFeatures()
           
 int hashCode()
          Does not take the case base itself into account.
 void setUseOnlyDependentFeatures(boolean useOnlyDependentFeatures)
           
 void setUseOnlyDependentFeatures(boolean useOnlyDependentFeatures, FeatureStats featureStats)
           
 
Methods inherited from class edu.indiana.iucbrf.feature.unknown.DefaultValue
differenceOfUnknownFeatureImpl, getCurrentConf, getDefaultValue, setStoreEstimates, setUseEstimates, useEstimates
 
Methods inherited from class edu.indiana.iucbrf.feature.unknown.AbstractUnknownFeatureHandler
differenceOfUnknownFeature, getDebugMode, setDebugMode
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cb

protected CaseBase cb

nearValueFinder

protected Retrieval nearValueFinder

featuresKnownChecker

protected FeaturesKnownChecker featuresKnownChecker

useOnlyDependentFeatures

protected boolean useOnlyDependentFeatures

featureStats

protected FeatureStats featureStats
Constructor Detail

NNAggregate

public NNAggregate()

NNAggregate

public NNAggregate(Domain domain,
                   CaseBase cb,
                   Retrieval nearValueFinder)
Creates a new instance of NNAggregate

Method Detail

getDefaultValueImpl

public double getDefaultValueImpl(Problem problemWithUnknownFeature,
                                  Problem otherProblem,
                                  FeatureKey key)
Overrides:
getDefaultValueImpl in class DefaultValue

setUseOnlyDependentFeatures

public void setUseOnlyDependentFeatures(boolean useOnlyDependentFeatures,
                                        FeatureStats featureStats)

setUseOnlyDependentFeatures

public void setUseOnlyDependentFeatures(boolean useOnlyDependentFeatures)

getUseOnlyDependentFeatures

public boolean getUseOnlyDependentFeatures()

getFeatureStats

public FeatureStats getFeatureStats()

getName

public java.lang.String getName()
The name of this unknown feature handler.

Specified by:
getName in interface UnknownFeatureHandler
Overrides:
getName in class DefaultValue

getAbbreviatedName

public java.lang.String getAbbreviatedName()
The abbreviated name of this unknown feature handler.

Specified by:
getAbbreviatedName in interface UnknownFeatureHandler
Overrides:
getAbbreviatedName in class DefaultValue

equals

public boolean equals(java.lang.Object otherObj)
Does not check for equality of the entire case base.

Overrides:
equals in class DefaultValue

hashCode

public int hashCode()
Does not take the case base itself into account.

Overrides:
hashCode in class DefaultValue