WEKA
Материал из MachineLearning.
Weka — библиотека алгоритмов машинного обучения для решения задач интеллектуального анализа данных (data mining). Система позволяет непосредственно применять алгоритмы к выборкам данных, а также вызывать алгоритмы из программ на языке Java.
Weka расшифровывается как Waikato Environment for Knowledge Analysis — среда для анализа знаний, разработанная в университете Вайкато (Новая Зеландия).
Содержание |
О проекте Weka
Цели проекта — создать современную среду для разработки методов машинного обучения и применения их к реальным данным, сделать методы машинного обучения доступными для повсеместного применения. Предполагается, что с помощью данной среды специалист в прикладной области сможет использовать методы машинного обучения для извлечения полезных знаний непосредственно из данных, возможно, очень большого объёма.
Пользователями Weka являются исследователи в области машинного обучения и прикладных наук. Она также широко используется в учебных целях.
Weka содержит средства для предварительной обработки данных, классификации, регрессии, кластеризации, отбора признаков, поиска ассоциативных правил и визуализации. Weka хорошо подходит для разработки новых подходов в машинном обучении.
Реализация
Weka — это открытый программный продукт, развиваемый мировым научным сообществом, свободно распространяемый под лицензией GNU GPL.
Программное обеспечение написано целиком на Java. Предполагается, что исходные данные представлены в виде матрицы признаковых описаний объектов. Weka предоставляет доступ к SQL-базам через Java Database Connectivity (JDBC) и в качестве исходных данных может принимать результат SQL-запроса. Возможность обработки множества связанных таблиц не поддерживается, но существуют утилиты для преобразования таких данных в одну таблицу, которую можно загрузить в Weka.
Функциональные возможности
Weka имеет пользовательский интерфейс Explorer, но та же функциональность доступна через компонентный интерфейс Knowledge Flow и из командной строки. Имеется отдельное приложение Experimenter для сравнения предсказательной способности алгоритмов машинного обучения на заданном наборе задач.
Explorer имеет несколько панелей.
- Панель предобработки Preprocess panel позволяет импортировать данные из базы, CSV файла и т. д., и применять к ним алгоритмы фильтрации, например, переводить количественные признаки в дискретные, удалять объекты и признаки по заданному критерию.
- Панель классификации Classify panel прзволяет применять алгоритмы классификации и регрессии (в Weka они не различаются и называются classifiers) к выборке данных, оценивать предсказательную способность алгоритмов, визуализировать ошибочные предсказания, ROC-кривые, и сам алгоритм, если это возможно (в частности, решающие деревья).
- Панель поиска ассоциативных правил Associate panel решает задачу выявления всех значимых взаимосвязей между признаками.
- Панель кластеризации Cluster panel даёт доступ к алгоритму k-средних, EM-алгоритму для смеси гауссианов и другим.
- Панель отбора признаков Select attributes panel даёт доступ к методам отбора признаков.
- Панель визуализации Visualize строит матрицу графиков разброса (scatter plot matrix), позволяет выбирать и увеличивать графики, и т. д..
Интеграция
Weka предоставляет прямой доступ к боблиотеке реализованных в ней алгоритмов. Это позволяет легко использовать уже реализованные алгоритмы из других систем, реализованных на Java. Например, эти алгоритмы можно вызывать из MATLAB. В частности, интерфейс доступа к алгоритмам Weka из MATLAB реализован в некоторых алгоритмических пакетах машинного обучения таких, как Spider и MATLABArsenal.
Для использования Weka из систем, реализованных на других платформах, возможен вызов алгоритмов через интерфейс командной строки.
История
- 1993: в университете Вайкато (Новая Зеландия) стартовал проект первой версии Weka, представлявший собой смесь кода на нескольких языках. TCL/TK использовался для программирования пользовательского интерфейса, C для алгоритмов, Make-файлы для описания сценариев вычислительных экспериментов. Система использовалясь, главным образом, для анализа данных в области сельского хозяйства.
- 1997: принято решение заново переписать Weka на Java, включая реализацию алгоритмов, и сделать систему более универсальной.
- 2005: проект получил премию SIGKDD Data Mining and Knowledge Discovery Service.
- 2007-06-25: рейтинг 241 на Sourceforge.net, 907318 загрузок (см. All-time ranking).
Ссылки
- Weka homepage — страница проекта.
- Weka project — страница проекта на SourceForge.net.
- GNU General Public License (GPL).
- WekaDoc - вики-документация Weka.
- WikiPedia - страница в англоязычной Википедии.
Литература
- Ian H. Witten, Eibe Frank, Len Trigg, Mark Hall, Geoffrey Holmes, and Sally Jo Cunningham 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. — 1999. — С. 192-196.