Задание на лабораторную работу




Часть А

1. Выполнить следующие задания для набора данных ‘vote.arff’.

2. Запустить алгоритм поиска ассоциативных правил Apriori.

3. Какое значение для порога поддержки было использовано в построенной модели? Какое значение для порога достоверности было использовано?

4. Запишите 10 наилучших найденных правил, укажите для них значения поддержки и достоверности.

5. Что обозначают число слева и справа от стрелки в найденных ассоциативных правилах?

6. Для правила номер 8 проведите вычисления поддержки и достоверности, используя вкладку предварительной обработки данных. Сравните полученные значения с пороговыми.

7. Запустить алгоритм поиска ассоциативных правил FPGrowth.

8. Сравнить списки десяти лучших правил, полученных двумя алгоритмами.

9. Запустить алгоритм Apriori задав значение car = true. Какие ассоциативные правила были получены?

10. Решить задачу поиска ассоциативных правил для одного из наборов данных ‘bank-data.csv’, ‘marketbasket.arff’, ‘FoodMart.arff’.

11. Какую предварительную обработку необходимо произвести с набором данных ‘anduin_data.arff’, чтобы иметь возможность применить к нему алгоритм Apriori? Применить необходимые фильтры и решить задачу поиска ассоциативных правил.

 

Часть Б

12. Попытайтесь отыскать в своем индивидуальном задании (в выборке данных) новые шаблоны (ассоциативные правила) при помощи двух рассмотренных алгоритмов. Сгенерируйте также правила, в правой части которых будет находиться ваш класс.

Контрольные вопросы

1. В чем состоит задача поиска ассоциативных правил? Приведите практический пример?

2. Что такое частый набор?

3. Что такое сильное ассоциативное правило?

4. Из каких двух шагов состоит поиск ассоциативных правил?

5. Опишите каждый из рассмотренных методов, решающих задачу поиска ассоциативных правил?

6. В чем состоит принцип Apriori?

7. Как формируются правила из найденных частых наборов?

8. Опишите алгоритм Apriori

9. Что обозначают параметры support, confidence, lift, conviction, применяемые в алгоритме Apriori?

10. Опишите алгоритм ECLAT

11. Опишите алгоритм FPGrowth

Содержание отчета

1. Тема и цель работы

2. Задание к работе.

3. Результаты работы заданий п.5.3.

4. Ответы на контрольные вопросы.

5. Выводы, отображающие критический анализ результатов выполнения работы.

Литература

2. Барсегян А.А. Технологии анализа данных: Data Mining, Visual Mining, Text Mining, OLAP / А.А. Барсегян, М.С. Куприянов, В.В. Степаненко, И.И. Холод. – СПб.: БХВ-Петербург, 2007. – 384 с.

3. Чубукова И.А. Data Mining: учебное пособие / И.А. Чубукова. – М.: Интернет-университет информационных технологий: БИНОМ: Лаборатория знаний, 2006. – 382 с.

4. Witten, I.H. Data mining: practical machine learning tools and techniques.—3rd ed. / Ian H. Witten, Frank Eibe, Mark A. Hall. – Morgan Kaufmann Publishers, 2011. – 629 p.

5. Han J. Data Mining: Concepts and Techniques (Second Edition) / J. Han, M. Kamber – Morgan Kaufmann Publishers, 2006. – 800 p.

6. Weka 3: Data Mining Software in Java [Електронний ресурс] – Режим доступу: https://www.cs.waikato.ac.nz/ml/weka.

1. Weka 3 Wiki documentation [Електронний ресурс] – Режим доступу: https://weka.wikispaces.com/

 

Приложение А.
Интерфейс программы WEKA

Рассмотрим возможности GUI интерфейса программы WEKA.

А.1 Основное окно программы

Основное окно программы - Weka GUI Chooser (рис. А.1). Опишем более подробно назначение управляющих элементов данного окна.

Рисунок А.1 – Основное окно программы WEKA

Основное окно программы предоставляет доступ к четырем модулям:

- Explorer – среда для исследования данных;

- Experimenter – среда для проведения сравнительного анализа работы различных алгоритмов при обработке одних и тех же наборов данных;

