Weka
| Weka | |
|---|---|
| | |
| Окно Weka 3.5.5 | |
| Тип | машинное обучение |
| Разработчики | Университет Вайкато (Новая Зеландия) |
| Написана на | Java |
| Операционная система | мультиплатформенный |
| Аппаратная платформа | Java Virtual Machine |
| Последняя версия | 3.6.15 (книга), 3.8.3 (стабильная), 3.9 (разработка) (31 октября 2011) |
| Тестовая версия |
|
| Репозиторий | git.cms.waikato.ac.nz/we… |
| Лицензия | GPL |
| Сайт | cs.waikato.ac.nz/~ml/wek… |
Weka (Waikato Environment for Knowledge Analysis, в переводе «окружение для анализа знаний Университета Вайкато») — это программная платформа для машинного обучения и интеллектуального анализа данных, написанная на Java и разработанная в Университете Вайкато. Weka распространяется как свободное программное обеспечение под лицензией GNU GPL.
Краткая история
- В 1993 году Университет Вайкато (Новая Зеландия) начал разработку оригинальной версии Weka на Tcl/Tk и C.
- В 1997 году было принято решение переписать код на Java, включив реализации моделирующих алгоритмов[2].
- В 2005 году Weka получила награду «Data Mining and Knowledge Discovery Service» от SIGKDD (Special Interest Group on Knowledge Discovery and Data Mining)[3].[4]
- В 2006 году компания Pentaho приобрела эксклюзивную лицензию на использование Weka для бизнес-аналитики, в результате чего был создан компонент data mining и прогнозной аналитики пакета ПО Pentaho Business Intelligence.
Описание
Пакет Weka[5] содержит набор инструментов визуализации и алгоритмов для анализа данных и прогнозного моделирования с графическим пользовательским интерфейсом для облегчения доступа к функциям. Оригинальная версия Weka была frontend-программой на Tcl/Tk для моделирования алгоритмов, реализованных на других языках программирования, плюс утилиты для предварительной обработки данных, разработанные на C для проведения экспериментов по машинному обучению. Исходно предназначалась для анализа данных из сельскохозяйственной области[6],[7] однако современная Java-версия (WEKA 3), созданная с 1997 года, применяется в самых разных областях, особенно в образовании и научных исследованиях.
Особенности Weka
Основные особенности Weka:
- Свободно распространяется под лицензией GNU GPL.
- Является кросс-платформенным решением, полностью реализованным на Java, что позволяет запускать её практически на любой платформе.
- Включает широкий спектр методов предварительной обработки данных и моделирования.
- Оснащена графическим пользовательским интерфейсом, что делает Weka удобной для начинающих пользователей.
Weka поддерживает множество стандартных задач интеллектуального анализа данных, таких как предварительная обработка данных, кластеризация, классификация, регрессия, визуализация и отбор признаков. Все методы Weka предполагают, что данные представлены в виде плоского файла (flat file) или отношения, где каждая запись описывается фиксированным набором атрибутов (обычно числовых или номинальных, однако поддерживаются также и другие типы). Weka также предоставляет доступ к базам данных через соединение JDBC (Java Database Connectivity) и способна обрабатывать результаты SQL-запросов. Прямое выполнение многореляционного анализа данных (multi-relational data mining) не поддерживается, однако существуют утилиты для преобразования набора связанных таблиц в одну таблицу, подходящую для анализа в Weka[8].
Алгоритмы, входящие в Weka, не охватывают задачи по моделированию последовательностей.
Пользовательский интерфейс
При запуске приложения появляется диалог выбора интерфейса Weka, предлагающий четыре варианта интерфейса для доступа к функциям программы: Simple CLI, Explorer, Experimenter и Knowledge Flow.
Simple CLI
Simple CLI — простая командная строка. Это консоль, позволяющая работать со всеми возможностями Weka через командную строку.
Explorer
Интерфейс Explorer содержит несколько панелей, предоставляющих доступ к основным компонентам платформы:
- Панель Preprocess предназначена для импорта данных из базы данных, CSV-файла и их предварительной обработки с помощью фильтров. Фильтры позволяют преобразовывать данные (например, переводить числовые значения в дискретные), а также удалять записи или атрибуты по заданным критериям.
- Панель Classify предоставляет средства для применения алгоритмов классификации и регрессии к подготовленным множествам данных. Здесь также можно оценить точность итоговой прогнозной модели, в том числе с использованием ROC-кривых, а также визуализировать модель (например, дерево решений).
- Панель Associate позволяет работать с ассоциативными правилами, выявляющими взаимосвязи между атрибутами данных.
- Панель Cluster обеспечивает доступ к функциям кластеризации, включая алгоритмы k-средних и реализацию алгоритма ожидания-максимизации для работы с нормальными распределениями.
- Панель Selected attributes служит для выбора наиболее значимых признаков (атрибутов) в датасете.
- Панель Visualize отображает матрицу точечных диаграмм, где каждую точку можно выделить и проанализировать с помощью разных инструментов.
Experimenter
Интерфейс Experimenter позволяет систематически сравнивать работу прогнозных алгоритмов Weka на различных наборах данных.
Knowledge Flow
Knowledge Flow реализует те же функции, что и Explorer, но дополнительно поддерживает принцип «drag and drop» («перетащи и отпусти») и обучение на потоке.
Связанные приложения
- KNIME — платформа интеллектуального анализа данных, также реализованная на Java.
- Neural Designer — инструмент для прогностической аналитики, использующий методы глубокого обучения.
- RapidMiner — среда для data mining, написанная на Java и взаимодействующая с Weka.
Примечания
- ↑ https://www.cs.waikato.ac.nz/~ml/weka/CHANGELOG-3-9-3
- ↑ Ian H. Witten. Weka: Practical Machine Learning Tools and Techniques with Java Implementations (англ.). Proceedings of the ICONIP/ANZIIS/ANNES'99 Workshop on Emerging Knowledge Engineering and Connectionist-Based Information Systems 192—196 (1999). Дата обращения: 26 июня 2007. Архивировано 25 сентября 2000 года.
- ↑ Gregory Piatetsky-Shapiro. KDnuggets news on SIGKDD Service Award 2005 (англ.) (28 июня 2005). Дата обращения: 25 июня 2007. Архивировано 19 марта 2006 года.
- ↑ Overview of SIGKDD Service Award winners (англ.) (2005). Дата обращения: 25 июня 2007. Архивировано 1 июля 2007 года.
- ↑ Ian H. Witten. Data Mining: Practical machine learning tools and techniques, 2nd Edition (англ.). Morgan Kaufmann, San Francisco (2005). Дата обращения: 25 июня 2007. Архивировано 27 ноября 2020 года.
- ↑ G. Holmes. Weka: A machine learning workbench (англ.). Proc Second Australia and New Zealand Conference on Intelligent Information Systems, Brisbane, Australia (1994). Дата обращения: 25 июня 2007. Архивировано 25 сентября 2000 года.
- ↑ S.R. Garner. Applying a machine learning workbench: Experience with agricultural databases (англ.). Proc Machine Learning in Practice Workshop, Machine Learning Conference, Tahoe City, CA, USA 14—21 (1995). Дата обращения: 25 июня 2007. Архивировано 11 июня 2001 года.
- ↑ P. Reutemann. Proper: A Toolbox for Learning from Relational Data with Propositional and Multi-Instance Learners (англ.). 17th Australian Joint Conference on Artificial Intelligence (AI2004). Springer-Verlag (2004). Дата обращения: 25 июня 2007. Архивировано 22 мая 2010 года.
Ссылки
Общие
- Официальная страница Weka (Университет Вайкато, Новая Зеландия)
- Страница проекта Weka на SourceForge (приобретение компанией Pentaho в сентябре 2006)
- WekaDoc — Wiki с документацией Weka
- Страница о Weka от Сесара Ферри (Политехнический университет Валенсии, Испания)
- Введение в Weka (на испанском)
- Сравнение алгоритмов интеллектуального анализа данных — через TodoBI
Примеры использования
- Acronym identification
- Gene selection from microarray data for cancer classification
- QSPR of metal complexation
- Классификация данных EST с интерфейса «растение—патоген»
- Другие проекты и примеры применения Weka
