
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 Conference on Principles of Knowledge Discovery and Data Mining (PKDD\'02)", url="http://dx.doi.org/10.1145/375663.375668") public class HilOut<O extends NumberVector<?>> extends AbstractDistanceBasedAlgorithm<O,DoubleDistance,OutlierResult> implements OutlierAlgorithm
 F. Angiulli, C. Pizzuti:
 Fast Outlier Detection in High Dimensional Spaces.
 In: Proc. European Conference on Principles of Knowledge Discovery and Data
 Mining (PKDD'02), Helsinki, Finland, 2002.
 
| Modifier and Type | Class and Description | 
|---|---|
| (package private) class  | HilOut.HilbertFeaturesClass organizing the data points along a hilbert curve. | 
| (package private) static class  | HilOut.HilFeatureHilbert representation of a single object. | 
| static class  | HilOut.Parameterizer<O extends NumberVector<?>>Parameterization class | 
| static class  | HilOut.ScoreTypeType of output: all scores (upper bounds) or top n only | 
| Modifier and Type | Field and Description | 
|---|---|
| private int | capital_nSet sizes, total and current iteration | 
| private int | capital_n_starSet sizes, total and current iteration | 
| private int | dSet sizes, total and current iteration | 
| private DistanceQuery<O,DoubleDistance> | distqDistance query | 
| private int | hHilbert precision | 
| private int | kNumber of nearest neighbors | 
| private static Logging | LOGThe logger for this class. | 
| private int | nNumber of outliers to compute exactly | 
| private int | n_starSet sizes, total and current iteration | 
| private double | omega_starOutlier threshold | 
| private double | tLPNorm p parameter | 
| private Enum<HilOut.ScoreType> | tnReporting mode: exact (top n) only, or all | 
DISTANCE_FUNCTION_ID| Modifier | Constructor and Description | 
|---|---|
| protected  | HilOut(LPNormDistanceFunction distfunc,
      int k,
      int n,
      int h,
      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 | 
getDistanceFunctionmakeParameterDistanceFunction, runclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitrunprivate static final Logging LOG
private int k
private int n
private int h
private double t
private Enum<HilOut.ScoreType> tn
private DistanceQuery<O extends NumberVector<?>,DoubleDistance> 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, 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()
AbstractAlgorithmgetLogger in class AbstractAlgorithm<OutlierResult>public TypeInformation[] getInputTypeRestriction()
AbstractAlgorithmgetInputTypeRestriction in interface AlgorithmgetInputTypeRestriction in class AbstractAlgorithm<OutlierResult>