ELKI
![]() | Эта статья содержит контент, написанный как реклама . ( январь 2019 г. ) |
![]() Скриншот ELKI 0.4, визуализирующий ОПТИКИ кластерный анализ . | |
Разработчик(и) | Технический университет Дортмунда ; первоначально Мюнхенский университет Людвига-Максимилиана |
---|---|
Стабильная версия | 0.8.0
/ 5 октября 2022 г |
Репозиторий | |
Написано в | Ява |
Операционная система | Microsoft Windows , Linux , Mac OS |
Платформа | Java-платформа |
Тип | Интеллектуальный анализ данных |
Лицензия | AGPL (начиная с версии 0.4.0) |
Веб-сайт | elki-project |
ELKI ( Среда для разработки KDD-приложений, поддерживаемых индексными структурами ) — это для интеллектуального анализа данных (KDD, обнаружение знаний в базах данных), программная платформа разработанная для использования в исследованиях и обучении. Первоначально он был создан исследовательским подразделением систем баз данных Мюнхенского университета Людвига-Максимилиана , Германия, под руководством профессора Ханса-Петера Кригеля . Проект продолжился в Техническом университете Дортмунда , Германия. Его цель - обеспечить возможность разработки и оценки передовых алгоритмов интеллектуального анализа данных и их взаимодействия со структурами индексов баз данных .
Описание
[ редактировать ]Платформа ELKI написана на Java и построена на модульной архитектуре. Большинство включенных в настоящее время алгоритмов выполняют кластеризацию , обнаружение выбросов , [1] и индексы базы данных . Объектно -ориентированная архитектура позволяет комбинировать произвольные алгоритмы, типы данных, функции расстояния , индексы и меры оценки. Java JIT-компилятор оптимизирует все комбинации в одинаковой степени, делая результаты сравнительного тестирования более сопоставимыми, если они используют большие части кода. При разработке новых алгоритмов или индексных структур существующие компоненты можно легко использовать повторно, а типобезопасность Java обнаруживает множество ошибок программирования во время компиляции.
ELKI — это бесплатный инструмент для анализа данных, в основном ориентированный на поиск закономерностей и необычных точек данных без необходимости использования меток. Он написан на Java и призван быть быстрым и способным обрабатывать большие наборы данных с использованием специальных структур. Он создан для того, чтобы исследователи и студенты могли добавлять свои собственные методы и легко сравнивать различные алгоритмы. [2]
ELKI использовался в науке о данных для кластеризации кодов кашалотов . [3] для фонем , кластеризации [4] для обнаружения аномалий при выполнении космических полетов, [5] для перераспределения велопроката , [6] и прогнозирование трафика. [7]
Цели
[ редактировать ]Университетский проект разработан для использования в преподавании и научных исследованиях . Исходный код написан с учетом расширяемости и возможности повторного использования, но также оптимизирован с точки зрения производительности. Экспериментальная оценка алгоритмов зависит от многих факторов окружающей среды, и детали реализации могут иметь большое влияние на время выполнения. [8] ELKI стремится предоставить общую кодовую базу с сопоставимыми реализациями многих алгоритмов.
В качестве исследовательского проекта он в настоящее время не предлагает интеграцию с приложениями бизнес-аналитики или интерфейс с распространенными системами управления базами данных через SQL . Лицензия с авторским левом ( AGPL ) также может быть препятствием для интеграции в коммерческие продукты; тем не менее, его можно использовать для оценки алгоритмов перед разработкой собственной реализации коммерческого продукта. Кроме того, применение алгоритмов требует знаний об их использовании, параметрах и изучения оригинальной литературы. Аудитория – студенты , исследователи , ученые, работающие с данными , и инженеры-программисты .
Архитектура
[ редактировать ]ELKI смоделирован на основе ядра, основанного на базе данных , которое использует вертикальное расположение данных, при котором данные хранятся в группах столбцов (аналогично семействам столбцов в базах данных NoSQL ). Это ядро базы данных обеспечивает поиск ближайшего соседа , поиск по диапазону/радиусу и функцию запроса расстояния с ускорением индекса для широкого спектра мер несходства . Алгоритмы, основанные на таких запросах (например, алгоритм k-ближайшего соседа , коэффициент локального выброса и DBSCAN ), можно легко реализовать и получить выгоду от ускорения индекса. Ядро базы данных также обеспечивает быстрое и эффективное использование памяти для коллекций объектов и ассоциативных структур, таких как списки ближайших соседей.
ELKI широко использует интерфейсы Java, поэтому его можно легко расширить во многих местах. Например, можно добавлять и комбинировать пользовательские типы данных, функции расстояния, структуры индексов, алгоритмы, анализаторы ввода и модули вывода без изменения существующего кода. Это включает в себя возможность определения пользовательской функции расстояния и использования существующих индексов для ускорения.
ELKI использует архитектуру загрузчика служб , позволяющую публиковать расширения в виде отдельных файлов jar .
ELKI использует оптимизированные коллекции для повышения производительности, а не стандартный Java API. [9] Например, циклы for написаны аналогично итераторам C++ :
for (DBIDIter iter = ids.iter(); iter.valid(); iter.advance()) {
relation.get(iter); // E.g., get the referenced object
idcollection.add(iter); // E.g., add the reference to a DBID collection
}
В отличие от типичных итераторов Java (которые могут перебирать только объекты), это экономит память, поскольку итератор может внутренне использовать примитивные значения для хранения данных. Уменьшение сбора мусора улучшает время выполнения. Оптимизированные библиотеки коллекций, такие как GNU Trove3 , Koloboke и fastutil , используют аналогичные оптимизации. ELKI включает в себя такие структуры данных, как коллекции объектов и кучи (например, для поиска ближайшего соседа ), используя такие оптимизации.
Визуализация
[ редактировать ]Модуль визуализации использует SVG для масштабируемого вывода графики и Apache Batik для рендеринга пользовательского интерфейса, а также экспорт без потерь в PostScript и PDF для удобного включения в научные публикации в LaTeX . Экспортированные файлы можно редактировать с помощью редакторов SVG, таких как Inkscape . Поскольку каскадные таблицы стилей используются , графический дизайн можно легко изменить. К сожалению, Batik довольно медленный и требует много памяти, поэтому визуализации не очень масштабируемы для больших наборов данных (для больших наборов данных по умолчанию визуализируется только часть выборки данных).
Награды
[ редактировать ]Версия 0.4, представленная на «Симпозиуме по пространственным и временным базам данных» 2011 г., которая включала различные методы обнаружения пространственных выбросов, [10] получил награду конференции за «лучшую демонстрационную работу».
Включенные алгоритмы
[ редактировать ]Выберите включенные алгоритмы: [11]
- Кластерный анализ :
- Кластеризация K-средних (включая быстрые алгоритмы, такие как Elkan, Hamerly, Annulus и Exponion k-Means, а также надежные варианты, такие как k-means--)
- Кластеризация K-медиан
- Кластеризация K-медоидов (PAM) (включая FastPAM и такие аппроксимации, как CLARA, CLARANS)
- Алгоритм максимизации ожидания для моделирования гауссовой смеси
- Иерархическая кластеризация (включая быстрые алгоритмы SLINK, CLINK, NNChain и Anderberg)
- Кластеризация с одной связью
- Кластеризация лидеров
- DBSCAN (пространственная кластеризация приложений с шумом на основе плотности, с ускорением полного индекса для функций произвольного расстояния)
- ОПТИКА (Точки заказа для определения структуры кластера), включая расширения OPTICS-OF, DeLi-Clu, HiSC, HiCO и DiSH
- HDBSCAN
- среднего сдвига Кластеризация
- БЕРЕЗОВАЯ кластеризация
- SUBCLU (Кластеризация подпространств, связанных по плотности, для многомерных данных)
- КЛИКО-кластеризация
- Кластеризация ORCLUS и PROCLUS
- Кластеризация COPAC, ERiC и 4C
- Кластеризация денежных средств
- Подпространственная кластеризация DOC и FastDOC
- P3C-кластеризация
- Алгоритм кластеризации Canopy
- Обнаружение аномалий :
- Обнаружение выбросов k-Nearest-Neighbor
- LOF (коэффициент локального выброса)
- LoOP (вероятность локальных выбросов)
- ОПТИКА -ОФ
- DB-Outlier (выбросы на основе расстояния)
- LOCI (локальный корреляционный интеграл)
- LDOF (коэффициент выбросов на основе локального расстояния)
- EM — выброс
- SOD (степень выброса подпространства)
- COP (вероятность выбросов корреляции)
- Частое изучение набора элементов и изучение правил ассоциации
- Априорный алгоритм
- Светиться
- FP-рост
- Уменьшение размерности
- Структуры пространственных индексов и другие индексы поиска:
- Оценка:
- Точность и полнота , оценка F1 , средняя точность
- Рабочая характеристика приемника (кривая ROC)
- Дисконтированная совокупная прибыль (включая NDCG)
- Индекс силуэта
- Индекс Дэвиса-Булдина
- Индекс Данна
- Проверка кластера на основе плотности (DBCV)
- Визуализация
- Диаграммы рассеяния
- Гистограммы
- Параллельные координаты (также в 3D, с использованием OpenGL )
- Другой:
- Статистические распределения и множество оценок параметров , включая надежные основе MAD и L-момента. оценки на
- Динамическое искажение времени
- Обнаружение точки изменения во временных рядах
- внутренней размерности Оценщики
История версий
[ редактировать ]Версия 0.1 (июль 2008 г.) содержала несколько алгоритмов кластерного анализа и обнаружения аномалий , а также некоторые индексные структуры, такие как R*-дерево . Основное внимание в первом выпуске уделялось алгоритмам подпространственной кластеризации и корреляционной кластеризации . [12]
В версии 0.2 (июль 2009 г.) добавлены функции анализа временных рядов , в частности функции расстояния для временных рядов. [13]
Версия 0.3 (март 2010 г.) расширила выбор алгоритмов обнаружения аномалий и модулей визуализации. [14]
В версии 0.4 (сентябрь 2011 г.) добавлены алгоритмы интеллектуального анализа геоданных и поддержка многореляционных баз данных и структур индексов. [10]
Версия 0.5 (апрель 2012 г.) ориентирована на оценку результатов кластерного анализа , добавлена новая визуализация и некоторые новые алгоритмы. [15]
Версия 0.6 (июнь 2013 г.) представляет новую трехмерную адаптацию параллельных координат для визуализации данных, помимо обычных дополнений алгоритмов и индексных структур. [16]
Версия 0.7 (август 2015 г.) добавляет поддержку неопределенных типов данных и алгоритмы анализа неопределенных данных. [17]
Версия 0.7.5 (февраль 2019 г.) добавляет дополнительные алгоритмы кластеризации, алгоритмы обнаружения аномалий, меры оценки и структуры индексации. [18]
Версия 0.8 (октябрь 2022 г.) добавляет автоматическое создание индексов, сборку мусора и инкрементный поиск по приоритету, а также множество других алгоритмов, таких как BIRCH . [19]
Похожие приложения
[ редактировать ]- scikit-learn : библиотека машинного обучения на Python
- Weka : аналогичный проект Университета Вайкато с упором на классификации . алгоритмы
- RapidMiner : приложение, доступное на коммерческой основе (ограниченная версия доступна с открытым исходным кодом).
- KNIME : платформа с открытым исходным кодом, которая объединяет различные компоненты для машинного обучения и интеллектуального анализа данных.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Ханс-Петер Кригель , Пер Крёгер, Артур Зимек (2009). «Методы обнаружения выбросов (учебное пособие)» (PDF) . 13-я Тихоокеанско-Азиатская конференция по обнаружению знаний и интеллектуальному анализу данных (PAKDD 2009) . Бангкок, Таиланд . Проверено 26 марта 2010 г.
{{cite journal}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ «Структура интеллектуального анализа данных ELKI» . elki-project.github.io . Проверено 30 мая 2024 г.
- ^ Геро, Шейн; Уайтхед, Хэл; Ренделл, Люк (2016). «Идентификационные сигналы на уровне индивида, отряда и вокального клана в кодах кашалота» . Королевское общество открытой науки . 3 (1): 150372. Бибкод : 2016RSOS....350372G . дои : 10.1098/rsos.150372 . ISSN 2054-5703 . ПМК 4736920 . ПМИД 26909165 .
- ^ Штальберг, Феликс; Шлиппе, Тим; Фогель, Стефан; Шульц, Таня (2013). «Извлечение произношения из последовательностей фонем посредством межъязыкового сопоставления слов и фонем». Статистический язык и обработка речи . Конспекты лекций по информатике. Том. 7978. стр. 260–272. дои : 10.1007/978-3-642-39593-2_23 . ISBN 978-3-642-39592-5 . ISSN 0302-9743 .
- ^ Верзола, Ивано; Донати, Алессандро; Мартинес, Хосе; Шуберт, Матиас; Сомоди, Ласло (2016). «Проект Сивилла: новая система обнаружения для пилотируемых космических полетов». « Космические операции Конференция 2016» . дои : 10.2514/6.2016-2405 . ISBN 978-1-62410-426-8 .
- ^ Адхам, Манал Т.; Бентли, Питер Дж. (2016). «Оценка методов кластеризации в рамках алгоритма искусственной экосистемы и их применения для перераспределения велосипедов в Лондоне». Биосистемы . 146 : 43–59. doi : 10.1016/j.biosystems.2016.04.008 . ISSN 0303-2647 . ПМИД 27178785 .
- ^ Мудро, Майкл; Херсон, Али; Сарвестани, Сахра Седиг (2015). «Расширяемая среда моделирования для оценки алгоритмов централизованного прогнозирования трафика». Международная конференция по подключенным транспортным средствам и выставке (ICCVE) 2015 . стр. 391–396. дои : 10.1109/ICCVE.2015.86 . ISBN 978-1-5090-0264-1 . S2CID 1297145 .
- ^ Кригель, Ханс-Петер ; Шуберт, Эрих; Зимек, Артур (2016). «(Черное) искусство оценки времени выполнения: сравниваем ли мы алгоритмы или реализации?». Знания и информационные системы . 52 (2): 341–378. дои : 10.1007/s10115-016-1004-2 . ISSN 0219-1377 . S2CID 40772241 .
- ^ «ДБИДы» . Домашняя страница ЭЛКИ . Проверено 13 декабря 2016 г.
- ^ Jump up to: а б Эльке Ахтерт, Ахмед Хеттаб, Ханс-Петер Кригель , Эрих Шуберт, Артур Зимек (2011). Обнаружение пространственных выбросов: данные, алгоритмы, визуализации . 12-й Международный симпозиум по пространственным и временным базам данных (SSTD 2011). Миннеаполис, Миннесота: Спрингер. дои : 10.1007/978-3-642-22922-0_41 .
{{cite conference}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ отрывок из «Алгоритмы интеллектуального анализа данных в ELKI» . Проверено 17 октября 2019 г.
- ^ Эльке Ахтерт, Ханс-Петер Кригель , Артур Зимек (2008). ELKI: Система программного обеспечения для оценки алгоритмов подпространственной кластеризации (PDF) . Материалы 20-й международной конференции по управлению научными и статистическими базами данных (SSDBM 08). Гонконг, Китай: Спрингер. дои : 10.1007/978-3-540-69497-7_41 .
{{cite conference}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ Эльке Ахтерт, Томас Бернекер, Ханс-Петер Кригель , Эрих Шуберт, Артур Зимек (2009). ELKI во времени: ELKI 0.2 для оценки эффективности измерений расстояния для временных рядов (PDF) . Материалы 11-го Международного симпозиума по достижениям в области пространственных и временных баз данных (SSTD, 2010). Ольборг, Дания: Springer. дои : 10.1007/978-3-642-02982-0_35 .
{{cite conference}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ Эльке Ахтерт, Ханс-Петер Кригель , Лиза Райхерт, Эрих Шуберт, Ремигиус Войдановский, Артур Зимек (2010). Визуальная оценка моделей обнаружения выбросов . 15-я Международная конференция по системам баз данных для передовых приложений (DASFAA 2010). Цукуба, Япония: Springer. дои : 10.1007/978-3-642-12098-5_34 .
{{cite conference}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ Эльке Ахтерт, Саша Гольдхофер, Ханс-Петер Кригель , Эрих Шуберт, Артур Зимек (2012). Оценка метрик кластеризации и визуальная поддержка . 28-я Международная конференция по инженерии данных (ICDE). Вашингтон, округ Колумбия. дои : 10.1109/ICDE.2012.128 .
{{cite conference}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ Эльке Ахтерт, Ханс-Петер Кригель , Эрих Шуберт, Артур Зимек (2013). Интерактивный интеллектуальный анализ данных с помощью 3D-деревьев параллельных координат . Материалы Международной конференции ACM по управлению данными ( SIGMOD ). Нью-Йорк, штат Нью-Йорк. дои : 10.1145/2463676.2463696 .
{{cite conference}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ Эрих Шуберт; Александр Коос; Тобиас Эмрих; Андреас Цюфле; Клаус Артур Шмид; Артур Зимек (2015). «Схема кластеризации неопределенных данных» (PDF) . Труды Фонда VLDB . 8 (12): 1976–1987. дои : 10.14778/2824032.2824115 .
- ^ Шуберт, Эрих; Зимек, Артур (10 февраля 2019 г.). «ELKI: Большая библиотека с открытым исходным кодом для анализа данных — ELKI Release 0.7.5 «Heidelberg» ». arXiv : 1902.03616 [ cs.LG ].
- ^ Шуберт, Эрих (2022). Автоматическое индексирование для поиска по сходству в ELKI . Поиск по сходству и его применение. стр. 205–213. дои : 10.1007/978-3-031-17849-8_16 .
Внешние ссылки
[ редактировать ]- Официальный сайт ELKI с загрузкой и документацией.
- Программное обеспечение для интеллектуального анализа данных и машинного обучения
- Бесплатные приложения искусственного интеллекта
- Бесплатное программное обеспечение для анализа данных
- Бесплатное научное программное обеспечение
- Бесплатное программное обеспечение, написанное на Java (языке программирования).
- Программное обеспечение, использующее лицензию GNU AGPL.