V
- the type of NumberVector handled by this Algorithm@Title(value="SOD: Subspace outlier degree") @Description(value="Outlier Detection in Axis-Parallel Subspaces of High Dimensional Data") @Reference(authors="H.-P. Kriegel, P. Kr\u00f6ger, E. Schubert, A. Zimek", title="Outlier Detection in Axis-Parallel Subspaces of High Dimensional Data", booktitle="Proceedings of the 13th Pacific-Asia Conference on Knowledge Discovery and Data Mining (PAKDD), Bangkok, Thailand, 2009", url="http://dx.doi.org/10.1007/978-3-642-01307-2") public class SOD<V extends NumberVector<V,?>> extends AbstractAlgorithm<OutlierResult> implements OutlierAlgorithm
Modifier and Type | Class and Description |
---|---|
static class |
SOD.Parameterizer<V extends NumberVector<V,?>>
Parameterization class.
|
static class |
SOD.SODModel<O extends NumberVector<O,?>> |
protected static class |
SOD.SODProxyScoreResult
Proxy class that converts a model result to an actual SOD score result.
|
Modifier and Type | Field and Description |
---|---|
private double |
alpha
Holds the value of
ALPHA_ID . |
static OptionID |
ALPHA_ID
Parameter to indicate the multiplier for the discriminance value for
discerning small from large variances.
|
private int |
knn
Holds the value of
KNN_ID . |
static OptionID |
KNN_ID
Parameter to specify the number of shared nearest neighbors to be
considered for learning the subspace properties., must be an integer
greater than 0.
|
private static Logging |
logger
The logger for this class.
|
private SharedNearestNeighborSimilarityFunction<V> |
similarityFunction
The similarity function.
|
Constructor and Description |
---|
SOD(int knn,
double alpha,
SharedNearestNeighborSimilarityFunction<V> similarityFunction)
Constructor with parameters.
|
Modifier and Type | Method and Description |
---|---|
TypeInformation[] |
getInputTypeRestriction()
Get the input type restriction used for negotiating the data query.
|
private KNNList<DoubleDistance> |
getKNN(Relation<V> database,
SimilarityQuery<V,IntegerDistance> snnInstance,
DBID queryObject)
Provides the k nearest neighbors in terms of the shared nearest neighbor
distance.
|
protected Logging |
getLogger()
Get the (STATIC) logger for this class.
|
OutlierResult |
run(Relation<V> relation)
Performs the SOD algorithm on the given database.
|
makeParameterDistanceFunction, run
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
run
private static final Logging logger
public static final OptionID KNN_ID
public static final OptionID ALPHA_ID
private int knn
KNN_ID
.private double alpha
ALPHA_ID
.private SharedNearestNeighborSimilarityFunction<V extends NumberVector<V,?>> similarityFunction
public SOD(int knn, double alpha, SharedNearestNeighborSimilarityFunction<V> similarityFunction)
knn
- knn valuealpha
- Alpha parametersimilarityFunction
- Shared nearest neighbor similarity functionpublic OutlierResult run(Relation<V> relation) throws IllegalStateException
relation
- Data relation to processIllegalStateException
private KNNList<DoubleDistance> getKNN(Relation<V> database, SimilarityQuery<V,IntegerDistance> snnInstance, DBID queryObject)
database
- the database holding the objectssnnInstance
- similarity functionqueryObject
- the query object for which the kNNs should be determinedpublic TypeInformation[] getInputTypeRestriction()
AbstractAlgorithm
getInputTypeRestriction
in interface Algorithm
getInputTypeRestriction
in class AbstractAlgorithm<OutlierResult>
protected Logging getLogger()
AbstractAlgorithm
getLogger
in class AbstractAlgorithm<OutlierResult>