- KnowledgeFlow – среда, которая поддерживает такую же функциональность, как и Explorer, но с применением графического представления потоков данных;

- Workbench – среда, которая объединяет все три приведенные выше среды в одну с возможностью переключения представления;

- SimpleCLI – командный интерфейс для непосредственного исполнения команд WEKA.

Главное меню программы состоит из четырех пунктов.

1. Program:

- LogWindow окно логов, которое сохраняет всю информацию, выводимую в потоки stdout или stderr;

- Memory usage – использование памяти;

- Settings – настройки интерфейса;

- Exit – выход.

2. Tools:

- Package manager – установка дополнительных пакетов (дополнительные алгоритмы, средства визуализации и т.п.);

- ArffViewer – редактор arff-файлов;

- SqlViewer – модуль просмотра баз данных, для SQL запросов к базам данных посредством JDBC;

- Bayes net editor – модуль для редактирования, визуализации и обучения Байесовых сетей (Bayes nets).

3. Visualization – средства визуализации данных WEKA.

- Plot отображения 2D-графика набора данных;

- ROC отображение ранее сохраненной ROC-кривой;

- TreeVisualizer – отображение направленных графов, т.е. деревьев решений;

- GraphVisualizer – визуализация графики в формате XML BIF или DOT для Байесовых сетей;

- BoundaryVisualizer визуализация границ решений классификаторов в двух измерениях.

4. Help – раздел справочной информации.

- Weka homepage – домашняя страница проекта WEKA;

- HOWTOs, code snippets, etc. – WekaWiki, содержащая примеры, касающиеся разработки и использования WEKA;

- Weka on Sourceforge – страница проекта WEKA на Sourceforge.net;

- SystemInfo – значения некоторых переменных среды Java/WEKA.

А.2 Модуль Explorer

Это основной модуль программы, который позволяет загрузить и предобработать данные (вкладка Preprocess), решить задачу классификации или регрессии (Classify), кластеризации (Cluster), поиска ассоциативных правил (Associate), отбора атрибутов (Select Attributes), визуализации (Visualize).

Каждая задача имеет свою вкладку в общем окне. Сначала доступна только вкладка Preprocess, поскольку для выполнения остальных задач нужны данные. Отметим, что последовательность вкладок не всегда соответствует этапам решения задачи. Например, после загрузки данных можно перейти к отбору атрибутов.

Внизу каждой вкладки отображается строка статуса. Правый щелчок на строке статуса выдает контекстное меню:

- Memory information – количество доступной памяти;

- Run garbage collector – запуск сборщика мусора Java, которые очищает области памяти, которые больше не используются, позволяя освободить память для новых задач.

Кнопка «LOG» позволяет увидеть лог событий происшедших за время работы WEKA.

В правой части статусной строки изображена птичка Уе. Если она движется, то программа производит вычисления, если сидит неподвижно, то программа находится в режиме ожидания. После значка «Х» отображается число запущенных процессов.

А.3 Загрузка и предварительная обработка данных (Preprocess)

Изначально на первой вкладке «Preprocess » вверху окна активны четыре кнопки, которые позволяют загрузить данные из файла (Open file), либоиз удаленного источника (Open URL), либо из базы данных (Open DB), либо сгенерировать данные (Generate).

После загрузки файла или генерации данных в окне появляется информация о данных (рис. А.2).

Нажатие на кнопку «Edit» позволяет редактировать исходные данные в табличной форме (появляется окно «Viewer »).

Панель «Current relation » содержит 3 значения:

- Relation – название отношения (задачи), которое было указано в файле, применение фильтров может изменять данное название;

- Instances – количество экземпляров (записей/объектов);

- Attributes – количество атрибутов (признаков).

Ниже находится панель «Attributes » (атрибуты или другими словами характеристики объектов выборки данных). На ней находятся четыре кнопки и список атрибутов. Атрибуты расположены в том порядке, в котором они определены в файле данных. Список содержит три колонки:

- No – идентифицирующий номер атрибута, используется при указании атрибута в фильтрах (attributeIndex);

- Selection tick boxes - позволяет выбрать атрибут для дальнейших операций (как правило для удаления);

- Name – имя атрибута, обозначенное в файле данных.

Рисунок А.2 – Вкладка для загрузки и предварительной обработки

