Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

ELKI (для среды разработки приложений KDD, поддерживаемых структурами индекса ) - это программная среда интеллектуального анализа данных (KDD, обнаружение знаний в базах данных), разработанная для использования в исследованиях и обучении. Первоначально он проводился в исследовательском подразделении систем баз данных профессора Ханса-Петера Кригеля в Мюнхенском университете Людвига-Максимилиана , Германия, а теперь продолжился в Техническом университете Дортмунда , Германия. Он предназначен для разработки и оценки передовых алгоритмов интеллектуального анализа данных и их взаимодействия со структурами индекса базы данных .

Описание [ править ]

Фреймворк ELKI написан на Java и построен на модульной архитектуре. Большинство включенных в настоящее время алгоритмов относятся к кластеризации , обнаружению выбросов [1] и индексам базы данных . Объектно-ориентированная архитектура позволяет сочетать произвольные алгоритмы, типов данных, функции расстояния , индексов и мер оценки. Компилятор Java точно в срок оптимизирует все комбинации в одинаковой степени, делая результаты сравнительного анализа более сопоставимыми, если они используют большие части кода. При разработке новых алгоритмов или структур индексов существующие компоненты можно легко повторно использовать, а безопасность типов Java обнаруживает множество ошибок программирования во время компиляции.

ELKI использовался в науке о данных, например, для кластеризации кодов кашалотов , [2] кластеризации фонем , [3] для обнаружения аномалий в космических полетах , [4] для перераспределения совместного использования велосипедов [5] и прогнозирования трафика. [6]

Цели [ править ]

Проект университета разработан для использования в обучении и исследованиях . Исходный код написан с учетом расширяемости и возможности повторного использования, но также оптимизирован для производительности. Экспериментальная оценка алгоритмов зависит от многих факторов окружающей среды, и детали реализации могут иметь большое влияние на время выполнения. [7] ELKI стремится предоставить общую кодовую базу с сопоставимыми реализациями многих алгоритмов.

В качестве исследовательского проекта он в настоящее время не предлагает интеграции с приложениями бизнес-аналитики или интерфейса с общими системами управления базами данных через SQL . Копилефте ( AGPL ) лицензия может быть препятствием для интеграции в коммерческих продуктах; тем не менее, его можно использовать для оценки алгоритмов перед разработкой собственной реализации коммерческого продукта. Кроме того, применение алгоритмов требует знаний об их использовании, параметрах и изучения оригинальной литературы. Аудитория - студенты , исследователи , специалисты по данным и инженеры-программисты .

Архитектура [ править ]

ELKI смоделирован на основе ядра, вдохновленного базами данных , которое использует вертикальную компоновку данных, в которой данные хранятся в группах столбцов (аналогично семействам столбцов в базах данных NoSQL ). Это ядро ​​базы данных обеспечивает поиск ближайшего соседа, поиск по диапазону / радиусу и функции запроса по расстоянию с ускорением индекса для широкого диапазона показателей несходства . Алгоритмы, основанные на таких запросах (например, алгоритм k-ближайшего соседа , фактор локального выброса и DBSCAN) можно легко реализовать и получить выгоду от ускорения индекса. Ядро базы данных также предоставляет быстрые и эффективные с точки зрения памяти коллекции для коллекций объектов и ассоциативных структур, таких как списки ближайших соседей.

ELKI широко использует интерфейсы Java, так что его можно легко расширить во многих местах. Например, пользовательские типы данных, функции расстояния, структуры индексов, алгоритмы, синтаксические анализаторы ввода и модули вывода могут быть добавлены и объединены без изменения существующего кода. Это включает возможность определения пользовательской функции расстояния и использования существующих индексов для ускорения.

ELKI использует архитектуру загрузчика служб, позволяющую публиковать расширения в виде отдельных файлов jar .

