ELKI: Environment for DeveLoping KDDApplications Supported by IndexStructures.
ELKI is a generic framework for a broad range of KDDapplications and their development. For background, contactinformation, and contributors see https://elkiproject.github.io/.
This is the documentation for version 0.8.0, published as:
Erich Schubert:
Automatic Indexing for Similarity Search in ELKI
Int. Conf. Similarity Search and Applications
https://doi.org/10.1007/9783031178498_16
Getting started
The ELKI website contains additional documentation. A Tutorial exported is included with this documentation and a good place to start.
Invocation
To use the KDDFramework we recommend an executable .jarfile:
elki.jar. Since release 0.3 it will by default invoke a minimalistic GUI called MiniGUI when
you call java jar elki.jar
. For command line use (for example for batch processing and scripted operation),
you can get a description of usage by calling java jar elki.jar KDDCLIApplication h
.
The MiniGUI can also serve as a utility for building command lines, as it will print the full command line to the log window.
For more information on using files and available formats
as data input see elki.datasource.parser
. ELKI uses
a whitespace separated vector format by default, but there also is a parser for
ARFF files included that can read most ARFF files (mixing sparse and dense vectors is currently not allowed).
An extensive list of parameters can be browsed sorted by class or sorted by option ID.
Some examples of completely parameterized calls for different algorithms are described at example calls.
A list of related publications, giving details on many implemented algorithms, can be found in the class article references list.
Workflow  Where Do Which Objects Go?
The database connection manages reading of input files or databases and provides a
Database
Object  including index structures  as a virtual database to the KDDTask.
The KDDTask applies a specified algorithm on this database and collects the result from the algorithm.
Finally, KDDTask hands on the obtained result to a ResultHandler
.
The defaulthandler is ResultWriter
, writing the result to STDOUT or,
if specified, into a file.
Database and indexing layer
The database and indexing layer is a key component of ELKI.
This is not just a storage for double[]
, as with many other frameworks.
It can store various types of objects, and the integrated index structures provide access to fast
distance
,
similarity
,
kNN
,
RkNN
and
range
query methods
for a variety of distance functions.
The standard flow for initializing a database is as depicted here:
The standard streambased data sources such as
FileBasedDatabaseConnection
will open the stream, feed the contents through a
Parser
to obtain an initial
MultipleObjectsBundle
. This is
a temporary container for the data, which can then be modified by arbitrary
ObjectFilter
s.
In the end, the
MultipleObjectsBundle
is bulkinserted into a Database
, which will then
invoke its IndexFactory
s to add
Index
instances to the appropriate relations.
When a request for a
distance
,
similarity
,
kNN
,
RkNN
or
range
query is received by the database,
it queries all indexes if they have support for this query. If so, an optimized query is returned,
otherwise a linear scan query can be returned unless
QueryBuilder.optimizedOnly()
was given.
For this optimization to work, you should be using the proper APIs of the
QueryBuilder
where possible, instead of
initializing low level classes such as an explicit linear scan query.
For efficiency, try to instantiate the query only once per algorithm run, and avoid running the optimization step for every object.
How to make use of this framework
Extension
To provide new applications one is simply to implement the specified interfaces. There are interfaces for a broad range of targets of development. Compare the tree of interfaces to get an overview concerning the provided interfaces.A good place to get started is to have a look at some of the existing algorithms, and see how they are implemented.
Visit the ELKI Wiki, which has a growing amount of documentation. You are also welcome to contribute, of course!
Parameterization API
ELKI is designed for commandline, GUI and Java operation. For commandline and GUI, an extensive help functionality is provided along with input assistance. Therefore, you should also support the parameterizable API. The requirements are quite different from regular Java constructors, and cannot be expressed in terms of a Java API.
For useful error reporting and input assistance in the GUI we need to have more extensive
typing than Java uses (for example we might need numerical constraints) and we also want to be able
to report more than one error at a time. In ELKI 0.4, much of the parameterization was
refactored to static helper classes usually found as a public static class Par
and instances of
Parameterizer
.
Keep the complexity of Parameterizer classes and constructors invoked by these classes low, since these may be heavily used during the parameterization step. Postpone any extensive initialization to the main algorithm invocation step!
Package  Description 

elki 
ELKI framework "Environment for Developing KDDApplications Supported by
IndexStructures".