При выборе одного из атрибутов, его имя подсвечивается в списке синим цветом и изменяется содержимое правой панели «Selected attribute »:

- Name – имя атрибута;

- Type – тип атрибута Nominal либо Numeric;

- Missing – количество и процент экземпляров, для которых значение этого атрибута потеряно (не определено);

- Distinct – количество различных значений атрибута;

- Unique – количество и процент экземпляров, для которых значение атрибута имеет уникальное значение (такого значения данного атрибута нет ни у одного другого экземпляра).

Ниже этой статистики отображается информация о значениях данного атрибута. Если атрибут имеет тип nominal (номинальный или категориальный, значение из определенного множества), список будет содержать все возможные значения атрибута с количеством их появлений. Если атрибут имеет тип numeric (числовой), то список представит следующую статистическую информацию: минимум, максимум, математическое ожидание и стандартное отклонение.

Ниже представлена цветная гистограмма, которая в зависимости от атрибута, выбранного в качестве определяющего класс (целевого), показывает распределение значений атрибутов. Можно посмотреть гистограммы всех атрибутов нажатием кнопки «Visualize all ».

Выше списка всех атрибутов находятся кнопки, позволяющие выбирать атрибуты (при помощи чекбоксов). Выбранные таким образом атрибуты можно удалить кнопкой «Remove ».

Вкладка предварительной обработки данных позволяет отфильтровать и преобразовать данные в необходимый формат.

Слева на панели «Filter » находится кнопка выбора фильтра «Choose ». C ее помощью можно выбрать один из предварительно определенных фильтров. После выбора фильтра из иерархического списка его название появится справа от кнопки «Choose ». Щелчок по названию фильтра вызывает диалоговое окно настройки его параметров (The GenericObjectEditor Dialog Box). Все поля данного окна имеют всплывающие подсказки о назначении фильтра и его параметрах.

Такое же диалоговое окно используется при настройке других объектов программы WEKA, например, настройка классификаторов и кластеризаторов.

Внизу окна настроек находятся 4 кнопки. Первые две, «Open... »и «Save... »,позволяют сохранить настройки объекта для будущего использования. Кнопка «Cancel» позволяет вернуться без сохранения проведенных изменений. По нажатию кнопки «OK» изменения сохраняются, и пользователь возвращается в «Explorer window».

По нажатию на кнопку «Apply », расположенную в правой части панели «Filter », происходит фильтрация (предобработка) исходных данных в соответствии с выбранным алгоритмом. Кнопка «Undo» предназначена для отмены произведенных с данными операций. Все изменения, проводимые с данными в программе, происходят в оперативной памяти и не влияют на исходный файл. Для сохранения измененных данные в новом файле предназначена кнопка «Save ».

Замечание! Некоторые фильтры при своей работе принимаюn в качестве параметра атрибут класса, задаваемый при помощи выпадающего списка над гистограммой. Так, например, «supervised filters » требуют, чтоб класс был задан, в то время, когда «unsupervised attribute filters » не принимают его во внимание.

А.4 Классификация (Classify)

Вкладка «Classify » позволяет решать задачу классификации для загруженного набора данных (рис. А.3).

Рисунок А.3 – Вкладка решения задачи классификации

Вверху вкладки находится панель выбора классификатора «Classifier ». Выбор и настройка параметров классификатора подобна выбору и настройке фильтра предварительной обработки данных.

На панели «Test options» определяется метод тестирования обученного классификатора:

- на обучающей выборке (use training set);

- на тестовой выборке из отдельного файла (supplied test set);

- по блокам (cross-validation);

- при помощи разделения исходной выборки на обучение и контроль (percentage split).

При выборе некоторых опций необходимо указать параметры тестирования. Например, при выборе «cross-validation» в качестве параметра задается на сколько блоков (фолдов) разбивать выборку. К примеру, если указать 10 фолдов, то выборка будет разделена на 10 равных частей, затем 9 частей будет использовано для обучения и 1 для тестирования. Процесс будет повторен 10 раз, а результаты статистически усреднены.

Leave-one-out – это специальный случай кросс-проверки, при которой количество фолдов равняется количеству экземпляров в выборке. Таким образом, каждый раз только один экземпляр выступает в качестве тестовой выборки.

