O
- Object type@Title(value="Fast Outlier Detection in High Dimensional Spaces") @Description(value="Algorithm to compute outliers using Hilbert space filling curves") @Reference(authors="F. Angiulli, C. Pizzuti", title="Fast Outlier Detection in High Dimensional Spaces", booktitle="Proc. European Conf. Principles of Knowledge Discovery and Data Mining (PKDD\'02)", url="https://doi.org/10.1007/3-540-45681-3_2", bibkey="DBLP:conf/pkdd/AngiulliP02") @Alias(value="de.lmu.ifi.dbs.elki.algorithm.outlier.HilOut") public class HilOut<O extends NumberVector> extends AbstractDistanceBasedAlgorithm<O,OutlierResult> implements OutlierAlgorithm
Outlier Detection using Hilbert space filling curves
Reference:
F. Angiulli, C. Pizzuti
Fast Outlier Detection in High Dimensional Spaces
Proc. European Conf. Principles of Knowledge Discovery and Data Mining
(PKDD'02)
Modifier and Type | Class and Description |
---|---|
(package private) class |
HilOut.HilbertFeatures
Class organizing the data points along a hilbert curve.
|
(package private) static class |
HilOut.HilFeature
Hilbert representation of a single object.
|
static class |
HilOut.Parameterizer<O extends NumberVector>
Parameterization class
|
static class |
HilOut.ScoreType
Type of output: all scores (upper bounds) or top n only
|
Modifier and Type | Field and Description |
---|---|
private int |
capital_n
Set sizes, total and current iteration
|
private int |
capital_n_star
Set sizes, total and current iteration
|
private int |
d
Set sizes, total and current iteration
|
private DistanceQuery<O> |
distq
Distance query
|
private int |
h
Hilbert precision
|
private int |
k
Number of nearest neighbors
|
private static Logging |
LOG
The logger for this class.
|
private int |
n
Number of outliers to compute exactly
|
private int |
n_star
Set sizes, total and current iteration
|
private double |
omega_star
Outlier threshold
|
private double |
t
LPNorm p parameter
|
private java.lang.Enum<HilOut.ScoreType> |
tn
Reporting mode: exact (top n) only, or all
|
ALGORITHM_ID
DISTANCE_FUNCTION_ID
Modifier | Constructor and Description |
---|---|
protected |
HilOut(LPNormDistanceFunction distfunc,
int k,
int n,
int h,
java.lang.Enum<HilOut.ScoreType> tn)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
TypeInformation[] |
getInputTypeRestriction()
Get the input type restriction used for negotiating the data query.
|
protected Logging |
getLogger()
Get the (STATIC) logger for this class.
|
private void |
innerScan(HilOut.HilbertFeatures hf,
int i,
int maxcount)
innerScan function calculates new upper and lower bounds and inserts the
points of the neighborhood the bounds are based on in the NN Set
|
OutlierResult |
run(Database database,
Relation<O> relation) |
private void |
scan(HilOut.HilbertFeatures hf,
int k0)
Scan function performs a squential scan over the data.
|
private void |
trueOutliers(HilOut.HilbertFeatures h)
trueOutliers function updates n_star
|
getDistanceFunction
run
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
run
private static final Logging LOG
private int k
private int n
private int h
private double t
private java.lang.Enum<HilOut.ScoreType> tn
private DistanceQuery<O extends NumberVector> distq
private int capital_n
private int n_star
private int capital_n_star
private int d
private double omega_star
protected HilOut(LPNormDistanceFunction distfunc, int k, int n, int h, java.lang.Enum<HilOut.ScoreType> tn)
k
- Number of Next Neighborsn
- Number of Outlierh
- Number of Bits for precision to use - max 32tn
- TopN or All Outlier Rank to returnpublic OutlierResult run(Database database, Relation<O> relation)
private void scan(HilOut.HilbertFeatures hf, int k0)
hf
- the hilbert featuresk0
- private void innerScan(HilOut.HilbertFeatures hf, int i, int maxcount)
i
- position in pf of the feature for which the bounds should be
calculatedmaxcount
- maximal size of the neighborhoodprivate void trueOutliers(HilOut.HilbertFeatures h)
h
- the HilberFeaturesprotected Logging getLogger()
AbstractAlgorithm
getLogger
in class AbstractAlgorithm<OutlierResult>
public TypeInformation[] getInputTypeRestriction()
AbstractAlgorithm
getInputTypeRestriction
in interface Algorithm
getInputTypeRestriction
in class AbstractAlgorithm<OutlierResult>
Copyright © 2019 ELKI Development Team. License information.