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="Hans-Peter Kriegel, Peer Kr\u00f6ger, Erich Schubert, Arthur Zimek", title="Outlier Detection in Axis-Parallel Subspaces of High Dimensional Data", booktitle="Proc. Pacific-Asia Conf. on Knowledge Discovery and Data Mining (PAKDD 2009)", url="https://doi.org/10.1007/978-3-642-01307-2_86", bibkey="DBLP:conf/pakdd/KriegelKSZ09") @Alias(value="de.lmu.ifi.dbs.elki.algorithm.outlier.SOD") public class SOD<V extends NumberVector> extends AbstractAlgorithm<OutlierResult> implements OutlierAlgorithm
Reference:
Hans-Peter Kriegel, Peer Kröger, Erich Schubert, Arthur Zimek:
Outlier Detection in Axis-Parallel Subspaces of High Dimensional Data
Proc. Pacific-Asia Conf. on Knowledge Discovery and Data Mining (PAKDD 2009)
| Modifier and Type | Class and Description |
|---|---|
static class |
SOD.Parameterizer<V extends NumberVector>
Parameterization class.
|
static class |
SOD.SODModel
SOD Model class
|
| Modifier and Type | Field and Description |
|---|---|
private double |
alpha
Alpha (discriminance value).
|
private int |
knn
Neighborhood size.
|
private static Logging |
LOG
The logger for this class.
|
private boolean |
models
Report models.
|
private SimilarityFunction<V> |
similarityFunction
Similarity function to use.
|
ALGORITHM_ID| Constructor and Description |
|---|
SOD(int knn,
double alpha,
SimilarityFunction<V> similarityFunction,
boolean models)
Constructor with parameters.
|
| Modifier and Type | Method and Description |
|---|---|
private static double[] |
computePerDimensionVariances(Relation<? extends NumberVector> relation,
double[] center,
DBIDs neighborhood)
Compute the per-dimension variances for the given neighborhood and center.
|
TypeInformation[] |
getInputTypeRestriction()
Get the input type restriction used for negotiating the data query.
|
protected Logging |
getLogger()
Get the (STATIC) logger for this class.
|
private DBIDs |
getNearestNeighbors(Relation<V> relation,
SimilarityQuery<V> simQ,
DBIDRef queryObject)
Get the k nearest neighbors in terms of the shared nearest neighbor
distance.
|
OutlierResult |
run(Relation<V> relation)
Performs the SOD algorithm on the given database.
|
private double |
subspaceOutlierDegree(V queryObject,
double[] center,
long[] weightVector)
Compute SOD score.
|
runclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitrunprivate static final Logging LOG
private int knn
private double alpha
private SimilarityFunction<V extends NumberVector> similarityFunction
private boolean models
public SOD(int knn,
double alpha,
SimilarityFunction<V> similarityFunction,
boolean models)
knn - knn valuealpha - Alpha parametersimilarityFunction - Shared nearest neighbor similarity functionmodels - Report generated modelspublic OutlierResult run(Relation<V> relation)
relation - Data relation to processprivate DBIDs getNearestNeighbors(Relation<V> relation, SimilarityQuery<V> simQ, DBIDRef queryObject)
relation - the database holding the objectssimQ - similarity functionqueryObject - the query object for which the kNNs should be determinedprivate static double[] computePerDimensionVariances(Relation<? extends NumberVector> relation, double[] center, DBIDs neighborhood)
relation - Data relationcenter - Center vectorneighborhood - Neighborsprivate double subspaceOutlierDegree(V queryObject, double[] center, long[] weightVector)
queryObject - Query objectcenter - Center vectorweightVector - Weight vectorpublic TypeInformation[] getInputTypeRestriction()
AbstractAlgorithmgetInputTypeRestriction in interface AlgorithmgetInputTypeRestriction in class AbstractAlgorithm<OutlierResult>protected Logging getLogger()
AbstractAlgorithmgetLogger in class AbstractAlgorithm<OutlierResult>Copyright © 2019 ELKI Development Team. License information.