Кнопка «More options» позволяет выбрать вид отчета об обучении классификатора. Рассмотрим параметры, которые можно задать:

- Output model – вывод построенной модели классификации;

- Output per-class stats – вывод статистики точность/эффективность и истина/ложь для каждого класса;

- Output entropy evaluation measures – вывод оценки энтропии на критериях;

- Output confusion matrix – вывод матрицы неточностей предсказания классификатора.

- Store predictions for visualization – предсказания классификатора сгруппированы таким образом, чтобы их можно было визуализировать;

- Output predictions – вывод предсказанных значений классов для тестовой выборки;

- Output additional attributes – данный параметр используется в случае если вместе с предсказанными значениями класса необходимо вывести дополнительные атрибуты. Например, если необходимо вывести ID атрибут для определения неправильно классифицированных объектов;

- Cost-sensitive evaluation – ошибка классификации определяется с учетом матрицы ценности;

- Random seed for xval/% Split – данный параметр определяет случайный сид (seed), который используется при рандомизации (перетасовке) данных перед их разделением;

- Preserve order for % Split – данный параметр отменяет рандомизацию данных перед их разделением на обучающую и тестовую выборку;

- Output source code – если классификатор может вывести построенную модель в виде исходного кода на языке Java, можно задать для нее имя класса.

В WEKA классификаторы спроектированы на предсказание единственного «класса», который является целевым атрибутом в задаче классификации. Одни классификаторы могут быть обучены только для предсказания категориальных (nominal) целевых атрибутов (классификация), другие - только для предсказания числовых (задача регрессии), третьи – могут решать оба типа задач. По умолчанию в качестве класса выбирается последний атрибут в списке данных. При необходимости целевой атрибут можно изменить при помощи выпадающего списка на панели «Test options».

Процесс обучения классификатора начинается нажатием на кнопку «Start ». Пока классификатор занят обучением, маленькая птичка в строке статуса двигается. Процесс обучения можно остановить в любой момент нажатием кнопки «Stop ».

Когда процесс обучения закончен, справа на панели «Classifier output » появляется информация с результатами обучения и тестирования, а также заполняется панель «Result list ».

Текст на панели «Classifier output » содержит информацию, разбитую на несколько секций. Рассмотрим каждую их них.

Секция «Run information »содержит параметры схемы обучения, имя отношения, экземпляры, атрибуты и параметры тестирования.

Секция «Classifier model (full training set) » содержит текстовое представление модели классификации, полученной в ходе обучения.

Результаты выбранной стратегии обучения разбиты на следующие секции:

- Summary – статистическая информация, подводящая общий итог точности классификации для проверочных экземпляров;

- Detailed Accuracy By Class – более детальная информация по каждому из классов;

- Confusion Matrix – матрица ошибок, элементы которой показывают количество тестовых экземпляров, чей истинный класс является строкой и чей предсказанный класс является колонкой.

После обучения нескольких классификаторов панель «Result List» будет содержать несколько записей. Левый щелчок мышью на записи позволяет перемещаться между результатами анализа.

Правый щелчок на записи вызывает контекстное меню следующего содержания:

- View in main window – показать результаты в главном окне (равноценно щелчку левой кнопкой мыши);

- View in separate window – открывает независимое окно с результатами;

- Save result buffer – выводит диалоговое окно, позволяющее сохранить результаты в текстовом файле;

- Load model – загружает предварительно обученную модель из бинарного файла;

- Save model – сохраняет обученную модель в бинарный файл в виде сериализированного java объекта;

- Re-evaluate model on current test set – тестирует эффективность обученной модели на наборе данных, загруженном при помощи пункта «Set » на панели «Test option »;

- Visualize classifier errors – выводит окно с графиком, визуализирующим результаты классификации: правильно классифицированные экземпляры на графике обозначаются крестиками, а неправильно классифицированные – квадратами.

- Visualize tree or Visualize graph – дает графическое представление структуры классификационной модели, если такое возможно (например, для деревьев решений и Байесовских сетей). Графическое представление возможно только для байесовских сетей. В графе для деревьев решений, щелчок правой кнопкой мыши на пустой панели выводит контекстное меню. Щелкнув на узле дерева можно получить обучающие экземпляры.

