Статистика государственных финансов
Правила переоформления студенческих работ
Требования к оформлению студенческих работ

Поиск ассоциативных правил в Deductor 4

ГлавнаяИнформатикаБазы данных и экспертные системы
ДисциплинаБазы данных и экспертные системы
ВУЗМГУ

Содержание

Лабораторная работа 6 
Поиск ассоциативных правил
Цель работы: Освоение основных методов и способов проведения ассоциативного анализа и построения деревьев решений, приобретение практических навыков по использованию инструментария Deductor 4 по использованию метода скользящего окна в задачах поиска ассоциативных правил.
Задание: 
1)	Разработать сценарии поиска ассоциативных правил и проведения анализа «что – если».
2)	По таблице (например, продаж) создать таблицу транзакций (например, с полями: Менеджер, Организация, Вид товара). Таблицу получить путем слияния соответствующих полей из разных таблиц и последующей группировки. 
3)	Разработать сценарии поиска ассоциативных правил импликаций (например, Менеджер => Вид товара и Организация => Вид товара).
4)	Создать отчеты по всем разработанным сценариям.
5)	Продемонстрировать проект преподавателю с использованием тестовых наборов данных и защитить работу.
Краткая теория и методические указания
 Ассоциативные правила
Ассоциативные правила позволяют находить закономерности между связанными событиями. Примером такого правила, служит утверждение, что покупатель, приобретающий «Хлеб», приобретет и «Молоко» с вероятностью 75%. Впервые эта задача была предложена для поиска ассоциативных правил для нахождения типичных шаблонов покупок, совершаемых в супермаркетах, поэтому иногда ее еще называют анализом рыночной корзины (market basket analysis). 
Транзакция – это множество событий, произошедших одновременно. Пусть имеется база данных, состоящая из покупательских транзакций. Каждая транзакция – это набор товаров, купленных покупателем за один визит. Такую транзакцию еще называют потребительской корзиной. Пусть имеется список транзакций. Необходимо найти закономерности между этими событиями. Как в условии, так и вследствие правила должны находиться элементы транзакций.
Пусть I={i1,i2,...,in} – множество элементов, входящих в транзакции. 
Ассоциативным правилом называется импликация X => Y (читается «X дает Y» или «из X следует Y»), где X принадлежит I, Y принадлежит I и пересечение X и Y – пустое множество.
Обычные ассоциативные правила – это правила, в которых как в условии, так и в следствии присутствуют только элементы транзакций и при вычислении которых используется только информация о том, присутствует ли элемент в транзакции или нет. Фактически все приведенные выше примеры относятся к обычным ассоциативным правилам.
Настройка назначения полей
Для определения ассоциативных правил нужно определить, как каждое поле будет использоваться при обработке данных. Слева представлен список всех полей выборки, каждое из которых помечено значком в зависимости от его назначения: 
	Транзакция – поле, содержащее идентификатор событий, происходящих совместно (одновременно). Например, номер чека, по которому приобретены товары. Тогда покупка одного товара – это событие, а их совместное приобретение по одному чеку – транзакция.  
	Элемент – поле, содержащее элемент транзакции (событие).  
	Неиспользуемое – поле не будет использоваться при обучении и работе нейронной сети. В отличие от непригодного, такое поле может быть использовано, если в этом возникнет необходимость.  
	Непригодное – поле не может быть использовано при построении и работе алгоритма.  