elki.algorithm 
Miscellaneous algorithms.

elki.algorithm.statistics 
Statistical analysis algorithms.

elki.application 
Base classes for standalone applications.

elki.application.benchmark 
Benchmarking pseudo algorithms.

elki.application.cache 
Utility applications for the persistence layer such as distance cache
builders.

elki.application.experiments 
Packaged experiments to make them easy to reproduce.

elki.application.greedyensemble 
Greedy ensembles for outlier detection.

elki.application.internal 
Internal utilities for development.

elki.application.statistics 
Applications to compute some basic data set statistics.

elki.classification 
Classification algorithms.

elki.clustering 
Clustering algorithms.

elki.clustering.affinitypropagation 
Affinity Propagation (AP) clustering.

elki.clustering.biclustering 
Biclustering algorithms.

elki.clustering.correlation 
Correlation clustering algorithms.

elki.clustering.correlation.cash 
Helper classes for the
CASH
algorithm. 
elki.clustering.dbscan 
DBSCAN and its generalizations.

elki.clustering.dbscan.parallel 
Parallel versions of Generalized DBSCAN.

elki.clustering.dbscan.predicates 
Neighbor and core predicated for Generalized DBSCAN.

elki.clustering.dbscan.util 
Utility classes for specialized DBSCAN implementations.

elki.clustering.em 
ExpectationMaximization clustering algorithm for Gaussian Mixture Modeling
(GMM).

elki.clustering.em.models  
elki.clustering.hierarchical 
Hierarchical agglomerative clustering (HAC).

elki.clustering.hierarchical.birch 
BIRCH clustering.

elki.clustering.hierarchical.extraction 
Extraction of partitional clusterings from hierarchical results.

elki.clustering.hierarchical.linkage 
Linkages for hierarchical clustering.

elki.clustering.kcenter 
Kcenter clustering.

elki.clustering.kmeans 
Kmeans clustering and variations.

elki.clustering.kmeans.initialization 
Initialization strategies for kmeans.

elki.clustering.kmeans.initialization.betula 
Initialization methods for BIRCHbased kmeans and EM clustering.

elki.clustering.kmeans.parallel 
Parallelized implementations of kmeans.

elki.clustering.kmeans.quality 
Quality measures for kMeans results.

elki.clustering.kmeans.spherical 
Spherical kmeans clustering and variations.

elki.clustering.kmedoids 
Kmedoids clustering (PAM).

elki.clustering.kmedoids.initialization  
elki.clustering.meta 
Meta clustering algorithms, that get their result from other clusterings or
external sources.

elki.clustering.onedimensional 
Clustering algorithms for onedimensional data.

elki.clustering.optics 
OPTICS family of clustering algorithms.

elki.clustering.silhouette 
Silhouette clustering algorithms.

elki.clustering.subspace 
Axisparallel subspace clustering algorithms.

elki.clustering.subspace.clique 
Helper classes for the
CLIQUE
algorithm. 
elki.clustering.svm  
elki.clustering.trivial 
Trivial clustering algorithms: all in one, no clusters, label clusterings.

elki.clustering.uncertain 
Clustering algorithms for uncertain data.

elki.data 
Basic classes for different data types, database object types and label types.

elki.data.model 
Cluster models classes for various algorithms.

elki.data.projection 
Data projections.

elki.data.projection.random 
Random projection families.

elki.data.spatial 
Spatial data types  interfaces and utilities.

elki.data.synthetic.bymodel 
Generator using a distribution model specified in an XML configuration file.

elki.data.type 
Data type information, also used for type restrictions.

elki.data.uncertain 
Uncertain data objects.

elki.data.uncertain.uncertainifier 
Classes to generate uncertain objects from existing certain data.

elki.database 
ELKI database layer  loading, storing, indexing and accessing data.

elki.database.datastore 
General data store layer API (along the lines of
Map<DBID, T>  use everywhere!) 
elki.database.datastore.memory 
Memory data store implementation for ELKI.

elki.database.ids 
Database object identification and ID group handling API.

elki.database.ids.integer 
Integerbased DBID implementation 
do not use directly  always use
DBIDUtil . 
elki.database.query 
Database queries  computing distances, neighbors, similarities  API
and general documentation.

elki.database.query.distance 
Prepared queries for distances.