- Visualize margin curve – генерирует график, иллюстрирующий границы предсказания.

- Visualize threshold curve – генерирует график, иллюстрирующий различную эффективность предсказания, полученную путем варьирования порогового значения параметра классификации.

- Visualize cost curve – генерирует график, который дает явное представление об ожидаемых затратах, как описано в работе Drummond and Holte (2000).

Опции неактивны, если они не могут быть применены к данным результатам.

А.5 Кластеризация (Cluster)

Вкладка «Cluster » содержит схему обучения кластеризаторов (рис. А.4). Выбор функции кластеризации и настройка ее параметров происходят таким же образом, как и для рассмотренной выше задачи классификации.

Панель «Cluster mode » используется для того, чтобы определить, что кластеризовать и как оценивать результаты. Первые три опции такие же, как и для задачи классификации: Use training set, Supplied test set и Percentage split – при этом данные используются для отнесения к кластеру, а не для предсказания определенного класса. Четвертый метод «Classes to clusters evaluation » оценивает насколько хорошо был выбран кластер, сравнивая его с предварительно заданным классом в данных.

Рисунок А.4 – Вкладка решения задачи кластеризации

Дополнительная опция в виде чекбокса «Store clusters for visualization » определяет, возможно ли будет визуализировать кластеры по окончании обучения. При решении задач с очень большими объемами данных следует отключить данную опцию, чтобы избежать проблем с нехваткой памяти.

Кнопка «Ignoring Attributes » позволяет определить, какие атрибуты следует игнорировать при проведении кластеризации.

Вкладка Кластеризации также как и вкладка классификации содержит кнопки «Start/Stop », панель результатов и список результатов. Щелчок правой кнопкой мыши на записи в списке результатов дает контекстное меню с двумя опциями визуализации: Visualize cluster assignments и Visualize tree.

А.6 Ассоциативные правила (Associate)

Вкладка «Associate » содержит схему обучения ассоциативных правил (рис. А.5). Алгоритмы поиска ассоциативных правил выбираются, настраиваются и выполняются аналогично описанному выше.

Рисунок А.5 – Вкладка решения задачи поиска ассоциативных правил

А.7 Отбор атрибутов (Selecting attributes)

Отбор атрибутов включает перебор всех возможный комбинаций атрибутов данных для поиска подмножества атрибутов, дающих наилучший результат предсказания (рис. А.6).

Для этого должны быть настроены два объекта: оценщик атрибутов и метод поиска. Оценщик (Atribute Evaluator) определяет какой метод используется для назначения значимости каждого подмножества атрибутов, а метод поиска (Search Method) определяет стиль поиска подмножеств.

Панель «Attribute Selection Mode » имеет два параметра:

- Use full training set – значимость подмножества атрибутов определяется для полного набора обучающих данных;

- Cross-validation (Скользящий контроль, кросс-проверка) – значимость подмножества атрибутов определяется при помощи кросс-проверки. Поля Fold и Seed определяют количество блоков (folds) и случайный сид (seed), используемый при перетасовке данных.

Рисунок А.6 – Вкладка решения задачи отбора атрибутов

Внизу находится выпадающий список, который задает целевой атрибут, который будет использоваться в качестве класса.

По нажатию кнопки «Start » запускается процесс отбора атрибутов. Когда процесс закончен, результаты выводятся на панель результатов «Attribute selection output » и добавляются в список результатов. Нажатие правой кнопки мыши на результаты выдает контекстное меню. Первые три пункта этого меню (View in main window, View in separate window and Save result buffer) такие же как и для вкладки классификации. Дополнительными являются Visualize reduced data, или если был выбран метод Principal-Components, Visualize transformed data.

А.8 Визуализация (Visualizing)

Данная вкладка позволяет представить исходные данные в графическом виде (рис. А.7).

Рисунок А.7 – Вкладка визуализации исходных данных

При открытии вкладки визуализации данных отображается диаграмма разброса данных для всех атрибутов с цветовой кодировкой согласно выбранному классу. Размеры каждой из диаграмм могут быть изменены, могут быть изменены размеры точек. В данные может быть добавлен шум (jitter) для обнаружения «слабых» точек. Кроме того, каждый график может быть открыт в отдельном окне нажатием на него.

