Технический справочник по алгоритму взаимосвязей (Майкрософт)
Алгоритм правил взаимосвязей (Майкрософт) представляет собой простую реализацию хорошо известного априорного алгоритма.
Оба алгоритма — алгоритм деревьев принятия решений Майкрософт и алгоритм правил взаимосвязей Майкрософт — можно использовать для анализа взаимосвязей, но правила, обнаруженные каждым из алгоритмов, могут отличаться. В модели дерева принятия решений разбиение на узлы, ведущие к определенным правилам, проводится в соответствии с полученной информацией. В модели взаимосвязей правила основаны на достоверности. Поэтому в модели взаимосвязей сильное правило, или правило с высокой достоверностью, не обязательно будет интересным, поскольку оно может не предоставлять никакой новой информации.
Реализация алгоритма взаимосвязей (Майкрософт)
Априорный алгоритм не анализирует закономерности, вместо этого он создает и подсчитывает потенциальные наборы элементов. Элемент может представлять собой событие, продукт или значение атрибута, в зависимости от типа анализируемых данных.
В наиболее распространенном типе модели взаимосвязей логические переменные, представляющие значения «да/нет» или «существует/отсутствует», присваиваются каждому атрибуту, такому как название продукта или события. Анализ покупательского поведения может служить примером модели правил взаимосвязи, в которой логические переменные представляют наличие или отсутствие определенных продуктов в клиентской корзине.
Затем алгоритм вычисляет для каждого набора элементов рейтинг, выражающий мощность несущего множества и достоверность. На основе этих рейтингов можно сортировать наборы элементов и выводить интересующие правила.
Модели взаимосвязей также могут создаваться для числовых атрибутов. Если атрибуты непрерывные, числа могут быть дискретизированы или сгруппированы в сегменты. Затем дискретизированные значения можно обрабатывать как логические величины или как пары атрибут-значение.
Несущее множество, вероятность и важность
Несущее множество, также иногда называемое частотой, представляет собой число вариантов, содержащих целевой элемент или сочетание элементов. Элементы включаются в модель, если мощность их несущего множества не меньше заданной величины.
Повторяемый набор элементов обозначает группу элементов, сочетание которых также имеет мощность несущего множества выше порога, заданного параметром MINIMUM_SUPPORT. Например, для набора элементов {A,B,C} и параметра MINIMUM_SUPPORT, равного 10, каждый из элементов A, B и C включается в модель, если он встречается не менее 10 раз и если их сочетание {A,B,C} также встречается не менее 10 раз.
Примечание. Количеством наборов элементов в модели интеллектуального анализа данных можно управлять, задав ограничение длины набора элементов. Длина означает количество элементов в наборе.
По умолчанию несущее множество любого элемента или набора элементов представляет собой количество вариантов, содержащих этот элемент или элементы. Однако значение MINIMUM_SUPPORT можно выразить в виде процентов от общего числа вариантов в наборе данных, указав число как десятичное значение меньше 1. Например, если значение параметра MINIMUM_SUPPORT равно 0,03, то это означает, что для включения в модель как минимум 3 % от общего числа вариантов в наборе данных должны содержать этот элемент или набор элементов. Эксперименты с моделью помогут понять, что лучше использовать — количество элементов или процентный показатель.
В противоположность предыдущему показателю, пороговое значение для правил выражается не количеством вариантов и не в процентах, а в виде вероятности. Иногда это значение называют достоверностью. Допустим, набор элементов {A,B,C} встречается в 50 вариантах. Набор {A,B,D} также встречается в 50 вариантах. И набор {A,B} тоже встречается в 50 вариантах. Очевидно, что набор {A,B} не является сильным прогнозом для C. Поэтому, чтобы взвесить конкретные результаты по сравнению со всеми возможными результатами, службы Службы Analysis Services вычисляют вероятность отдельного правила (например, If {A,B} Then {C}) путем деления несущего множества набора элементов {A,B,C} на несущее множество всех связанных наборов элементов.
Количество правил, формируемых моделью, можно ограничить, задав значение параметра MINIMUM_PROBABILITY.
Для каждого создаваемого правила службы Службы Analysis Services выводят показатель, указывающий его важность. Этот показатель называют также точностью предсказаний. Точность предсказаний и важность для наборов элементов и правил вычисляется по-разному.
Важность набора элементов вычисляется как вероятность данного набора элементов, деленная на суммарную вероятность отдельных элементов набора. Например, если набор элементов содержит {A,B}, службы Службы Analysis Services сначала сосчитают количество вариантов, содержащих сочетание A и B, а затем разделят его на общее число вариантов и нормализуют эту вероятность.
Важность правила вычисляется как логарифм правдоподобия правого аргумента правила при условии левого аргумента правила. Например, для правила If {A} Then {B} службы Службы Analysis Services вычислят отношение числа вариантов, содержащих A и B, к числу вариантов, содержащих B без A, а затем нормализует это отношение, взяв от него логарифмическую шкалу.
Выбор компонентов
Алгоритм правил взаимосвязей Майкрософт не производит никакого автоматического выбора компонентов. Вместо этого данный алгоритм предоставляет параметры, управляющие данными, которые он использует. В число этих параметров могут входить ограничения на размер каждого набора элементов или задание минимальной и максимальной мощности несущего множества как условия включения набора элементов в модель.
Чтобы отфильтровать элементы и события, которые встречаются слишком часто, а потому неинтересны, уменьшите значение MAXIMUM_SUPPORT. Тогда слишком часто встречающиеся наборы элементов будут исключены из модели.
Чтобы отсеять слишком редкие элементы и наборы элементов, нужно увеличить значение MINIMUM_SUPPORT.
Чтобы отфильтровать правила, нужно увеличить значение MINIMUM_PROBABILITY.
Настройка алгоритма правил взаимосвязей (Майкрософт)
Алгоритм правил взаимосвязей (Майкрософт) поддерживает несколько параметров, влияющих на работу, производительность и точность итоговой модели интеллектуального анализа данных.
Задание параметров алгоритма
Параметры модели интеллектуального анализа данных можно изменить в любой момент с помощью конструктора интеллектуального анализа данных в среде SQL Server Data Tools (SSDT). Параметры можно также менять программно с помощью коллекции AlgorithmParameters объектов AMO или с помощью функции Элемент MiningModels (ASSL) в XML для аналитики. В следующей таблице содержатся описания всех параметров.
Примечание |
---|
Изменить параметры существующей модели с помощью инструкций на языке расширений интеллектуального анализа данных нельзя. Нужно задать параметры в инструкциях DMX CREATE MODEL или ALTER STRUCTURE… ADD MODEL при создании модели. |
MAXIMUM_ITEMSET_COUNT
Указывает максимальное количество создаваемых наборов элементов. Если количество не указано, используется значение по умолчанию.Значение по умолчанию равно 200000.
Примечание Наборы элементов ранжируются по мощности несущего множества. Среди наборов элементов с одинаковой поддержкой устанавливается произвольный порядок.
MAXIMUM_ITEMSET_SIZE
Указывает максимальное количество элементов, допустимых в наборе элементов. Значение 0 указывает, что размер набора элементов не ограничен.Значение по умолчанию равно 3.
Примечание Снижение этого значения может привести к сокращению времени создания модели, поскольку обработка модели прекращается, когда достигнуто предельное значение.
MAXIMUM_SUPPORT
Указывает максимальное количество вариантов, в которых может поддерживаться набор элементов. Этот параметр используется для исключения элементов, которые появляются слишком часто и поэтому, скорее всего, не имеют значения.Если это значение меньше 1, то оно представляет процент от общего количества вариантов. Значения больше 1 представляют абсолютное количество вариантов, в которых может содержаться набор элементов.
Значение по умолчанию равно 1.
MINIMUM_ITEMSET_SIZE
Указывает минимальное количество элементов, допустимых в наборе элементов. При увеличении этого параметра в итоговой модели может оказаться меньше наборов элементов. Это полезно, например, если нужно пропускать одноэлементный набор элементов.Значение по умолчанию равно 1.
Примечание Сократить время обработки модели, увеличив минимальное значение, нельзя, поскольку службы Службы Analysis Services в любом случае вычисляют вероятности для одиночных элементов в процессе обработки. Однако если увеличить это значение, то можно отсеять наборы элементов меньшего размера.
MINIMUM_PROBABILITY
Указывает минимальную вероятность того, что правило верно.Например, задание этого значения равным 0,5 указывает, что правила с вероятностью меньше 50% не формируются.
Значение по умолчанию равно 0,4.
MINIMUM_SUPPORT
Указывает минимальное количество вариантов, которые должны содержать набор элементов перед созданием алгоритмом правила.Значение меньше 1 указывает, что минимальное количество вариантов вычисляется как процент от общего количества вариантов.
Целое значение больше 1 задает минимальное количество вариантов как абсолютное количество вариантов, которые должны содержать набор элементов. Алгоритм может увеличить значение этого параметра автоматически, если объем памяти ограничен.
Значение по умолчанию равно 0,03. Это значит, что набор элементов, встречающийся менее чем в 3% вариантов, не будет включен в модель.
OPTIMIZED_PREDICTION_COUNT
Определяет количество элементов, кэшируемых для оптимизации прогноза.Значение по умолчанию 0. Если используется значение по умолчанию, алгоритм выполнит столько прогнозов, сколько указано в запросе.
Если задано ненулевое значение для параметра OPTIMIZED_PREDICTION_COUNT, то прогнозирующие запросы могут возвращать не более указанного количества элементов, даже если были запрошены дополнительные прогнозы. Однако задание этого значения может улучшить производительность прогнозирования.
Например, если задано значение 3, то алгоритм кэширует только 3 элемента для прогноза. Нельзя просмотреть дополнительные прогнозы, которые могли бы быть так же вероятны, как и возвращенные 3 элемента.
Флаги модели
Далее перечислены флаги моделирования, которые поддерживает алгоритм правил взаимосвязей Майкрософт.
NOT NULL
Указывает, что столбец не может содержать значение NULL. Если во время обучения модели службы Службы Analysis Services обнаружат значение NULL, возникнет ошибка.Применяется к столбцу структуры интеллектуального анализа данных.
MODEL_EXISTENCE_ONLY
Столбец будет обрабатываться так, как будто у него два возможных состояния: Missing и Existing. NULL означает отсутствие значения.Применяется к столбцу модели интеллектуального анализа данных.
Требования
Модель взаимосвязей должна содержать ключевой столбец, входные столбцы и один прогнозируемый столбец.
Входные и прогнозируемые столбцы
Алгоритм правил взаимосвязей (Майкрософт) поддерживает определенные входные столбцы данных и прогнозируемые столбцы, которые перечислены ниже в таблице. Дополнительные сведения о значении типов содержимого в модели интеллектуального анализа данных см. в разделе Типы содержимого (интеллектуальный анализ данных).
Столбец |
Типы содержимого |
---|---|
Входной атрибут |
Cyclical, Discrete, Discretized, Key, Table и Ordered |
Прогнозируемый атрибут |
Cyclical, Discrete, Discretized, Table, Ordered |
Примечание |
---|
Типы содержимого Cyclical и Ordered поддерживаются, но алгоритм обрабатывает их как дискретные величины и не производит их особой обработки. |