stringtranslate.com

ELKI

ELKI ( Entorno para el desarrollo de aplicaciones KDD respaldadas por estructuras de índice ) es un marco de software de minería de datos (KDD, descubrimiento de conocimientos en bases de datos) desarrollado para su uso en investigación y enseñanza. Originalmente estuvo en la unidad de investigación de sistemas de bases de datos del profesor Hans-Peter Kriegel en la Universidad Ludwig Maximilian de Munich , Alemania, y ahora continuó en la Universidad Técnica de Dortmund , Alemania. Su objetivo es permitir el desarrollo y evaluación de algoritmos avanzados de minería de datos y su interacción con estructuras de índices de bases de datos .

Descripción

El marco ELKI está escrito en Java y construido alrededor de una arquitectura modular. La mayoría de los algoritmos incluidos actualmente pertenecen a la agrupación , la detección de valores atípicos , [1] y los índices de bases de datos . La arquitectura orientada a objetos permite la combinación de algoritmos, tipos de datos, funciones de distancia , índices y medidas de evaluación arbitrarios. El compilador justo a tiempo de Java optimiza todas las combinaciones de manera similar, lo que hace que los resultados de las evaluaciones comparativas sean más comparables si comparten grandes partes del código. Al desarrollar nuevos algoritmos o estructuras de índice, los componentes existentes se pueden reutilizar fácilmente y la seguridad de tipos de Java detecta muchos errores de programación en el momento de la compilación.

ELKI se ha utilizado en ciencia de datos, por ejemplo, para agrupar codas de cachalotes , [2] agrupación de fonemas , [3] para la detección de anomalías en operaciones de vuelos espaciales , [4] para la redistribución de bicicletas compartidas , [5] y predicción del tráfico. [6]

Objetivos

El proyecto universitario se desarrolla para su uso en la docencia y la investigación . El código fuente está escrito teniendo en cuenta la extensibilidad y la reutilización, pero también está optimizado para el rendimiento. La evaluación experimental de algoritmos depende de muchos factores ambientales y los detalles de implementación pueden tener un gran impacto en el tiempo de ejecución. [7] ELKI tiene como objetivo proporcionar una base de código compartida con implementaciones comparables de muchos algoritmos.

Como proyecto de investigación, actualmente no ofrece integración con aplicaciones de inteligencia empresarial ni una interfaz con sistemas comunes de gestión de bases de datos vía SQL . La licencia copyleft ( AGPL ) también puede ser un obstáculo para la integración en productos comerciales; sin embargo, se puede utilizar para evaluar algoritmos antes de desarrollar una implementación propia para un producto comercial. Además, la aplicación de los algoritmos requiere conocimiento sobre su uso, parámetros y estudio de la literatura original. La audiencia son estudiantes , investigadores , científicos de datos e ingenieros de software .

Arquitectura

ELKI se basa en un núcleo inspirado en una base de datos , que utiliza un diseño de datos vertical que almacena datos en grupos de columnas (similar a las familias de columnas en las bases de datos NoSQL ). Este núcleo de base de datos proporciona funciones de búsqueda de vecino más cercano , búsqueda de rango/radio y consulta de distancia con aceleración de índice para una amplia gama de medidas de disimilitud . Los algoritmos basados ​​en este tipo de consultas (por ejemplo, el algoritmo k-vecino más cercano , el factor de valores atípicos locales y DBSCAN ) se pueden implementar fácilmente y beneficiarse de la aceleración del índice. El núcleo de la base de datos también proporciona colecciones rápidas y eficientes en memoria para colecciones de objetos y estructuras asociativas, como listas de vecinos más cercanos.

ELKI hace un uso extensivo de las interfaces Java, por lo que se puede ampliar fácilmente en muchos lugares. Por ejemplo, se pueden agregar y combinar tipos de datos personalizados, funciones de distancia, estructuras de índice, algoritmos, analizadores de entrada y módulos de salida sin modificar el código existente. Esto incluye la posibilidad de definir una función de distancia personalizada y utilizar índices existentes para la aceleración.

ELKI utiliza una arquitectura de cargador de servicios para permitir la publicación de extensiones como archivos jar separados .

