Weka

Weka (Waikato Environment for Knowledge Analysis, в переводе «окружение для анализа знаний Университета Вайкато») — это программная платформа для машинного обучения и интеллектуального анализа данных, написанная на Java и разработанная в Университете Вайкато. Weka распространяется как свободное программное обеспечение под лицензией GNU GPL.

Общие сведения
Weka
Тип машинное обучение
Разработчики Университет Вайкато (Новая Зеландия)
Написана на 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…

Краткая история

  • В 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 GUI Chooser.png

При запуске приложения появляется диалог выбора интерфейса Weka, предлагающий четыре варианта интерфейса для доступа к функциям программы: Simple CLI, Explorer, Experimenter и Knowledge Flow.

Simple CLI

Simple CLI — простая командная строка. Это консоль, позволяющая работать со всеми возможностями Weka через командную строку.

Explorer

Интерфейс Explorer содержит несколько панелей, предоставляющих доступ к основным компонентам платформы:

  • Панель Preprocess предназначена для импорта данных из базы данных, CSV-файла и их предварительной обработки с помощью фильтров. Фильтры позволяют преобразовывать данные (например, переводить числовые значения в дискретные), а также удалять записи или атрибуты по заданным критериям.
  • Панель Classify предоставляет средства для применения алгоритмов классификации и регрессии к подготовленным множествам данных. Здесь также можно оценить точность итоговой прогнозной модели, в том числе с использованием ROC-кривых, а также визуализировать модель (например, дерево решений).
  • Панель Selected attributes служит для выбора наиболее значимых признаков (атрибутов) в датасете.
  • Панель Visualize отображает матрицу точечных диаграмм, где каждую точку можно выделить и проанализировать с помощью разных инструментов.

Experimenter

Интерфейс Experimenter позволяет систематически сравнивать работу прогнозных алгоритмов Weka на различных наборах данных.

Knowledge Flow

Knowledge Flow реализует те же функции, что и Explorer, но дополнительно поддерживает принцип «drag and drop» («перетащи и отпусти») и обучение на потоке.

Связанные приложения

Примечания