Поле может быть использовано в ассоциативных правилах, если выполнено несколько условий: 
1)	в нем не содержатся пропуски;  
2)	количество уникальных значений меньше количества строк таблицы;  
3)	дисперсия столбца не равна нулю, то есть в столбце содержатся одинаковые значения.  
В противном случае, поле будет автоматически помечено как непригодное. 
Для начала работы с ассоциативными правилами необходимо указать, что является идентификатором (ID) транзакции, а что элементом транзакции. Например, идентификатор транзакции – это номер чека или код накладной. А элемент – это наименование товара в чеке.
Для указания назначения полю необходимо выделить его и в списке «Назначение» выбрать один из вариантов его использования.
Параметры построения ассоциативных правил
Далее следует указать параметры поиска правил:
	Минимальная и максимальная поддержка. Ассоциативные правила находятся только в некотором множестве всех транзакций. Для того чтобы транзакция вошла в это множество, она должна встретиться в исходной выборке количество раз, больше минимальной поддержки и меньше максимальной. Например, минимальная поддержка равна 1 %, а максимальная – 20 %. Количество элементов «Хлеб» и «Молоко» столбца «Товар» с одинаковым значением столбца «Номер чека» встречаются в 5 % всех транзакций (номеров чека). Тогда эти две строки войдут в искомое множество.  
	Минимальная и максимальная достоверность. Это процентное отношение количества транзакций, содержащих все элементы, которые входят в правило, к количеству транзакций, содержащих элементы, которые входят в условие. Если транзакция – это заказ, а элемент – товар, то достоверность характеризует, насколько часто покупаются товары, входящие в следствие, если заказ содержит товары, вошедшие во всё правило.  
	Максимальная мощность искомых часто встречающихся множеств. Если этот параметр указан (флажок установлен), то максимальная мощность (количество элементов) часто встречающихся множеств будет не больше значения этого параметра. Следовательно, любое результирующее правило будет состоять не более чем из «максимальной мощности» элементов.  
Выявление действительно интересных правил – это одна из главных подзадач, при вычислении ассоциативных зависимостей. Для того чтобы получить действительно интересные зависимости, нужно разобраться с несколькими эмпирическими правилами: 
1)	Уменьшение минимальной поддержки приводит к тому, что увеличивается количество потенциально интересных правил, однако это требует существенных вычислительных ресурсов. Одним из ограничений уменьшения порога минимальной поддержки является то, что слишком маленькая поддержка правила делает его статистически необоснованным.  
2)	Уменьшение порога достоверности также приводит к увеличению количества правил. Значение минимальной достоверности также не должно быть слишком маленьким, так как ценность правила с достоверностью в 5 % настолько мала, что это правило таковым считать нельзя.  
3)	Правило со слишком большой поддержкой с точки зрения статистики представляет собой большую ценность, но, с практической точки зрения, это, скорее всего, означает то, что, либо правило всем известно, либо товары, присутствующие в нем, являются лидерами продаж, откуда следует их низкая практическая ценность. 
4)	Правило со слишком большой достоверностью практической ценности в контексте решаемой задачи не имеет, т.к. товары, входящие в следствие, покупатель, скорее всего, уже купил.  
5)	Если значение верхнего предела поддержки имеет слишком большое значение, то в правилах основную часть будут составлять товары – лидеры продаж. При таком раскладе не представляется возможным уменьшить минимальный порог поддержки до того значения, при котором могут появляться интересные правила. Причиной тому является просто огромное число правил, и, как следствие, нехватка системных ресурсов. Причем получаемые правила процентов на 95 содержат товары – лидеры продаж.  
6)	Если задать значение параметра максимальная мощность, то можно искать правила, которые состоят не более чем из «максимальной мощности» количества элементов. Например, если нужны только простые правила для оценочного анализа, то значение максимальной мощности следует установить либо в 2 либо в 3. При этом если максимальная мощность равна 2, то все найденные правила будут иметь вид: «Если Товар I, то Товар J». Ограничение поиска часто встречающихся множеств по мощности (количеству элементов в множестве) может также понадобится, если при указанном значении минимальной поддержки, количество часто встречающихся множеств, имеющих большую мощность слишком велико.  
Варьируя верхним и нижним пределами поддержки и достоверности, а также параметром «максимальная мощность», можно избавиться от очевидных и неинтересных закономерностей. Как следствие, правила, генерируемые алгоритмом, принимают приближенный к реальности вид.
Дерево правил
Дерево правил – это всегда двухуровневое дерево. Оно может быть построено либо по условию, либо по следствию. 
При построении дерева правил по условию, на первом (верхнем) уровне находятся узлы с условиями, а на втором уровне – узлы со следствием. 
Второй вариант дерева правил – дерево, построенное по следствию. Здесь на первом уровне располагаются узлы со следствием. Дерево правил располагается в левой части окна. Для управления деревом правил служат следующие кнопки на панели инструментов: 
1)	Группировать по условию – построить дерево так, чтобы на первом уровне располагались элементы условия.  
2)	Группировать по следствию – построить дерево так, чтобы на первом уровне располагались элементы следствия.
3)	Сортировка:  
	по порядку; 
	по следствию (по убыванию);  
	 по следствию (по возрастанию) – сортировать по наименованию элемента;  
	по поддержке (по возрастанию);  
	по поддержке (по убыванию);  
	по достоверности (по убыванию);  
	по достоверности (по возрастанию).  
