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
- 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
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
-
Method Summary
Modifier and TypeMethodDescriptioncompute
(DataObject queryObject, DataObject caseObject, SimilarityValuator valuator) f(d) = \frac{1}{e^{\frac{d-\theta}{\alpha}}+1}double
getAlpha()
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
-
Constructor Details
-
SMNumericSigmoidImpl
public SMNumericSigmoidImpl()
-
-
Method Details
-
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
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
-