Class SMNumericSigmoidImpl
- java.lang.Object
-
- de.uni_trier.wi2.procake.similarity.impl.SimilarityMeasureImpl
-
- de.uni_trier.wi2.procake.similarity.base.numeric.impl.SMNumericImpl
-
- de.uni_trier.wi2.procake.similarity.base.numeric.impl.SMNumericSigmoidImpl
-
- All Implemented Interfaces:
SMNumeric
,SMNumericSigmoid
,SimilarityMeasure
public class SMNumericSigmoidImpl extends SMNumericImpl implements SMNumericSigmoid
- Author:
- rmaximi
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface de.uni_trier.wi2.procake.similarity.base.numeric.SMNumeric
SMNumeric.ZERO_OUT_STRATEGIES
-
-
Field Summary
-
Fields inherited from interface de.uni_trier.wi2.procake.similarity.SimilarityMeasure
COMPONENT, COMPONENT_KEY, LOG_ORDER_NAME_NOT_FOUND
-
Fields inherited from interface de.uni_trier.wi2.procake.similarity.base.numeric.SMNumeric
DEFAULT_STRATEGY
-
Fields inherited from interface de.uni_trier.wi2.procake.similarity.base.numeric.SMNumericSigmoid
DEFAULT_ALPHA, DEFAULT_THETA, NAME
-
-
Constructor Summary
Constructors Constructor Description SMNumericSigmoidImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Similarity
compute(DataObject queryObject, DataObject caseObject, SimilarityValuator valuator)
f(d) = \frac{1}{e^{\frac{d-\theta}{\alpha}}+1}double
getAlpha()
String
getSystemName()
The system name can be used to distinguish the similarity measures.double
getTheta()
void
setAlpha(double alpha)
Alpha is necessary for sigmoid function.void
setTheta(double theta)
Theta is necessary for the sigmoid function.-
Methods inherited from class de.uni_trier.wi2.procake.similarity.base.numeric.impl.SMNumericImpl
applyAsymmetricSituation, getAsymmetricStrategy, getAtomicClass, isSimilarityFor, setAsymmetricStrategy
-
Methods inherited from class de.uni_trier.wi2.procake.similarity.impl.SimilarityMeasureImpl
getDataClass, getName, initialize, initializeBasedOn, isAggregate, isForceOverride, isInterval, isNumeric, isObject, isReusable, isSet, isTable, isTaxonomy, isText, setDataClass, setForceOverride, setName, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface de.uni_trier.wi2.procake.similarity.SimilarityMeasure
getDataClass, getName, isForceOverride, isReusable, setForceOverride
-
Methods inherited from interface de.uni_trier.wi2.procake.similarity.base.numeric.SMNumeric
getAsymmetricStrategy, setAsymmetricStrategy
-
-
-
-
Method Detail
-
compute
public Similarity compute(DataObject queryObject, DataObject caseObject, SimilarityValuator valuator)
f(d) = \frac{1}{e^{\frac{d-\theta}{\alpha}}+1}
- Specified by:
compute
in interfaceSimilarityMeasure
- Parameters:
queryObject
-caseObject
-- Returns:
- a similarity value
-
getAlpha
public double getAlpha()
- Specified by:
getAlpha
in interfaceSMNumericSigmoid
-
setAlpha
public void setAlpha(double alpha)
Description copied from interface:SMNumericSigmoid
Alpha is necessary for sigmoid function. Alpha should be very small, e.g., 0.1 or 0.01.- Specified by:
setAlpha
in interfaceSMNumericSigmoid
- Parameters:
alpha
- must be greater zero
-
getSystemName
public String getSystemName()
Description copied from interface:SimilarityMeasure
The system name can be used to distinguish the similarity measures. Each similarity measure that can be instantiated contains a static final field called NAME representing the system name, e.g.,SMAggregateEuclidian.NAME
The system name must also be given during initialization, see
SimilarityModel.createSimilarityMeasure(String, DataClass)
.- Specified by:
getSystemName
in interfaceSimilarityMeasure
- Returns:
- The system name of the similarity measure. This is equal to SimilarityMeasure.NAME.
-
getTheta
public double getTheta()
- Specified by:
getTheta
in interfaceSMNumericSigmoid
-
setTheta
public void setTheta(double theta)
Description copied from interface:SMNumericSigmoid
Theta is necessary for the sigmoid function. Theta must be between 0 an 1.- Specified by:
setTheta
in interfaceSMNumericSigmoid
- Parameters:
theta
- must be greater zero
-
-