4)	Фильтрация… – открывает окно настройки фильтра ассоциативных правил. Правила могут быть отфильтрованы по условию, по следствию, по поддержке и по достоверности. В случае большого списка можно оставить, например, наиболее достоверные правила.  
5)	Показать проценты – имеет два состояния: в нажатом состоянии справа от каждого элемента дерева отображается его поддержка в процентах и количестве. 
6)	Показать правила (F12) – имеет два состояния: в нажатом состоянии справа от дерева отображаются правила, соответствующие выбранному узлу дерева.  
7)	Найти правило на дереве (Enter) – при выборе мышкой правила из списка справа от дерева можно найти это правило в дереве, нажав эту кнопку.  
Справа от дерева находится список правил, построенный по выбранному узлу дерева. Для каждого правила отображаются поддержка и достоверность. Если дерево построено по условию, то вверху списка отображается условие правила, а список состоит из его следствий. Тогда правила отвечают на вопрос, что будет при таком условии. Если же дерево построено по следствию, то вверху списка отображается следствие правила, а список состоит из его условий. Эти правила отвечают на вопрос, что нужно, чтобы было заданное следствие. Или какие товары нужно продать, для того чтобы продать товар из следствия. Это может быть очень актуально если какой-либо товар просто «завалялся» на складе.
Визуализация списка правил
Этот визуализатор отображает ассоциативные правила в виде списка правил. Этот список представлен таблицей со столбцами: номер по порядку, условие, следствие, поддержка в процентах, поддержка в количестве, достоверность. Список можно отсортировать, отфильтровать, экспортировать отчет в MS Excel, MS Word, HTML формат. 
В поле «Итого правил» отображается количество правил, входящих в список с учетом фильтрации.
Популярные наборы
Популярные наборы или часто встречающиеся множества – это множества, состоящие из одного и более элементов, которые наиболее часто встречаются в транзакциях одновременно. На сколько часто встречается множество в исходном наборе транзакций можно судить по поддержке.
Данный визуализатор отображает множества в виде списка.
Анализ «что - если»
Анализ по методу «что - если» позволяет исследовать то, как будет вести себя построенная система обработки при подаче на ее вход тех или иных данных. Проще говоря, проводится эксперимент, в котором, изменяя значения входных полей обучающей или рабочей выборки нейронной сети или дерева решений, пользователь наблюдает за изменением значений на выходе.
Возможность анализа по принципу «что - если» особенно ценна, поскольку позволяет исследовать правильность работы системы, достоверность полученных результатов, а также ее устойчивость. Под устойчивостью понимается то, насколько снижается достоверность полученных результатов при попадании на вход системы нетипичных данных – выбросов, пропусков данных и т.д. Такой анализ позволит определить какую предварительную обработку данных нужно провести перед подачей на вход системы. 
Система анализа «что - если» включает табличное и графическое представления, которые формируются одновременно.
Анализ «что - если» в ассоциативных правилах позволяет ответить на вопрос:  что получим в качестве следствия, если выберем данные условия? Например, какие товары приобретаются совместно с выбранными товарами. В верхней части таблицы отображаются входные поля, а в нижней – выходные и расчетные. Изменяя значения входных полей, пользователь дает команду на выполнение расчета и наблюдает рассчитанные значения выходов нейронной сети или дерева решений. 
Расчетные поля отличаются от выходных тем, что они не существуют в исходном наборе данных и были созданы в ходе обработки. Такими полями являются, например, «Номер правила» или «Поддержка» для дерева решений. 
Для каждого поля таблица «Что - если» содержит столбцы: 
	поле – имя входного или выходного поля;  
	тип – указывается значок, соответствующий типу данных в поле;  
	значение – указывается текущее значение поля.  
