WEKA

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: right '''Weka''' — библиотека алгоритмов машинного обучения для решения з...)
м (очепятка)
 
(7 промежуточных версий не показаны.)
Строка 18: Строка 18:
Программное обеспечение написано целиком на Java.
Программное обеспечение написано целиком на Java.
-
Предполагается, что исходные данные представлены в виде матрицы [[признаковое описание|признаковых описаний]] объектов. ''Weka'' предоставляет доступ к SQL-базам через Java Database Connectivity и в качестве исходных данных может принимать результат SQL-запроса. Возможность обработки множества связанных таблиц не поддерживается, но существуют утилиты для преобразования таких данных в одну таблицу, которую можно загрузить в ''Weka''.
+
Предполагается, что исходные данные представлены в виде матрицы [[признаковое описание|признаковых описаний]] объектов. ''Weka'' предоставляет доступ к SQL-базам через Java Database Connectivity (JDBC) и в качестве исходных данных может принимать результат SQL-запроса. Возможность обработки множества связанных таблиц не поддерживается, но существуют утилиты для преобразования таких данных в одну таблицу, которую можно загрузить в ''Weka''.
== Функциональные возможности ==
== Функциональные возможности ==
Строка 26: Строка 26:
''Explorer'' имеет несколько панелей.
''Explorer'' имеет несколько панелей.
* Панель предобработки ''Preprocess panel'' позволяет импортировать данные из базы, CSV файла {{S|и т. д.}}, и применять к ним алгоритмы фильтрации, например, переводить количественные признаки в дискретные, удалять объекты и признаки по заданному критерию.
* Панель предобработки ''Preprocess panel'' позволяет импортировать данные из базы, CSV файла {{S|и т. д.}}, и применять к ним алгоритмы фильтрации, например, переводить количественные признаки в дискретные, удалять объекты и признаки по заданному критерию.
-
* Панель классификации ''Classify panel'' прзволяет применять алгоритмы классификации и регрессии (в Weka они не различаются и называются ''classifiers'') к выборке данных, оценивать предсказательную способность алгоритмов, визуализировать ошибочные предсказания, ROC-кривые, и сам алгоритм, если это возможно (в частности, [[решающие деревья]]).
+
* Панель классификации ''Classify panel'' позволяет применять алгоритмы классификации и регрессии (в Weka они не различаются и называются ''classifiers'') к выборке данных, оценивать предсказательную способность алгоритмов, визуализировать ошибочные предсказания, ROC-кривые, и сам алгоритм, если это возможно (в частности, [[решающее дерево|решающие деревья]]).
* Панель поиска ассоциативных правил ''Associate panel'' решает задачу выявления всех значимых взаимосвязей между признаками.
* Панель поиска ассоциативных правил ''Associate panel'' решает задачу выявления всех значимых взаимосвязей между признаками.
* Панель кластеризации ''Cluster panel'' даёт доступ к [[метод k-средних|алгоритму k-средних]], [[EM-алгоритм]]у для смеси гауссианов и другим.
* Панель кластеризации ''Cluster panel'' даёт доступ к [[метод k-средних|алгоритму k-средних]], [[EM-алгоритм]]у для смеси гауссианов и другим.
* Панель отбора признаков ''Select attributes panel'' даёт доступ к методам [[отбор признаков|отбора признаков]].
* Панель отбора признаков ''Select attributes panel'' даёт доступ к методам [[отбор признаков|отбора признаков]].
* Панель визуализации ''Visualize'' строит матрицу графиков разброса (scatter plot matrix), позволяет выбирать и увеличивать графики, {{S|и т. д.}}.
* Панель визуализации ''Visualize'' строит матрицу графиков разброса (scatter plot matrix), позволяет выбирать и увеличивать графики, {{S|и т. д.}}.
 +
 +
== Интеграция ==
 +
 +
''Weka'' предоставляет прямой доступ к библиотеке реализованных в ней алгоритмов.
 +
Это позволяет легко использовать уже реализованные алгоритмы из других систем, реализованных на Java.
 +
Например, эти алгоритмы можно вызывать из [[MATLAB]].
 +
В частности, интерфейс доступа к алгоритмам ''Weka'' из [[MATLAB]] реализован в некоторых алгоритмических пакетах [[Machine Learning|машинного обучения]] таких, как [http://www.kyb.tuebingen.mpg.de/bs/people/spider/ Spider] и [http://www.informedia.cs.cmu.edu/yanrong/MATLABArsenal/MATLABArsenal.htm MATLABArsenal].
 +
 +
Для использования ''Weka'' из систем, реализованных на других платформах, возможен вызов алгоритмов через интерфейс командной строки.
== История ==
== История ==
Строка 45: Строка 54:
* [http://weka.sourceforge.net/wiki/ WekaDoc] - вики-документация Weka.
* [http://weka.sourceforge.net/wiki/ WekaDoc] - вики-документация Weka.
* [http://en.wikipedia.org/wiki/Weka_%28machine_learning%29 WikiPedia] - страница в англоязычной Википедии.
* [http://en.wikipedia.org/wiki/Weka_%28machine_learning%29 WikiPedia] - страница в англоязычной Википедии.
 +
 +
== См. также ==
 +
* [[RapidMiner]]
 +
* [[Matlab]]
 +
* [[R]]
 +
* [[Xelopes]]
 +
* [[DELVE]]
== Литература ==
== Литература ==
Строка 57: Строка 73:
}}
}}
-
 
+
[[Категория:Прикладные системы анализа данных]]
-
[[Категория:Инструменты и технологии]]
+

Текущая версия

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).

Ссылки

См. также

Литература

  1. 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.
Личные инструменты