ELKI использует оптимизированные коллекции для повышения производительности, а не стандартный Java API. [8] Например, циклы For написаны аналогично итераторам C ++ :

 for  ( DBIDIter  iter  =  ids . iter ();  iter . valid ();  iter . advance ())  {  отношение . получить ( итер );  // Например, получаем  idcollection указанного объекта . добавить ( iter );  // Например, добавляем ссылку на коллекцию DBID  }

В отличие от типичных итераторов Java (которые могут выполнять итерацию только по объектам), это экономит память, поскольку итератор может внутренне использовать примитивные значения для хранения данных. Уменьшенная сборка мусора улучшает время выполнения. Оптимизированные библиотеки коллекций, такие как GNU Trove3 , Koloboke и fastutil, используют аналогичные оптимизации. ELKI включает в себя структуры данных, такие как коллекции объектов и кучи (например, для поиска ближайшего соседа ) с использованием таких оптимизаций.

Визуализация [ править ]

Модуль визуализации использует SVG для вывода масштабируемой графики и Apache Batik для рендеринга пользовательского интерфейса, а также экспорт без потерь в PostScript и PDF для легкого включения в научные публикации в LaTeX . Экспортированные файлы можно редактировать с помощью редакторов SVG, таких как Inkscape . Поскольку используются каскадные таблицы стилей , графический дизайн можно легко изменить. К сожалению, Batik довольно медленный и требует больших объемов памяти, поэтому визуализации не очень хорошо масштабируются для больших наборов данных (для больших наборов данных по умолчанию визуализируется только подвыборка данных).

Награды [ править ]

Версия 0.4, представленная на «Симпозиуме по пространственным и временным базам данных» 2011 г., которая включала различные методы обнаружения пространственных выбросов [9], получила на конференции награду «Лучший демонстрационный документ».

Включенные алгоритмы [ править ]

Выберите включенные алгоритмы: [10]

  • Кластерный анализ :
    • Кластеризация K-средних (включая быстрые алгоритмы, такие как K-средние Elkan, Hamerly, Annulus и Exponion, а также надежные варианты, такие как k-means-)
    • К-медианы кластеризации
    • Кластеризация K-medoids (PAM) (включая FastPAM и приближения, такие как CLARA, CLARANS)
    • Алгоритм ожидания-максимизации для моделирования гауссовой смеси
    • Иерархическая кластеризация (включая быстрые алгоритмы SLINK, CLINK, NNChain и Anderberg)
    • Односвязная кластеризация
    • Кластеризация лидеров
    • DBSCAN (Пространственная кластеризация приложений с шумом на основе плотности, с полным ускорением индекса для функций произвольного расстояния)
    • OPTICS (точки заказа для определения структуры кластеризации), включая расширения OPTICS-OF, DeLi-Clu, HiSC, HiCO и DiSH
    • HDBSCAN
    • Кластеризация среднего сдвига
    • БЕРЕЗА кластеризация
    • SUBCLU (кластеризация подпространств, связанных плотностью, для данных большой размерности)
    • CLIQUE кластеризация
    • ORCLUS и PROCLUS кластеризация
    • Кластеризация COPAC, ERiC и 4C
    • Кластеризация CASH
    • Кластеризация подпространств DOC и FastDOC
    • Кластеризация P3C
    • Алгоритм кластеризации Canopy
  • Обнаружение аномалий :
    • Обнаружение выбросов k-ближайшего соседа
    • LOF (локальный выброс)
    • LoOP (вероятность локальных выбросов)
    • ОПТИКА -ОФ
    • DB-Outlier (выбросы на основе расстояния)
    • LOCI (интеграл локальной корреляции)
    • LDOF (локальный коэффициент выбросов на основе расстояния)
    • EM -Outlier
    • SOD (степень выброса подпространства)
    • COP (вероятность выброса корреляции)
  • Частый анализ наборов элементов и изучение правил ассоциации
    • Алгоритм априори
    • Эклат
    • FP-рост
  • Снижение размерности
    • Анализ главных компонентов
    • Многомерное масштабирование
    • T-распределенное стохастическое вложение соседей (t-SNE)
  • Структуры пространственного индекса и другие поисковые индексы:
    • R-дерево
    • R * -дерево
    • М-дерево
    • kd дерево
    • X-дерево
    • Покровное дерево
    • iDistance
    • NN спуск
    • Хеширование с учетом местоположения (LSH)
  • Оценка:
    • Точность и отзывчивость , оценка F1 , средняя точность
    • Рабочая характеристика приемника (кривая ROC)
    • Дисконтированная совокупная прибыль (включая NDCG)
    • Индекс силуэта
    • Индекс Дэвиса – Боулдина
    • Индекс Данна
    • Проверка кластера на основе плотности (DBCV)
  • Визуализация
    • Диаграммы разброса
    • Гистограммы
    • Параллельные координаты (также в 3D, используя OpenGL )
  • Другой:
    • Статистические распределения и многие оценки параметров , в том числе надежной MAD основы и L-момента оценок на основе
    • Динамическое искажение времени
    • Обнаружение точки изменения во временном ряду
    • Сущностные размерные оценщики

История версий [ править ]

Версия 0.1 (июль 2008 г.) содержала несколько алгоритмов кластерного анализа и обнаружения аномалий , а также некоторые индексные структуры, такие как R * -дерево . Основное внимание в первом выпуске уделялось алгоритмам кластеризации подпространств и корреляционной кластеризации . [11]

Версия 0.2 (июль 2009 г.) добавлена ​​функциональность для анализа временных рядов , в частности функции расстояния для временных рядов. [12]

Версия 0.3 (март 2010 г.) расширила выбор алгоритмов обнаружения аномалий и модулей визуализации. [13]

В версии 0.4 (сентябрь 2011 г.) добавлены алгоритмы интеллектуального анализа геоданных и поддержка многореляционных баз данных и структур индексов. [9]

Версия 0.5 (апрель 2012 г.) ориентирована на оценку результатов кластерного анализа , добавление новых визуализаций и некоторых новых алгоритмов. [14]

Версия 0.6 (июнь 2013 г.) представляет новую трехмерную адаптацию параллельных координат для визуализации данных, помимо обычных добавлений алгоритмов и структур индексов. [15]

Версия 0.7 (август 2015 г.) добавляет поддержку неопределенных типов данных и алгоритмы анализа неопределенных данных. [16]

Версия 0.7.5 (февраль 2019 г.) добавляет дополнительные алгоритмы кластеризации, алгоритмы обнаружения аномалий, меры оценки и структуры индексации. [17]

Похожие приложения [ править ]

  • Scikit-learn : библиотека машинного обучения на Python
  • Weka : аналогичный проект Университета Вайкато с упором на алгоритмы классификации.
  • RapidMiner : коммерчески доступное приложение (ограниченная версия доступна как открытый исходный код).
  • KNIME : платформа с открытым исходным кодом, которая объединяет различные компоненты для машинного обучения и интеллектуального анализа данных.

См. Также [ править ]

  • Сравнение статистических пакетов

Ссылки [ править ]

  1. ^ Hans-Peter Кригель , Peer Крегер, Артур Zimek (2009). «Методы обнаружения выбросов (Учебное пособие)» (PDF) . 13-я Тихоокеанско-азиатская конференция по открытию знаний и интеллектуальному анализу данных (PAKDD 2009) . Бангкок, Таиланд . Проверено 26 марта 2010 .CS1 maint: multiple names: authors list (link)
  2. ^ Геро, Шейн; Уайтхед, Хэл; Ренделл, Люк (2016). «Индивидуальные, единичные и голосовые сигналы идентичности на уровне клана в кодах кашалотов» . Королевское общество открытой науки . 3 (1): 150372. Bibcode : 2016RSOS .... 350372G . DOI : 10,1098 / rsos.150372 . ISSN 2054-5703 . PMC 4736920 . PMID 26909165 .   
  3. ^ Штальберг, Феликс; Шлиппе, Тим; Фогель, Стефан; Шульц, Таня (2013). «Извлечение произношения из последовательностей фонем посредством межъязыкового совмещения слов с фонемами». Статистическая обработка речи и языка . Конспект лекций по информатике. 7978 . С. 260–272. DOI : 10.1007 / 978-3-642-39593-2_23 . ISBN 978-3-642-39592-5. ISSN  0302-9743 .
  4. ^ Verzola, Ивано; Донати, Алессандро; Мартинес, Хосе; Шуберт, Матиас; Сомоди, Ласло (2016). «Проект Сибилла: система обнаружения новинок для операций человека в космосе». Конференция Space Ops 2016 . DOI : 10.2514 / 6.2016-2405 . ISBN 978-1-62410-426-8.
  5. ^ Адхам, Манал Т .; Бентли, Питер Дж. (2016). «Оценка методов кластеризации в рамках алгоритма искусственной экосистемы и их применения для перераспределения велосипедов в Лондоне». Биосистемы . 146 : 43–59. DOI : 10.1016 / j.biosystems.2016.04.008 . ISSN 0303-2647 . PMID 27178785 .  
  6. ^ Мудро, Майкл; Хурсон, Али; Сарвестани, Сахра Седиг (2015). «Расширяемая структура моделирования для оценки алгоритмов централизованного прогнозирования трафика». Международная конференция по подключенным транспортным средствам и выставке 2015 года (ICCVE) . С. 391–396. DOI : 10.1109 / ICCVE.2015.86 . ISBN 978-1-5090-0264-1. S2CID  1297145 .
  7. ^ Кригель, Ганс-Петер ; Шуберт, Эрих; Зимек, Артур (2016). «(Черное) искусство оценки времени выполнения: сравниваем ли мы алгоритмы или реализации?». Знания и информационные системы . 52 (2): 341–378. DOI : 10.1007 / s10115-016-1004-2 . ISSN 0219-1377 . S2CID 40772241 .  
  8. ^ "DBID" . Домашняя страница ELKI . Проверено 13 декабря +2016 .
  9. ^ a b Эльке Ахтерт, Ахмед Хеттаб, Ханс-Петер Кригель , Эрих Шуберт, Артур Зимек (2011). Обнаружение пространственных выбросов: данные, алгоритмы, визуализации . 12-й Международный симпозиум по пространственным и временным базам данных (SSTD 2011). Миннеаполис, Миннесота: Спрингер. DOI : 10.1007 / 978-3-642-22922-0_41 .CS1 maint: multiple names: authors list (link)
  10. ^ отрывок из "Алгоритмы интеллектуального анализа данных в ELKI" . Дата обращения 17 октября 2019 .
  11. ^ Эльке Ахтерт, Ханс-Петер Кригель , Артур Зимек (2008). ELKI: программная система для оценки алгоритмов кластеризации подпространств (PDF) . Материалы 20-й международной конференции по управлению научными и статистическими базами данных (SSDBM 08). Гонконг, Китай: Springer. DOI : 10.1007 / 978-3-540-69497-7_41 . CS1 maint: multiple names: authors list (link)
  12. ^ Элька Achtert, Томас Bernecker, Ханс-Петер Кригель , Эрих Шуберт, Артур Zimek (2009). ELKI in time: ELKI 0.2 для оценки эффективности измерений расстояния для временных рядов (PDF) . Материалы 11-го Международного симпозиума по достижениям в области пространственных и временных баз данных (SSTD 2010). Ольборг, Денемарк: Springer. DOI : 10.1007 / 978-3-642-02982-0_35 . CS1 maint: multiple names: authors list (link)
  13. ^ Эльке Ахтерт, Ганс-Петер Кригель , Лиза Райхерт, Эрих Шуберт, Ремигиус Войдановски, Артур Зимек (2010). Визуальная оценка моделей обнаружения выбросов . 15-я Международная конференция по системам баз данных для передовых приложений (DASFAA 2010). Цукуба, Япония: Springer. DOI : 10.1007 / 978-3-642-12098-5_34 .CS1 maint: multiple names: authors list (link)
  14. ^ Элька Achtert, Sascha Goldhofer, Hans-Peter Кригель , Эрих Шуберт, Артур Zimek (2012). Оценка показателей кластеризации и визуальная поддержка . 28-я Международная конференция по инженерии данных (ICDE). Вашингтон, округ Колумбия. DOI : 10.1109 / ICDE.2012.128 .CS1 maint: multiple names: authors list (link)
  15. ^ Эльке Ахтерт, Ганс-Петер Кригель , Эрих Шуберт, Артур Зимек (2013). Интерактивный интеллектуальный анализ данных с помощью трехмерных параллельных координатных деревьев . Труды Международной конференции ACM по управлению данными ( SIGMOD ). Нью-Йорк, штат Нью-Йорк. DOI : 10.1145 / 2463676.2463696 .CS1 maint: multiple names: authors list (link)
  16. Эрих Шуберт; Александр Коос; Тобиас Эмрих; Андреас Цюфле; Клаус Артур Шмид; Артур Зимек (2015). «Основа для кластеризации неопределенных данных» (PDF) . Труды эндаумента VLDB . 8 (12): 1976–1987. DOI : 10.14778 / 2824032.2824115 .
  17. ^ Шуберт, Эрих; Зимек, Артур (10.02.2019). «ELKI: большая библиотека с открытым исходным кодом для анализа данных - ELKI Release 0.7.5« Heidelberg » ». arXiv : 1902.03616 [ cs.LG ].

Внешние ссылки [ править ]

  • Официальный сайт ELKI с загрузкой и документацией.