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''   | + | * Панель классификации ''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).
 
Ссылки
- 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.
 