elki.database.query.knn 
Prepared queries for k nearest neighbor (kNN) queries.

elki.database.query.range 
Prepared queries for εrange queries, that return all objects within
the radius ε.

elki.database.query.rknn 
Prepared queries for reverse k nearest neighbor (rkNN) queries.

elki.database.query.similarity 
Prepared queries for similarity functions.

elki.database.relation 
Relations, materialized and virtual (views).

elki.datasource 
Data normalization (and reconstitution) of data sets.

elki.datasource.bundle 
Object bundles  exchange container for multirepresented objects.

elki.datasource.filter 
Data filtering, in particular for normalization and projection.

elki.datasource.filter.cleaning 
Filters for data cleaning.

elki.datasource.filter.normalization 
Data normalization.

elki.datasource.filter.normalization.columnwise 
Normalizations operating on columns / variates; where each column is treated independently.

elki.datasource.filter.normalization.instancewise 
Instancewise normalization, where each instance is normalized independently.

elki.datasource.filter.selection 
Filters for selecting and sorting data to process.

elki.datasource.filter.transform 
Data space transformations.

elki.datasource.filter.typeconversions 
Filters to perform data type conversions.

elki.datasource.parser 
Parsers for different file formats and data types.

elki.distance 
Distance functions for use within ELKI.

elki.distance.adapter 
Distance functions deriving distances from, e.g., similarity measures.

elki.distance.colorhistogram 
Distance functions for color histograms.

elki.distance.correlation 
Distance functions using correlations.

elki.distance.external 
Distance functions using external data sources.

elki.distance.geo 
Geographic (earth) distance functions.

elki.distance.histogram 
Distance functions for onedimensional histograms.

elki.distance.minkowski 
Minkowski space L_{p} norms such as the popular Euclidean and
Manhattan distances.

elki.distance.probabilistic 
Distance from probability theory, mostly divergences such as KLdivergence,
Jdivergence, Fdivergence, χ²divergence, etc.

elki.distance.set 
Distance functions for binary and set type data.

elki.distance.strings 
Distance functions for strings.

elki.distance.subspace 
Distance functions based on subspaces.

elki.distance.timeseries 
Distance functions designed for time series.

elki.evaluation 
Functionality for the evaluation of algorithms.

elki.evaluation.classification 
Evaluation of classification algorithms.

elki.evaluation.classification.holdout 
Holdout and crossvalidation strategies for evaluating classifiers.

elki.evaluation.clustering 
Evaluation of clustering results.

elki.evaluation.clustering.extractor 
Classes to extract clusterings from hierarchical clustering.

elki.evaluation.clustering.internal 
Internal evaluation measures for clusterings.

elki.evaluation.clustering.pairsegments 
Pairsegment analysis of multiple clusterings.

elki.evaluation.index 
Simple index evaluation methods.

elki.evaluation.outlier 
Evaluate an outlier score using a misclassification based cost model.

elki.evaluation.scores 
Evaluation of rankings and scorings.

elki.evaluation.scores.adapter 
Adapter classes for ranking and scoring measures.

elki.evaluation.similaritymatrix 
Render a distance matrix to visualize a clusteringdistancecombination.

elki.gui 
Graphical User Interfaces for ELKI.

elki.gui.configurator 
Configurator components.

elki.gui.icons 
Icons for ELKI GUI.

elki.gui.minigui 
A very simple UI to build ELKI command lines.

elki.gui.multistep 
Multistep GUI for ELKI.

elki.gui.multistep.panels 
Panels for the multistep GUI.

elki.gui.util 
Utility classes for GUIs (e.g., a class to display a logging panel).

elki.index 
Index structure implementations.

elki.index.distancematrix 
Precomputed distance matrix.

elki.index.idistance 
iDistance is a distance based indexing technique, using a reference points embedding.

elki.index.invertedlist 
Indexes using inverted lists.

elki.index.laesa 
Linear Approximating and Eliminating Search Algorithm (LAESA).

elki.index.lsh 
Locality Sensitive Hashing.

elki.index.lsh.hashfamilies 
Hash function families for LSH.

elki.index.lsh.hashfunctions 
Hash functions for LSH.

elki.index.preprocessed.fastoptics 
Preprocessed index used by the FastOPTICS algorithm.

elki.index.preprocessed.knn 
Indexes providing KNN and rKNN data.