ELKI utiliza colecciones optimizadas para el rendimiento en lugar de la API de Java estándar. [8] Los bucles For, por ejemplo, se escriben de forma similar a los iteradores de C++ :

 for ( DBIDIter iter = ids . iter (); iter . valid (); iter . advanced ()) { relación . obtener ( iterar ); // Por ejemplo, obtener el objeto referenciado idcollection . agregar ( iterar ); // Por ejemplo, agrega la referencia a una colección DBID }            

A diferencia de los iteradores típicos de Java (que sólo pueden iterar sobre objetos), esto conserva la memoria, porque el iterador puede utilizar internamente valores primitivos para el almacenamiento de datos. La recolección de basura reducida mejora el tiempo de ejecución. Las bibliotecas de colecciones optimizadas como GNU Trove3, Koloboke y fastutil emplean optimizaciones similares. ELKI incluye estructuras de datos como colecciones de objetos y montones (para, por ejemplo, búsqueda del vecino más cercano ) utilizando dichas optimizaciones.

Visualización

El módulo de visualización utiliza SVG para salida de gráficos escalables y Apache Batik para renderizar la interfaz de usuario, así como exportación sin pérdidas a PostScript y PDF para una fácil inclusión en publicaciones científicas en LaTeX . Los archivos exportados se pueden editar con editores SVG como Inkscape . Dado que se utilizan hojas de estilo en cascada , el diseño gráfico se puede cambiar fácilmente. Desafortunadamente, Batik es bastante lento y consume mucha memoria, por lo que las visualizaciones no son muy escalables a grandes conjuntos de datos (para conjuntos de datos más grandes, solo se visualiza una submuestra de los datos de forma predeterminada).

Premios

La versión 0.4, presentada en el "Simposio sobre bases de datos espaciales y temporales" de 2011, que incluía varios métodos para la detección de valores atípicos espaciales, [9] ganó el "premio al mejor artículo de demostración" de la conferencia.

Algoritmos incluidos

Seleccione algoritmos incluidos: [10]

Historial de versiones

La versión 0.1 (julio de 2008) contenía varios algoritmos de análisis de conglomerados y detección de anomalías , así como algunas estructuras de índice como el árbol R* . El foco del primer lanzamiento fue la agrupación subespacial y los algoritmos de agrupación de correlación . [11]

La versión 0.2 (julio de 2009) agregó funcionalidad para el análisis de series de tiempo , en particular funciones de distancia para series de tiempo. [12]

La versión 0.3 (marzo de 2010) amplió la elección de algoritmos de detección de anomalías y módulos de visualización. [13]

La versión 0.4 (septiembre de 2011) agregó algoritmos para la extracción de datos geográficos y soporte para estructuras de índices y bases de datos multirelacionales. [9]

La versión 0.5 (abril de 2012) se centra en la evaluación de los resultados del análisis de conglomerados , agregando nuevas visualizaciones y algunos algoritmos nuevos. [14]

La versión 0.6 (junio de 2013) introduce una nueva adaptación 3D de coordenadas paralelas para la visualización de datos, además de las habituales adiciones de algoritmos y estructuras de índice. [15]

La versión 0.7 (agosto de 2015) agrega soporte para tipos de datos inciertos y algoritmos para el análisis de datos inciertos. [dieciséis]

La versión 0.7.5 (febrero de 2019) agrega algoritmos de agrupación adicionales, algoritmos de detección de anomalías, medidas de evaluación y estructuras de indexación. [17]

La versión 0.8 (octubre de 2020) agrega creación automática de índices, recolección de basura y búsqueda de prioridad incremental, así como muchos más algoritmos como BIRCH . [18]

Aplicaciones similares

Ver también

Referencias

  1. ^ Hans-Peter Kriegel , Peer Kröger, Arthur Zimek (2009). "Técnicas de detección de valores atípicos (tutorial)" (PDF) . 13.ª Conferencia de Asia Pacífico sobre descubrimiento de conocimientos y minería de datos (PAKDD 2009) . Bangkok, Tailandia . Consultado el 26 de marzo de 2010 .{{cite journal}}: CS1 maint: multiple names: authors list (link)
  2. ^ Gero, Shane; Whitehead, Hal; Rendell, Lucas (2016). "Señales de identidad a nivel individual, de unidad y de clan vocal en codas de cachalote". Ciencia abierta de la Royal Society . 3 (1): 150372. Código bibliográfico : 2016RSOS....350372G. doi :10.1098/rsos.150372. ISSN  2054-5703. PMC 4736920 . PMID  26909165. 
  3. ^ Stahlberg, Félix; Schlippe, Tim; Vogel, Esteban; Schultz, Tanja (2013). "Extracción de pronunciación de secuencias de fonemas mediante la alineación de palabra a fonema entre idiomas". Lenguaje estadístico y procesamiento del habla . Apuntes de conferencias sobre informática. vol. 7978. págs. 260–272. doi :10.1007/978-3-642-39593-2_23. ISBN 978-3-642-39592-5. ISSN  0302-9743.
  4. ^ Verzola, Ivano; Donati, Alejandro; Martínez, José; Schubert, Matías; Somodi, Laszlo (2016). "Proyecto Sibyl: un novedoso sistema de detección para operaciones de vuelos espaciales tripulados". Conferencia de Operaciones Espaciales 2016 . doi :10.2514/6.2016-2405. ISBN 978-1-62410-426-8.
  5. ^ Adham, Manal T.; Bentley, Peter J. (2016). "Evaluación de métodos de agrupación dentro del algoritmo del ecosistema artificial y su aplicación a la redistribución de bicicletas en Londres". Biosistemas . 146 : 43–59. doi :10.1016/j.biosystems.2016.04.008. ISSN  0303-2647. PMID  27178785.
  6. ^ Sabiamente, Michael; Hurson, Ali; Sarvestani, Sahra Sedigh (2015). "Un marco de simulación extensible para evaluar algoritmos de predicción de tráfico centralizados". 2015 Congreso Internacional de Vehículos Conectados y Expo (ICCVE) . págs. 391–396. doi :10.1109/ICCVE.2015.86. ISBN 978-1-5090-0264-1. S2CID  1297145.
  7. ^ Kriegel, Hans-Peter ; Schubert, Erich; Zimek, Arthur (2016). "El arte (negro) de la evaluación del tiempo de ejecución: ¿estamos comparando algoritmos o implementaciones?". Sistemas de Conocimiento y Información . 52 (2): 341–378. doi :10.1007/s10115-016-1004-2. ISSN  0219-1377. S2CID  40772241.
  8. ^ "DBID". Página de inicio de ELKI . Consultado el 13 de diciembre de 2016 .
  9. ^ ab Elke Achtert, Achmed Hettab, Hans-Peter Kriegel , Erich Schubert, Arthur Zimek (2011). Detección de valores atípicos espaciales: datos, algoritmos, visualizaciones . XII Simposio Internacional sobre Bases de Datos Espaciales y Temporales (SSTD 2011). Minneapolis, Minnesota: Springer. doi :10.1007/978-3-642-22922-0_41.{{cite conference}}: CS1 maint: multiple names: authors list (link)
  10. ^ extracto de "Algoritmos de minería de datos en ELKI" . Consultado el 17 de octubre de 2019 .
  11. ^ Elke Achtert, Hans-Peter Kriegel , Arthur Zimek (2008). ELKI: un sistema de software para la evaluación de algoritmos de agrupación subespacial (PDF) . Actas de la vigésima conferencia internacional sobre gestión de bases de datos científicas y estadísticas (SSDBM 08). Hong Kong, China: Springer. doi :10.1007/978-3-540-69497-7_41.{{cite conference}}: CS1 maint: multiple names: authors list (link)
  12. ^ Elke Achtert, Thomas Bernecker, Hans-Peter Kriegel , Erich Schubert, Arthur Zimek (2009). ELKI en el tiempo: ELKI 0.2 para la evaluación del desempeño de medidas de distancia para series temporales (PDF) . Actas del XI Simposio Internacional sobre Avances en Bases de Datos Espaciales y Temporales (SSTD 2010). Aalborg, Dinamarca: Springer. doi :10.1007/978-3-642-02982-0_35.{{cite conference}}: CS1 maint: multiple names: authors list (link)
  13. ^ Elke Achtert, Hans-Peter Kriegel , Lisa Reichert, Erich Schubert, Remigius Wojdanowski, Arthur Zimek (2010). Evaluación visual de modelos de detección de valores atípicos . XV Conferencia Internacional sobre Sistemas de Bases de Datos para Aplicaciones Avanzadas (DASFAA 2010). Tsukuba, Japón: Springer. doi :10.1007/978-3-642-12098-5_34.{{cite conference}}: CS1 maint: multiple names: authors list (link)
  14. ^ Elke Achtert, Sascha Goldhofer, Hans-Peter Kriegel , Erich Schubert, Arthur Zimek (2012). Evaluación de Métricas de Clusterings y Soporte Visual . 28º Congreso Internacional de Ingeniería de Datos (ICDE). Washington DC. doi :10.1109/ICDE.2012.128.{{cite conference}}: CS1 maint: multiple names: authors list (link)
  15. ^ Elke Achtert, Hans-Peter Kriegel , Erich Schubert, Arthur Zimek (2013). Minería de datos interactiva con árboles de coordenadas paralelas 3D . Actas de la Conferencia Internacional ACM sobre Gestión de Datos ( SIGMOD ). Ciudad de Nueva York, Nueva York. doi :10.1145/2463676.2463696.{{cite conference}}: CS1 maint: multiple names: authors list (link)
  16. ^ Erich Schubert; Alejandro Koos; Tobías Emrich; Andreas Züfle; Klaus Arthur Schmid; Arturo Zimek (2015). "Un marco para agrupar datos inciertos" (PDF) . Actas del Fondo de Dotación VLDB . 8 (12): 1976–1987. doi :10.14778/2824032.2824115.
  17. ^ Schubert, Erich; Zimek, Arthur (10 de febrero de 2019). "ELKI: Una gran biblioteca de código abierto para análisis de datos - ELKI Versión 0.7.5 "Heidelberg"". arXiv : 1902.03616 [cs.LG].
  18. ^ Schubert, Erich (2022). Indexación automática para búsqueda de similitudes en ELKI. Búsqueda de similitudes y aplicaciones. págs. 205-213. doi :10.1007/978-3-031-17849-8_16.

enlaces externos