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.