elki.index.preprocessed.snn 
Indexes providing nearest neighbor sets.

elki.index.projected 
Projected indexes for data.

elki.index.tree 
Treebased index structures.

elki.index.tree.betula 
BETULA clustering by aggregating the data into cluster features.

elki.index.tree.betula.distance 
Distance functions for BETULA and BIRCH.

elki.index.tree.betula.features 
Different variants of Betula and BIRCH cluster features.

elki.index.tree.metrical 
Treebased index structures for metrical vector spaces.

elki.index.tree.metrical.covertree 
Covertree variations.

elki.index.tree.metrical.mtreevariants 
Mtree and variants.

elki.index.tree.metrical.mtreevariants.mktrees 
Metrical index structures based on the concepts of the MTree
supporting processing of reverse k nearest neighbor queries by
using the knn distances of the entries.

elki.index.tree.metrical.mtreevariants.mktrees.mkapp  
elki.index.tree.metrical.mtreevariants.mktrees.mkcop  
elki.index.tree.metrical.mtreevariants.mktrees.mkmax  
elki.index.tree.metrical.mtreevariants.mktrees.mktab  
elki.index.tree.metrical.mtreevariants.mtree  
elki.index.tree.metrical.mtreevariants.query 
Classes for performing queries (knn, range, ...) on metrical trees.

elki.index.tree.metrical.mtreevariants.strategies.insert 
Insertion (choose path) strategies of nodes in an Mtree (and variants).

elki.index.tree.metrical.mtreevariants.strategies.split 
Splitting strategies of nodes in an Mtree (and variants).

elki.index.tree.metrical.mtreevariants.strategies.split.distribution 
Entry distribution strategies of nodes in an Mtree (and variants).

elki.index.tree.metrical.vptree  
elki.index.tree.spatial 
Treebased index structures for spatial indexing.

elki.index.tree.spatial.kd 
Kdtree and variants.

elki.index.tree.spatial.kd.split  
elki.index.tree.spatial.rstarvariants 
R*tree and variants.

elki.index.tree.spatial.rstarvariants.deliclu  
elki.index.tree.spatial.rstarvariants.flat  
elki.index.tree.spatial.rstarvariants.query 
Queries on the RTree family of indexes: kNN and range queries.

elki.index.tree.spatial.rstarvariants.rdknn  
elki.index.tree.spatial.rstarvariants.rstar  
elki.index.tree.spatial.rstarvariants.strategies.bulk 
Packages for bulkloading R*trees.

elki.index.tree.spatial.rstarvariants.strategies.insert 
Insertion strategies for Rtrees.

elki.index.tree.spatial.rstarvariants.strategies.overflow 
Overflow treatment strategies for Rtrees.

elki.index.tree.spatial.rstarvariants.strategies.reinsert 
Reinsertion strategies for Rtrees.

elki.index.tree.spatial.rstarvariants.strategies.split 
Splitting strategies for Rtrees.

elki.index.tree.spatial.rstarvariants.util 
Utilities for R*tree and variants.

elki.index.vafile 
Vector Approximation File.

elki.itemsetmining 
Algorithms for frequent itemset mining such as APRIORI.

elki.itemsetmining.associationrules 
Association rule mining.

elki.itemsetmining.associationrules.interest 
Association rule interestingness measures.

elki.logging 
Logging facility for controlling logging behavior of the complete framework.

elki.logging.progress 
Progress status objects (for UI).

elki.logging.statistics 
Classes for logging various statistics.

elki.math 
Mathematical operations and utilities used throughout the framework.

elki.math.geodesy 
Functions for computing on the sphere / earth.

elki.math.geometry 
Algorithms from computational geometry.

elki.math.linearalgebra 
The linear algebra package provides classes and computational methods for
operations on matrices and vectors.

elki.math.linearalgebra.fitting 
Function to numerically fit a function (such as a
Gaussian distribution ) to given data. 
elki.math.linearalgebra.pca 
Principal Component Analysis (PCA) and eigenvector processing.

elki.math.linearalgebra.pca.filter 
Filter eigenvectors based on their eigenvalues.

elki.math.linearalgebra.pca.weightfunctions 
Weight functions used in weighted PCA via
WeightedCovarianceMatrixBuilder . 
elki.math.scales 
Scales handling for plotting.