Для применения любых внесенных в настройки изменений и обновления информации на графиках необходимо нажать кнопку «Update ».

На графике можно выбрать отдельные точки при помощи выпадающего списка «Select Instance ». На графике можно оставить только выбранные точки, их же можно сохранить в новый файл.

А.9 Модуль Experimenter

Данный модуль позволяет проводить эксперименты: запускать несколько алгоритмов на нескольких задачах и получать сводный отчет.

Вкладка «Setup » (рис. А.8). На вкладке изначально активны две кнопки: «Open » (открыть файл эксперимента) и «New » (создать новый эксперимент), а также две опции списка параметров эксперимента: «Simple » (простой), «Advanced » (для «продвинутых» пользователей).

Рисунок А.8 – Установка параметров эксперимента

Создадим новый эксперимент. При нажатии на кнопку «New » активируются все опции. На панели «Result Destination » необходимо выбрать файл для записи отчета. По умолчанию файл результатов имеет расширение arff, поэтому не затрите файлы исходных данных.

На панели «Experiment Type » выбирается тип эксперимента:

- Cross-validation (default) – проводить верификацию методом контроля по блокам/фолдам;

- Train/Test Percentage Split (data randomized) – процентное разделение выборки на контроль/обучение со случайным порядком следования экземпляров;

- Train/Test Percentage Split (order preserved) – процентное разделение выборки с сохранением порядка; применяется в том случае, если в одном файле хранится и обучающая и тестовая выборка.

На панели «Iteration Control » выбирается число итераций (повторений экспериментов). При повторениях происходят новые разбиения на обучение/контроль и на фолды. Также здесь указывается порядок проведения эксперимента (перебирать сначала все задачи или все алгоритмы).

На панели «Datasets » можно выбрать наборы данных, на панели «Algorithms » – алгоритмы (параметры их выбираются аналогично тому, как это делалось в модуле «Explorer »).

Вкладка «Run ». Единственная кнопка «Start » запускает эксперимент на выполнение.

Вкладка «Analyze » (рис. 1.9) позволяет анализировать результаты экспериментов. На панели «Source » выбирается эксперимент для анализа (только что проведенный или записанный в файле).

На панели «Configure test » определяется вид статистики для анализа. Кнопка «Row » позволяет выбрать данные, которые будут записаны в строках выводимой матрицы (для примера выберем из открывшегося списка Dataset), а кнопка Column – что будет записано по столбцам (выберем Scheme). В поле Comparison field выбирается тип данных, которыми будет заполнена таблица (выбор Percent _ correct обеспечивает заполнение процентами верной классификации).

Сравнение результатов работы алгоритмов выполняется при помощи критерия Стьюдента (t- test, Student’s t-test).

Для генерации отчета необходимо нажать кнопку «Perform test ».

На рис. А.9. показана статистика работы трех алгоритмов на задаче «iris».

В результате эксперимента было выполнено 10 итераций (обучение и тестирование), на каждой из которых выборка разбивалась в соотношении 66% экземпляров для обучения и 34% – для тестирования.

Рисунок А.9 – Оценка результатов эксперимента

В колонках статистики указаны методы классификации, а в строках – наборы данных (задачи).

Процент правильно классифицированных экземпляров для трех методов показан в строке, соответствующей набору данных iris: 33,33% для ZeroR, 94,31% для OneR и 94,90% для J48.

Отметка «v» или «*» означает, что данный результат статистически лучше (v) или хуже (*), чем алгоритм выбранный в качестве базового (baseline scheme, в данном случае это ZeroR) при указном уровне значимости (significance, в данном случае 0,05). Результаты двух алгоритмов OneR и J48 статистически лучше, чем результаты базового алгоритма ZeroR.

Внизу каждой колонки находится значение (xx/yy/zz), которое показывает количество раз (по количеству строк) в которых результаты работы алгоритма, находящегося в названии столбца, были лучше (xx), такие же (yy) или хуже (zz), чем результаты базового алгоритма на наборах данных, использовавшихся в эксперименте.

В данном примере был только один набор данных и OneR один раз был лучше чем ZeroR и никогда хуже или эквивалентен ему (1/0/0); J48 также один раз был лучше, чем ZeroR.

