Введение
Комплект программного обеспечения для машинного обучения, написанный на Java.
Waikato Environment for Knowledge Analysis (Weka) – это коллекция программного обеспечения для машинного обучения и анализа данных, распространяемая под лицензией GNU General Public License. Она была разработана в Университете Вайкато (Новая Зеландия) и является сопутствующим программным обеспечением к книге «Data Mining: Practical Machine Learning Tools and Techniques». Изначальная версия Weka, не написанная на Java, представляла собой графический интерфейс Tcl/Tk для (в основном сторонних) алгоритмов моделирования, реализованных на других языках программирования, а также утилиты предварительной обработки данных на C и систему на основе makefile для проведения экспериментов в области машинного обучения. Эта первоначальная версия была разработана главным образом как инструмент для анализа данных из сельскохозяйственной сферы, но более поздняя версия, полностью реализованная на Java (Weka 3), разработка которой началась в 1997 году, теперь используется во многих различных областях, особенно в образовательных целях и для научных исследований. Преимущества Weka включают:
Бесплатную доступность под лицензией GNU General Public License. Переносимость, поскольку она полностью реализована на языке программирования Java и, следовательно, работает практически на любой современной вычислительной платформе. Обширный набор методов предварительной обработки и моделирования данных. Простоту использования благодаря графическим пользовательским интерфейсам. Weka поддерживает несколько стандартных задач анализа данных, в частности, предварительную обработку данных, кластеризацию, классификацию, регрессию, визуализацию и отбор признаков. Входные данные для Weka должны быть отформатированы в соответствии с форматом файла Attribute Relational File Format и иметь соответствующее расширение имени файла. Все методы Weka основаны на предположении, что данные представлены в виде одного плоского файла или отношения, где каждая точка данных описывается фиксированным набором атрибутов (обычно числовых или номинальных, но поддерживаются и другие типы атрибутов). Weka обеспечивает доступ к базам данных SQL с использованием Java Database Connectivity и может обрабатывать результаты, возвращаемые запросами к базе данных. Weka предоставляет доступ к технологиям глубокого обучения через Deeplearning4j. Она не поддерживает многореляционный анализ данных, но существует отдельное программное обеспечение для преобразования набора связанных таблиц базы данных в единую таблицу, пригодную для обработки в Weka. Еще одна важная область, которая в настоящее время не охватывается алгоритмами, включенными в дистрибутив Weka, – это моделирование последовательностей.
Пакеты расширения
В версии 3.7.2 был добавлен менеджер пакетов для упрощения установки пакетов расширений. Некоторые функции, которые ранее входили в состав Weka до этой версии, впоследствии были перенесены в эти пакеты расширений, однако это изменение также упрощает другим пользователям разработку расширений для Weka и поддержку программного обеспечения, поскольку такая модульная архитектура позволяет независимо обновлять ядро Weka и отдельные расширения.
История
В 1993 году в Университете Вайкато в Новой Зеландии началась разработка оригинальной версии Weka, которая представляла собой смесь Tcl/Tk, C и makefiles. В 1997 году было принято решение переработать Weka с нуля на Java, включая реализацию алгоритмов моделирования. В 2005 году Weka получила премию SIGKDD Data Mining and Knowledge Discovery Service Award. В 2006 году корпорация Pentaho приобрела эксклюзивную лицензию на использование Weka для бизнес-аналитики. Weka является компонентом анализа данных и предиктивной аналитики в составе пакета бизнес-аналитики Pentaho. С тех пор Pentaho была приобретена Hitachi Vantara, а Weka теперь лежит в основе компонента с открытым исходным кодом PMI (Plugin for Machine Intelligence).
Связанные инструменты
Auto WEKA – это автоматизированная система машинного обучения для Weka. Environment for DeveLoping KDD Applications Supported by Index Structures (ELKI) – аналогичный Weka проект, ориентированный на кластерный анализ, то есть методы без учителя. H2O.ai – это платформа для анализа данных и машинного обучения с открытым исходным кодом. KNIME – это программное обеспечение для машинного обучения и интеллектуального анализа данных, реализованное на Java. Massive Online Analysis (MOA) – это проект с открытым исходным кодом для крупномасштабной обработки потоковых данных, также разработанный в Университете Вайкато в Новой Зеландии. Neural Designer – это программное обеспечение для интеллектуального анализа данных, основанное на методах глубокого обучения и написанное на C++. Orange – аналогичный проект с открытым исходным кодом для интеллектуального анализа данных, машинного обучения и визуализации, основанный на scikit-learn. RapidMiner – это коммерческий фреймворк машинного обучения, реализованный на Java, который интегрирует Weka. scikit-learn – популярная библиотека машинного обучения на Python.
KNIME is a machine learning and data mining software implemented in Java. Massive Online Analysis (MOA) is an open source project for large scale mining of data streams, also developed at the University of Waikato in New Zealand. Neural Designer is a data mining software based on deep learning techniques written in C++. Orange is a similar open source project for data mining, machine learning and visualization based on scikit learn. RapidMiner is a commercial machine learning framework implemented in Java which integrates Weka. scikit learn is a popular machine learning library in Python.