elki.math.spacefillingcurves 
Space filling curves.

elki.math.statistics 
Statistical tests and methods.

elki.math.statistics.dependence 
Statistical measures of dependence, such as correlation.

elki.math.statistics.dependence.mcde 
Tests tailored to be used with
MCDEDependence . 
elki.math.statistics.distribution 
Standard distributions, with random generation functionalities.

elki.math.statistics.distribution.estimator 
Estimators for statistical distributions.

elki.math.statistics.distribution.estimator.meta 
Meta estimators: estimators that do not actually estimate themselves, but
instead use other estimators, e.g., on a trimmed data set, or as an ensemble.

elki.math.statistics.intrinsicdimensionality 
Methods for estimating the intrinsic dimensionality.

elki.math.statistics.kernelfunctions 
Kernel functions from statistics.

elki.math.statistics.tests 
Statistical tests.

elki.outlier 
Outlier detection algorithms.

elki.outlier.anglebased 
Anglebased outlier detection algorithms.

elki.outlier.clustering 
Clustering based outlier detection.

elki.outlier.density 
Densitybased outlier detection algorithms.

elki.outlier.distance 
Distancebased outlier detection algorithms, such as DBOutlier and kNN.

elki.outlier.distance.parallel 
Parallel implementations of distancebased outlier detectors.

elki.outlier.intrinsic 
Outlier detection algorithms based on intrinsic dimensionality.

elki.outlier.lof 
LOF family of outlier detection algorithms.

elki.outlier.lof.parallel 
Parallelized variants of LOF.

elki.outlier.meta 
Meta outlier detection algorithms: external scores, score rescaling.

elki.outlier.spatial 
Spatial outlier detection algorithms.

elki.outlier.spatial.neighborhood 
Spatial outlier neighborhood classes.

elki.outlier.spatial.neighborhood.weighted 
Weighted neighborhood definitions.

elki.outlier.subspace 
Subspace outlier detection methods.

elki.outlier.svm 
SupportVectorMachines for outlier detection.

elki.outlier.trivial 
Trivial outlier detection algorithms: no outliers, all outliers, label
outliers.

elki.parallel 
Parallel processing core for ELKI.

elki.parallel.processor 
Processor API of ELKI, and some essential shared processors.

elki.parallel.variables 
Variables are instantiated for each thread, and allow passing values from
one processor to another within the same thread.

elki.persistent 
Persistent data management.

elki.projection 
Data projections (see also preprocessing filters for basic projections).

elki.result 
Result types, representation and handling.

elki.result.outlier 
Outlier result classes.

elki.result.textwriter 
Text serialization (CSV, Gnuplot, Console, ...).

elki.result.textwriter.naming 
Naming schemes for clusters (for output when an algorithm does not generate
cluster names).

elki.result.textwriter.writers 
Serialization handlers for individual data types.

elki.similarity 
Similarity functions.

elki.similarity.cluster 
Similarity measures for comparing clusters.

elki.similarity.kernel 
Kernel functions.

elki.svm  
elki.svm.data  
elki.svm.model  
elki.svm.qmatrix  
elki.svm.solver  
elki.timeseries 
Algorithms for change point detection in time series.

elki.utilities 
Utility and helper classes  commonly used data structures, output
formatting, exceptions, ...

elki.utilities.datastructures 
Basic memory structures such as heaps and object hierarchies.

elki.utilities.datastructures.arraylike 
Common API for accessing objects that are "arraylike", including lists,
numerical vectors, database vectors and arrays.

elki.utilities.datastructures.arrays 
Utilities for arrays: advanced sorting for primitive arrays.

elki.utilities.datastructures.heap 
Heap structures and variations such as bounded priority heaps.

elki.utilities.datastructures.hierarchy 
Delegate implementation of a hierarchy.

elki.utilities.datastructures.histogram 
Classes for computing histograms.

elki.utilities.datastructures.iterator 
ELKI Iterator API.

elki.utilities.datastructures.range 
Ranges of values.

elki.utilities.datastructures.unionfind 
Unionfind data structures.

elki.utilities.documentation 
Documentation utilities: Annotations for Title, Description, Reference.

elki.utilities.ensemble 
Utility classes for simple ensembles.

elki.utilities.exceptions 
Exception classes and common exception messages.

elki.utilities.io 
Utility classes for input/output.

