Спонсор: Microsoft
Санкт-Петербургский государственный политехнический университет
Опубликован: 06.03.2012 | Доступ: свободный | Студентов: 2002 / 186 | Оценка: 4.00 / 4.00 | Длительность: 10:52:00
Специальности: Системный архитектор
Лекция 15:

DMX. Параметры алгоритмов интеллектуального анализа данных. Алгоритм взаимосвязей, кластеризация последовательностей

< Лекция 14 || Лекция 15 || Лекция 16 >
Аннотация: В лекции рассмотрены особенности определения моделей данных, основанных на алгоритмах взаимосвязей и кластеризации последовательностей.

Associationrules (алгоритмвзаимосвязей)

Рассмотрим код DMXсоздающий структуру интеллектуального анализа и модель, использующую алгоритм MicrosoftAssociationRules [1]. Обратите внимание, что здесь будут использованы вложенные таблицы, содержащие перечень товаров в заказе (как и в предыдущих примерах, речь идет о данных из базы AdventureWorksDW).

CREATEMININGSTRUCTURE SalesData
(
	[Order Number] TEXTKEY,
	Products TABLE
	(
		Product TEXTKEY,
		Category TEXTDISCRETE
	)
)

GO
ALTERMININGSTRUCTURE SalesData
ADDMININGMODEL Recommendations
(
	[Order Number],
	Products PREDICT
	(
		Product
	)
)USINGMicrosoft_Association_Rules(MINIMUM_SUPPORT=10, MINIMUM_PROBABILITY=0.4)
    

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

Параметры алгоритма Microsoft Association Rules следующие.

MAXIMUM_ITEMSET_COUNT максимальное количество создаваемых наборов элементов.Значение по умолчанию равно 200000.
MAXIMUM_ITEMSET_SIZE максимальное количество элементов в наборе.Обработка модели прекращается, когда достигнуто предельное значение.0 указывает, что размер набора элементов не ограничен.Значение по умолчанию равно 3.
MAXIMUM_SUPPORT максимальное количество вариантов, в которых может поддерживаться набор элементов (формулу расчета поддержки для набора см. в "Использование инструментов "FillFromExample" и "Forecast"" ). Этот параметр используется для исключения элементов, которые появляются слишком часто и поэтому, скорее всего, не имеют значения.Если это значение меньше 1, то оно представляет процент от общего количества вариантов. Значения больше 1 представляют абсолютное количество вариантов, в которых может содержаться набор элементов.
MINIMUM_IMPORTANCE пороговое значение важности для правил взаимосвязей (формулу расчета значения важности см. в лекции 6). Правила, имеющие важность меньше этого значения, отфильтровываются. Доступно только в выпуске Enterprise.
MINIMUM_ITEMSET_SIZE минимальное количество элементов, допустимых в наборе. Это полезно, например, если нужно исключить одноэлементные наборы. Значение по умолчанию равно 1.
MINIMUM_PROBABILITY указывает минимальную вероятность того, что правило верно.Например, задание этого значения равным 0,5 указывает, что правила с вероятностью меньше 50% не формируются. Значение по умолчанию - 0,4.
MINIMUM_SUPPORT минимальная поддержка, которую набор должен иметь, чтобы классифицироваться как "частый" набор элементов.Значение меньше 1 указывает, что значение указано в процентах от общего количества вариантов. Значение по умолчанию равно 0,03, т.е. набор, встречающийся менее чем в 3% вариантов, не будет включен в модель.
OPTIMIZED_PREDICTION_COUNT число элементов, которые будут кэшироваться для оптимизации прогноза. Значение по умолчанию - 0. В этом случае алгоритм создает столько прогнозов, сколько требуется в запросе.

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

MicrosoftSequenceClustering

Рассмотри фрагмент кода на языке DMX, создающего модель интеллектуального анализа, основанную на алгоритме MicrosoftSequenceClustering [1]. В данном случае задача - анализ последовательностей перехода клиентов по разделам web-сайта. Вариант формируют идентификатор клиента (CustomerGuid), информация о его местоположении (GeoLocation) и вложенная таблица cидентификатором ссылки в последовательности клиента (SequenceID) и указанием категории ссылки (URLCategory).

CREATEMININGMODEL WebSequence 
(
     CustomerGuid	TEXTKEY,
     GeoLocation	TEXTDISCRETE,
     ClickPath		TABLEPREDICT
     (
		SequenceID  LONGKEYSEQUENCE,
		URLCategory TEXTDISCRETEPREDICT
)
)
USINGMicrosoft_Sequence_Clustering
    

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

Для предсказания используется функция PredictSecuence(), формат которой предполагает использование разных комбинаций параметров. PredictSequence(<tablecolumnreference>):параметр в скобках - название вложенной таблицы, наиболее вероятная последовательность значений из которой предсказывается. PredictSequence(<tablecolumnreference>, n): предсказание n следующих значений из вложенной таблицы. PredictSequence(<tablecolumnreference>, n, m>): предсказание значений с n-го по m-ное.

Вернувшись к примеру с web-сайтом из [1]можно использовать следующий запрос для того, чтобы узнать два следующих наиболее вероятных перехода клиента, который смотрел страницы по темам страхование (англ. insurance), кредиты (англ. loan),

SELECTPredictSequence(ClickPath, 2) AS Sequences
FROM WebSequence NATURALPREDICTIONJOIN
(SELECT (SELECT 1 AS SequenceID, 'Insurance' AS URLCategory UNION
		SELECT 2 AS SequenceID, 'Loan' AS URLCategory) 
ASClickPath) AST
    

Теперь рассмотрим параметры алгоритма, которые можно указать при создании модели.

CLUSTER_COUNT примерное количество кластеров, создаваемых алгоритмом. Если это число кластеров не может быть построено из имеющихся данных, то алгоритм строит столько кластеров, сколько возможно. Значение 0 приводит к тому, что алгоритм начинает использовать эвристический подход для определения оптимального числа строящихся кластеров. Значение по умолчанию равно 10.
MINIMUM_SUPPORT минимальное число вариантов, необходимых для построения кластера. Значение по умолчанию равно 10.
MAXIMUM_SEQUENCE_STATES максимальное количество состояний, которые может иметь последовательность. Значение по умолчанию равно 64.
MAXIMUM_STATES максимальное количество состояний для атрибута не из последовательности, поддерживаемого алгоритмом. Если количество состояний атрибута не из последовательности превышает максимально возможное количество состояний, то алгоритм использует наиболее популярные состояния атрибута и рассматривает остальные состояния как Missing. Значение по умолчанию равно 100.
< Лекция 14 || Лекция 15 || Лекция 16 >