Справа от таблицы можно вывести статистику по выделенному полю. 
Знание диапазона входных данных (минимума и максимума), на котором обучалась сеть или дерево, позволит определить область устойчивости системы. Очевидно, что если подать на вход значения, существенно выходящие за диапазон, гарантировать правильную реакцию системы нельзя и достоверность полученных данных может быть снижена. Если значение, присвоенное полю, выходит за границы диапазона, это поле окрашивается в красный цвет.
В таблице пользователь может менять только содержимое столбца «Значение». Это можно делать двумя способами – непосредственно вводя данные с клавиатуры или заполняя записями из текущей выборки (при этом вводятся записи целиком и заполняются одновременно все поля).
Чтобы ввести значения входов с клавиатуры нужно щелкнуть мышью в столбце «Значение» в ячейке для соответствующего поля, затем ввести данные. Дискретные значения выбираются из выпадающего списка. Непрерывное значение может быть введено непосредственно с клавиатуры или с помощью ползунка, вызываемого кнопкой. Целые значения, кроме того, могут вводиться последовательным перебором вверх или вниз с помощью кнопок. Для перехода к предыдущим или последующим строкам можно использовать клавиши со стрелками. Если введенные вами значения выходят за диапазон значений выборки, соответствующая строка таблицы выделяется красным цветом. 
При автоматической загрузке записей или в режиме «Автоматически рассчитать выходы», пересчет значений выходных полей производится автоматически. 
По горизонтальной оси диаграммы отображается весь диапазон значений текущего поля выборки, а по вертикальной – значения соответствующих выходов сети. По диаграмме «что - если» пользователь может легко увидеть, при каком значении входа изменяется значение на соответствующем выходе. Если, например, во всем диапазоне входных значений выходное значение для данного поля не изменялось, то диаграмма будет представлять собой горизонтальную прямую линию. 
Важной особенностью диаграммы «что - если» является возможность комбинирования входных и выходных полей, отображаемых на диаграмме, т.е. для любого входного поля, выбранного для отображения по горизонтали, можно выбрать любое выходное поле, которое будет отображаться по вертикали.
В окне слева расположен список всех элементов транзакций. Справа от каждого элемента указана поддержка – сколько раз данный элемент встречается в транзакциях. Список содержит также те элементы, которые не вошли в правила и в часто встречающиеся множества. Для них также указана поддержка, но она указана красным цветом и с «волной» перед числом, это означает, что она вычислена примерно и может отличаться от реального значения.
Для управления списком предназначена панель инструментов. 
Правила могут быть отфильтрованы по условию, по следствию, по поддержке и по достоверности. В случае большого списка можно оставить, например, наиболее достоверные правила.  
Контрольные вопросы
1)	Какие требования к полям исходных данных предъявляются при проведении ассоциативного анализа?
2)	Поясните понятие поддержки ассоциативного правила.
3)	Что характеризует достоверность ассоциации?
4)	Поясните понятие мощности искомых часто встречающихся множеств.
5)	С какой целью производится анализ «что - если»: что он позволяет исследовать?