# Environment for DeveLoping KDD-Applications Supported by Index-Structures

Environment for DeveLoping KDD-Applications Supported by Index-Structures (ELKI), auf Deutsch etwa „Umgebung zur Entwicklung von Wissensentdeckung-Anwendungen mit Indexstruktur-Unterstützung“, ist ein Forschungsprojekt, das ursprünglich am Datenbanken-Lehrstuhl von Professor Hans-Peter Kriegel an der Ludwig-Maximilians-Universität München entwickelt wurde, und jetzt an der Technischen Universität Dortmund unter der Leitung von Professor Erich Schubert weitergeführt wird.
Es handelt sich um ein in Java geschriebenes, modulares Softwarepaket („Framework“) zur Knowledge Discovery in Databases. Der Fokus liegt auf Verfahren zur Clusteranalyse, Ausreißer-Erkennung sowie der Verwendung von Indexstrukturen in solchen Verfahren. Als Forschungsprojekt einer Universität liegt der Fokus auf einer einfachen Erweiterbarkeit, Lesbarkeit und in der Verwendung in Forschung und Lehre an der Universität, nicht in maximaler Geschwindigkeit oder in der Integration mit bestehenden Business-Intelligence-Anwendungen. So verfügt bisher beispielsweise keine der freigegebenen Versionen über eine Datenbankschnittstelle zu bestehenden industriellen Datenbanksystemen, und eine Verwendung der Software setzt Vorwissen und ein Lesen der Dokumentation voraus. Die Zielgruppe für das Projekt sind Forscher, Studenten und Softwareentwickler.
Die modulare Architektur der Software erlaubt zahlreiche Kombinationen der enthaltenen Algorithmen, Datentypen, Distanzmaßen und Indexstrukturen. Bei der Entwicklung neuer Verfahren oder Distanzen kann daher das neue Modul einfach mit den bestehenden Modulen kombiniert und evaluiert werden. Die Visualisierungsmodule erlauben es dabei oft, die Ergebnisse einfach darzustellen und so zu vergleichen. Der Entwicklungsaufwand und die Entwicklungszeit solcher Module wird durch die Wiederverwendung bestehenden Programmcodes erheblich vereinfacht, so dass die Software gut als Basis für Seminar-, Diplom- und Master-Arbeiten verwendet werden kann.

## Enthaltene Algorithmen

In ELKI enthalten sind unter anderem folgende Algorithmen (Auszug):
* K-Means Clustering
* EM-Algorithmus – Expectation-Maximization-Algorithmus
* Apriori-Algorithmus
* Single-linkage clustering
* Hierarchische Clusteranalyse
* DBSCAN (Density-Based Spatial Clustering of Applications with Noise)
* OPTICS (Ordering Points To Identify the Clustering Structure), inklusive der Weiterentwicklungen OPTICS-OF, DeLiClu, HiSC, HiCO und DiSH
* Local Outlier Factor (LOF)
* R-Baum, R*-Baum und M-Baum
* Multidimensionale Skalierung

## Versionsgeschichte

Version 0.1 (Juli 2008) enthielt bereits zahlreiche Algorithmen aus den Bereichen Clusteranalyse und Ausreißer-Erkennung, sowie einige Indexstrukturen wie den R*-Baum. Der Fokus des ersten Releases war auf Subspace-Clustering-Verfahren.
Version 0.2 (Juli 2009) fügte Funktionen zur Zeitreihenanalyse hinzu, insbesondere Distanzfunktionen hierfür.
Version 0.3 (März 2010) erweiterte die Auswahl an Outlier-Detection-Algorithmen und Visualisierungsmodulen.
Version 0.4 (August 2011) fügt zahlreiche Verfahren zum Erkennen von räumlichen Ausreißern in Geodaten hinzu.
Version 0.5 (April 2012) hat den Schwerpunkt der Evaluierung von Clusteranalyse-Ergebnissen, neue Visualisierungen und ein paar neue Algorithmen.
Version 0.6 (Juni 2013 / Januar 2014) kommt mit einer Erweiterung für 3D Parallele Koordinaten und zusätzlichen Algorithmen.
Version 0.7 (August 2015) fügt unsichere Datentypen und Algorithmen für unsichere Daten hinzu.
Version 0.7.5 (Februar 2019) fügt zusätzliche Clusteringverfahren, Ausreißermethoden, Evaluationsmaße und Indexstrukturen hinzu.
Version 0.8.0 (Oktober 2022) wählt automatisch geeignete Indexstrukturen zur Beschleunigung von Algorithmen, die zuvor vom Nutzer ausgewählt und aktiviert werden mussten.

## Auszeichnungen

ELKI begann als Implementation der Doktorarbeit von Arthur Zimek, die den „SIGKDD Doctoral Dissertation Award 2009 Runner-up“ der Association for Computing Machinery für ihre Beiträge zum „Correlation Clustering“ gewann. Die im Zuge der Dissertation publizierten Algorithmen (4C, COPAC, HiCO, ERiC, CASH) zusammen mit ein paar Vorläufern und Vergleichsverfahren sind in ELKI verfügbar.
Die Demonstration der Version 0.4 auf der Konferenz “Symposium on Spatial and Temporal Databases 2011” mit den Geo-Outlier-Erweiterungen für ELKI gewann den “Best Demonstration Paper Award” der Konferenz.

## Verwandte Anwendungen

* KNIME (Konstanz Information Miner) – Projekt der Universität Konstanz zur interaktiven Datenanalyse in Eclipse.
* RapidMiner – eine frei und kommerziell verfügbare Anwendung mit dem Schwerpunkt maschinelles Lernen.
* Scikit-learn – Python-Projekt mit Verfahren aus dem maschinellen Lernen.
* WEKA – ein ähnliches Projekt der Universität Waikato, mit einem Schwerpunkt auf Klassifizierungs-Algorithmen.