Значение «(10)» в начале строки, соответствующей набору данных «iris», определяет количество запусков эксперимента.

Выбирая «Number_correct» в качестве значения для сравнения (comparison field), в статистике получаем среднее количество верно распознанных экземпляров для тестовой выборки (из 50 тестовых экземпляров, что является 33% от общего количества в 150 экземпляров для набора данных «iris»).

Базовый алгоритм для сравнения может быть изменен при помощи кнопки «Test base ».

Выбрав опцию «Summary» в качестве базы для сравнения, получим следующую информацию.

a b c (No. of datasets where [col] >> [row])

- 1 (1) 1 (1) | a = (1) rules.ZeroR

0 (0) - 1 (0) | b = (2) rules.OneR

0 (0) 0 (0) - | c = (3) trees.J48

В данном эксперименте первая строка (- 1 1) показывает, что метод в колонке b (OneR) лучше, чем метод в строке a (ZeroR) и метод в колонке c (J48) также лучше метода в строке a. Значение в скобках представляет количество статистически значимых побед колонки по отношению к строке. Значение 0 показывает, что соответствующий столбец не был статистически лучше строки.

Выбрав опцию «Ranking» в качестве базы для сравнения, получим следующую информацию.

>-< > < Resultset

1 1 0 trees.J48

1 1 0 rules.OneR

-2 0 2 rules.ZeroR

Данный тест ранжирует методы по общему количеству значимых побед (>) и поражений (<) против других методов. Первая колонка (> − <) показывает разницу между количество побед и поражений.

А.10 Модуль Knowledge flow

Интерфейс KnowledgeFlow отражает концепцию потоков данных (рис. А.10).

Сначала строится весь путь, который должны пройти данные, от их источников до их выходов. Путь стоится из примитивов различных видов, обычно он таков: источник данных (DataSources) – фильтр (Filter) (необязателен) – разбивка на обучающее и тестовое множество (Evaluation) – классификатор (Classifiers) (кластеризатор (Clusterers), ассоциатор (Associators)) – оценка (Evaluation) – вывод данных (DataSinks). Практически к любому этапу можно присоединить отображение различных видов (Visualization).

Рисунок А.10 – Модуль Knowledge flow

Примитивы перетаскиваются в рабочее поле из соответствующих вкладок (клик на примитив – клик на рабочее поле). Входы и выходы примитивов соединяются связями, причем нельзя соединить разнотипные по данным выходы и входы. У примитива может быть несколько выходов с разными данными. Связи тоже бывают разные, в зависимости от того, какие данные по ним передаются (из какого выхода они идут). Связываются примитивы путем выбора в меню, появляющимся при клике правой кнопкой мыши на примитиве в рабочем поле, в подпункте меню Connection определенного выхода примитива и последующим клике на примитив, с которым следует установить связь. Все примитивы, доступные для связи, при этом выделяются.

После прокладки пути при помощи источника данных загружают данные, и они автоматически проходят весь построенный путь.

Рассмотрим пример построения потока данных, приведенного на рис. А.10.

1. На вкладке источников данных «DataSources » выбрать загрузчик данных «ArffLoader » и разместить его на рабочем поле.

2. Выбрать arff файл для загрузки: щелкнуть правой кнопкой мыши на загрузчике, размещенном на поле, и выбрать из выпадающего списка в секции «Edit» пункт «Configure».

3. На вкладке «Evaluation», выбрать компонент «ClassAssigner» (позволяет выбрать целевой атрибут) и разместить его на поле.

4. Теперь необходимо соединить компоненты «ArffLoader» и «ClassAssigner». Для этого необходимо щелкнуть правой кнопкой мыши на загрузчике «ArffLoader» и из выпадающего списка выбрать в секции «Connections» пункт «dataSet». Появится синяя линия, которую необходимо подвести к иконке компонента «ClassAssigner» на поле и щелкнуть на нем левой кнопкой мыши. Появится красная линия потока данных с подписью «dataSet», соединяющая два компонента.

5. Вызвать настройки компонента «ClassAssigner» и выбрать целевой атрибут (класс).

