Tipus | programari científic, machine learning framework (en) i programari lliure |
---|---|
Versió estable | |
Llicència | GNU Affero General Public License |
Característiques tècniques | |
Sistema operatiu | Microsoft Windows |
Plataforma | Windows, Linux, macOS |
Escrit en | java |
Equip | |
Desenvolupador(s) | Universitat de Múnic |
Més informació | |
Lloc web | elki-project.github.io |
Free Software Directory | ELKI |
| |
ELKI (Environment for Developing KDD-Applications Supported by Index-Structures) és un marc de programari de mineria de dades (KDD, descobriment de coneixement en bases de dades) desenvolupat per al seu ús en recerca i ensenyament. Originalment estava a la unitat de recerca de sistemes de bases de dades del professor Hans-Peter Kriegel a la Universitat Ludwig Maximilian de Munic, Alemanya, i ara continua a la Universitat Tècnica de Dortmund, Alemanya. Pretén permetre el desenvolupament i l'avaluació d'algoritmes avançats de mineria de dades i la seva interacció amb estructures d'índex de bases de dades.
El marc ELKI està escrit en Java i construït al voltant d'una arquitectura modular. La majoria dels algorismes inclosos actualment pertanyen a l'agrupació, la detecció de valors atípics,[1] i els índexs de bases de dades. L'arquitectura orientada a objectes permet la combinació d'algorismes arbitraris, tipus de dades, funcions de distància, índexs i mesures d'avaluació. El compilador just-in-time de Java optimitza totes les combinacions en una mesura similar, fent que els resultats de l'anàlisi comparativa siguin més comparables si comparteixen grans parts del codi. Quan es desenvolupen nous algorismes o estructures d'índex, els components existents es poden reutilitzar fàcilment, i el tipus de seguretat de Java detecta molts errors de programació en temps de compilació.
ELKI s'ha utilitzat en ciències de dades, per exemple, per agrupar codis de catxalot,[2] agrupació de fonemes,[3] per a la detecció d'anomalies en operacions de vols espacials,[4] per a la redistribució de bicicletes compartides,[5] i predicció del trànsit.[6]
El projecte universitari està desenvolupat per utilitzar-lo en la docència i la recerca . El codi font està escrit tenint en compte l'extensibilitat i la reutilització, però també està optimitzat per al rendiment. L'avaluació experimental dels algorismes depèn de molts factors ambientals i els detalls de la implementació poden tenir un gran impacte en el temps d'execució.[7] ELKI té com a objectiu proporcionar una base de codi compartida amb implementacions comparables de molts algorismes.
ELKI es modela al voltant d'un nucli inspirat en bases de dades, que utilitza un disseny de dades vertical que emmagatzema dades en grups de columnes (similar a les famílies de columnes a les bases de dades NoSQL). Aquest nucli de la base de dades proporciona la cerca de veí més proper, la cerca per rang/radi i la consulta de distància amb acceleració d'índex per a una àmplia gamma de mesures de dissimilaritat. Els algorismes basats en aquestes consultes (per exemple, l'algoritme k-nearest-neighbor, el factor atípic local i DBSCAN) es poden implementar fàcilment i beneficiar-se de l'acceleració de l'índex. El nucli de la base de dades també proporciona col·leccions ràpides i eficients de memòria per a col·leccions d'objectes i estructures associatives com ara llistes de veïns més propers.
El mòdul de visualització utilitza SVG per a la sortida de gràfics escalables i Apache Batik per a la representació de la interfície d'usuari, així com l'exportació sense pèrdues a PostScript i PDF per incloure'ls fàcilment en publicacions científiques a LaTeX. Els fitxers exportats es poden editar amb editors SVG com ara Inkscape. Com que s'utilitzen fulls d'estil en cascada, el disseny gràfic es pot redissenyar fàcilment. Malauradament, el Batik és bastant lent i requereix molta memòria, de manera que les visualitzacions no són molt escalables per a grans conjunts de dades (per a conjunts de dades més grans, només es visualitza una submostra de les dades per defecte).