elki.utilities.optionhandling 
Parameter handling and option descriptions.

elki.utilities.optionhandling.constraints 
Constraints allow to restrict possible values for parameters.

elki.utilities.optionhandling.parameterization 
Configuration managers.

elki.utilities.optionhandling.parameters 
Classes for various typed parameters.

elki.utilities.pairs 
Pairs utility classes.

elki.utilities.random 
Random number generation.

elki.utilities.referencepoints 
Package containing strategies to obtain reference points.

elki.utilities.scaling 
Scaling functions: linear, logarithmic, gamma, clipping, ...

elki.utilities.scaling.outlier 
Scaling of outlier scores, that require a statistical analysis of the
occurring values.

elki.utilities.xml 
XML and XHTML utilities.

elki.visualization 
Visualization package of ELKI.

elki.visualization.batikutil 
Commonly used functionality useful for Apache Batik.

elki.visualization.colors 
Color scheme handling for ELKI visualization.

elki.visualization.css 
Managing CSS styles / classes.

elki.visualization.gui 
Package to provide a visualization GUI.

elki.visualization.gui.detail 
Classes for managing a detail view.

elki.visualization.gui.overview 
Classes for managing the overview plot.

elki.visualization.opticsplot 
Code for drawing OPTICS plots.

elki.visualization.parallel3d 
3DPC: 3D parallel coordinate plot visualization for ELKI.

elki.visualization.parallel3d.layout 
Layouting algorithms for 3D parallel coordinate plots.

elki.visualization.parallel3d.util 
Utility classes (primarily rendering utilities).

elki.visualization.projections 
Visualization projections.

elki.visualization.projector 
Projectors are responsible for finding appropriate projections for data
relations.

elki.visualization.savedialog 
Save dialog for SVG plots.

elki.visualization.silhouette 
Code for drawing silhouette plots.

elki.visualization.style 
Style management for ELKI visualizations.

elki.visualization.style.lines 
Generate line styles for plotting in CSS.

elki.visualization.style.marker 
Draw plot markers.

elki.visualization.svg 
Base SVG functionality (generation, markers, thumbnails, export, ...).

elki.visualization.visualizers 
Visualizers for various results.

elki.visualization.visualizers.actions 
Actiononly "visualizers" that only produce menu entries.

elki.visualization.visualizers.histogram 
Visualizers based on 1D projected histograms.

elki.visualization.visualizers.optics 
Visualizers that do work on OPTICS plots.

elki.visualization.visualizers.pairsegments 
Visualizers for inspecting cluster differences using pair counting segments.

elki.visualization.visualizers.parallel 
Visualizers based on parallel coordinates.

elki.visualization.visualizers.parallel.cluster 
Visualizers for clustering results based on parallel coordinates.

elki.visualization.visualizers.parallel.index 
Visualizers for index structure based on parallel coordinates.

elki.visualization.visualizers.parallel.selection 
Visualizers for object selection based on parallel projections.

elki.visualization.visualizers.scatterplot 
Visualizers based on scatterplots.

elki.visualization.visualizers.scatterplot.cluster 
Visualizers for clustering results based on 2D projections.

elki.visualization.visualizers.scatterplot.density 
Visualizers for data set density in a scatterplot projection.

elki.visualization.visualizers.scatterplot.index 
Visualizers for index structures based on 2D projections.

elki.visualization.visualizers.scatterplot.outlier 
Visualizers for outlier scores based on 2D projections.

elki.visualization.visualizers.scatterplot.selection 
Visualizers for object selection based on 2D projections.

elki.visualization.visualizers.scatterplot.uncertain 
Visualizers for uncertain data.

elki.visualization.visualizers.silhouette 
Visualizers that do work on Silhouette plots.

elki.visualization.visualizers.thumbs 
Thumbnail "Visualizers" (that take care of refreshing thumbnails).

elki.visualization.visualizers.visunproj 
Visualizers that do not use a particular projection.

elki.workflow 
Work flow packages, e.g., following the usual KDD model.

tutorial.clustering 
Classes from the tutorial on implementing a custom kmeans variation.

tutorial.distancefunction 
Classes from the tutorial on implementing distance functions.

tutorial.javaapi 
Examples how to invoke ELKI from Java.

tutorial.outlier 
Tutorials on implementing outlier detection methods in ELKI.