6. Из вкладки «Evaluation» выбрать компонент «CrossValidationFoldMaker» и разместить его на рабочем поле. Соединить «ClassAssigner» и «CrossValidationFoldMaker» связью «dataSet».

7. Из вкладки «Classifiers» в секции «Trees» выбрать компонент «J48» и разместить его на рабочем поле. Соединить «CrossValidationFoldMaker» и «J48» двумя связями: «trainingSet» и «testSet».

8. Из вкладки «Evaluation» выбрать и разместить на рабочем поле компонент «ClassifierPerformanceEvaluator». Соединить «J48» с этим компонентом связью «batchClassifier».

9. Из вкладки «Visualization» выбрать компонент «TextViewer» и разместить его на рабочем поле. Соединить «ClassifierPerformanceEvaluator» с этим компонентом связью «Text».

10. Запустить обработку потока данных при помощи пункта «Start loading» в выпадающем списке загрузчика «ArffLoader». Во время обработки будет отображена анимация некоторых из компонентов в рабочей области и появится информация в нижней части окна «Status»/«Log».

11. По окончании обработки данных просмотреть результаты можно вызвав пункт «Show results» компонента «TextViewer».

12. Кроме того, можно подключить компонент «TextViewer» и/или «GraphViewer» к «J48» для того, чтобы увидеть представление деревьев, построенных на каждом из фолдов кросс-проверки. Такая возможность не предусмотрена в модуле Explorer.

Приложение Б.
Варианты индивидуальных заданий

Выбрать из таблицы по номеру варианта (N) из журнала набор данных для исследования. Исследовать поставленную задачу, характеристики набора данных (атрибуты), при необходимости произвести предварительную обработку данных и уменьшить число объектов в выборке, выделить аномалии и выбросы, выбрать стратегию работы с объектами с пропусками, определить стратегию тестирования обученных алгоритмов. Для каждого из алгоритмов провести исследования их работы на поставленной задаче, изменяя параметры настройки алгоритма.

 

Таблица А.1 – Наборы данных для задачи классификации

  adult.arff   wine.arff
  bank-data.arff   credit.arff
  breast-cancer.arff   vote.arff
  breast-w.arff   spambase.arff
  labor.arff   zoo.arff
  postoperative.arff   tic-tac-toe.arff
  heart-statlog.arff   mushroom.arff
  diabetes.arff   vehicle.arff

 

Для решения задачи регрессии выбрать одну задачу по номеру варианта (N mod 7)+1. Вторая задача на собственный выбор.

 

Таблица А.2 – Наборы данных для задачи регрессии

  cpu.arff’   housing.arff
  auto_mpg.arff   bodyfat.arff
  winequality-red.csv   fishcatch.arff
  autoprice.arff   auto93.arff

Приложение В.
Контрольная работа для заочников

1) ЛР №1 задание пункт 10. Выбрать индивидуальное задание (набор данных) и в отчет вставить полное описание данных: какая задача решается, сколько экземпляров в выборке, сколько атрибутов, их типы и значения, какой атрибут показывает класс экземпляра, сколько в выборке объектов каждого класса и т.п.

Выборку в отчет вставлять НЕ нужно!

Если выборка не устраивает, можно выбрать другую выборку. Главное, чтобы не было одинаковых вариантов в группе.

2) ЛР №2. Решить задачу классификации для индивидуального набора данных.

Методы: 1R, покрывающий метод PRISM, наивная Баейесовая классификация, метод построения деревьев решений С4.5, метод опорных векторов, метод k ближайших соседей.

В отчете представить результаты по каждому из методов. Не скриншоты, а содержимое окна результатов.

Если модель очень большая, ее можно сократить. Для деревьев решений привести графическое представление дерева (текстовое представление не нужно!).

3) ЛР №4. Метод кластеризации K-средних применить для собственной выборки. При этом количество искомых кластеров равняется количеству классов. Соотнести найденные кластеры и классы.

4) Привести теоретические сведения по одному из методов классификации (перечень в пункте 2) и по методу К-средних. Основная идея методов.

5) При защите работы знать, что такое интеллектуальный анализ данных, основные решаемые задачи. Определение задач классификации, регрессии, кластеризации, поиска ассоциативных правил. Привести примеры.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-04-03 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: