Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
При создании запроса к модели интеллектуального анализа данных можно создать запрос содержимого, который содержит сведения о шаблонах, обнаруженных в анализе, или создать прогнозирующий запрос, который использует шаблоны в модели для прогнозирования новых данных. Вы также можете получить метаданные о модели с помощью запроса к набору строк схемы интеллектуального анализа данных. В этом разделе объясняется, как создать эти запросы для моделей, основанных на алгоритме Microsoft Naive Bayes.
Запросы содержимого
Получение метаданных модели с помощью dmX
Получение сводки обучающих данных
Поиск дополнительных сведений об атрибутах
Использование системных хранимых процедур
Прогнозирующие запросы
Прогнозирование результатов с помощью однотонного запроса
Получение прогнозов с значениями вероятности и поддержки
Поиск сведений о наивной модели Bayes
Содержимое модели наивной модели Bayes предоставляет агрегированные сведения о распределении значений в обучающих данных. Вы также можете получить сведения о метаданных модели, создавая запросы к наборам строк схемы интеллектуального анализа данных.
Пример запроса 1. Получение метаданных модели с помощью dmX
Запросив набор строк схемы интеллектуального анализа данных, можно получить метаданные для модели. Это может включать в себя, когда модель была создана, когда модель была последний раз обработана, имя структуры интеллектуального анализа данных, на которой основана модель, и имена столбцов, используемых в качестве прогнозируемого атрибута. Можно также вернуть параметры, которые использовались при создании модели.
SELECT MODEL_CATALOG, MODEL_NAME, DATE_CREATED, LAST_PROCESSED,
SERVICE_NAME, PREDICTION_ENTITY, FILTER
FROM $system.DMSCHEMA_MINING_MODELS
WHERE MODEL_NAME = 'TM_NaiveBayes_Filtered'
Пример результатов:
| Каталог моделей | AdventureWorks |
| MODEL_NAME | TM_NaiveBayes_Filtered |
| ДАТА_СОЗДАНИЯ | 3/1/2008 19:15 |
| ПОСЛЕДНИЙ_ОБРАБОТАННЫЙ | 3/2/2008 20:00 |
| Название_сервиса | Microsoft_Naive_Bayes |
| PREDICTION_ENTITY | Покупатель велосипедов, годовой доход |
| ФИЛЬТР | [Регион] = "Европа" ИЛИ [Регион] = "Северная Америка" |
Модель, используемая для этого примера, основана на модели Naive Bayes, созданной в учебнике по интеллектуальному анализу данных basic, но была изменена путем добавления второго прогнозируемого атрибута и применения фильтра к данным обучения.
Пример запроса 2. Получение сводки обучающих данных
В наивной модели Bayes узел маргинальной статистики хранит агрегированные сведения о распределении значений в обучающих данных. Эта сводка удобна и избавляет вас от необходимости создавать SQL-запросы к данным обучения для поиска той же информации.
В следующем примере используется запрос содержимого DMX для получения данных из узла (NODE_TYPE = 24). Так как статистика хранится в вложенной таблице, ключевое слово FLATTENED используется для упрощения просмотра результатов.
SELECT FLATTENED MODEL_NAME,
(SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE, [SUPPORT], [PROBABILITY], VALUETYPE FROM NODE_DISTRIBUTION) AS t
FROM TM_NaiveBayes.CONTENT
WHERE NODE_TYPE = 26
Замечание
Необходимо заключить имена столбцов, SUPPORT и PROBABILITY, в квадратные скобки, чтобы отличить их от зарезервированных ключевых слов многомерных выражений одинаковых имен.
Частичные результаты:
| MODEL_NAME | t.ATTRIBUTE_NAME | t.ATTRIBUTE_VALUE | t.SUPPORT | t.ВЕРОЯТНОСТЬ | t.VALUETYPE |
|---|---|---|---|---|---|
| TM_NaiveBayes | Покупатель велосипедов | Отсутствует | 0 | 0 | 1 |
| TM_NaiveBayes | Покупатель велосипедов | 0 | 8869 | 0.507263784 | 4 |
| TM_НаивныйБайес | Покупатель велосипедов | 1 | 8615 | 0.492736216 | 4 |
| TM_Наивный Байес | Пол | Отсутствует | 0 | 0 | 1 |
| TM_Наивный Байес | Пол | Ф | 8656 | 0.495081217 | 4 |
| TM_NaiveBayes | Пол | M | 8828 | 0.504918783 | 4 |
Например, эти результаты сообщают о количестве вариантов обучения для каждого дискретного значения (VALUETYPE = 4), а также вычисляемой вероятности, скорректированной для отсутствующих значений (VALUETYPE = 1).
Определение значений, предоставленных в таблице NODE_DISTRIBUTION в модели Naive Bayes, см. в разделе "Содержимое модели интеллектуального анализа данных" для наивных моделей Bayes (службы Analysis Services — интеллектуальный анализ данных). Дополнительные сведения о том, как отсутствующие значения влияют на вычисления поддержки и вероятности, см. в разделе "Отсутствующие значения" (службы Analysis Services — интеллектуальный анализ данных).
Пример запроса 3. Поиск дополнительных сведений об атрибутах
Поскольку модель Наивного Байеса часто содержит сложную информацию о отношениях между различными атрибутами, самый простой способ просмотра этих связей — использовать Microsoft Naive Bayes Viewer. Однако можно создать DMX-запросы для возврата данных.
В следующем примере показано, как возвращать сведения из модели о конкретном атрибуте Region.
SELECT NODE_TYPE, NODE_CAPTION,
NODE_PROBABILITY, NODE_SUPPORT, MSOLAP_NODE_SCORE
FROM TM_NaiveBayes.CONTENT
WHERE ATTRIBUTE_NAME = 'Region'
Этот запрос возвращает два типа узлов: узел, представляющий входной атрибут (NODE_TYPE = 10), а узлы для каждого значения атрибута (NODE_TYPE = 11). Заголовок узла используется для идентификации узла, а не имени узла, так как заголовок показывает имя атрибута и значение атрибута.
| ТИП_УЗЛА | NODE_CAPTION | УЗЕЛ_ВЕРОЯТНОСТЬ | поддержка узла | MSOLAP_NODE_SCORE | ТИП_УЗЛА |
|---|---|---|---|---|---|
| 10 | Покупатель велосипедов -> Регион | 1 | 17484 | 84.51555875 | 10 |
| 11 | Покупатель велосипедов -> Регион = отсутствующий | 0 | 0 | 0 | 11 |
| 11 | Покупатель велосипедов -> Регион = Северная Америка | 0.508236102 | 8886 | 0 | 11 |
| 11 | Покупатель велосипедов -> Регион = Тихоокеанский | 0.193891558 | 3390 | 0 | 11 |
| 11 | Покупатель велосипедов -> Регион = Европа | 0.29787234 | 5208 | 0 | 11 |
Некоторые столбцы, хранящиеся в узлах, совпадают с теми, что можно получить из узлов маргинальной статистики, таких как оценка вероятности узла и значения поддержки узла. Однако MSOLAP_NODE_SCORE — это специальное значение, предоставленное только для узлов входных атрибутов, и указывает на относительную важность этого атрибута в модели. В области "Сеть зависимостей" средства просмотра отображаются те же сведения; однако средство просмотра не предоставляет оценки.
Следующий запрос возвращает оценки важности всех атрибутов в модели:
SELECT NODE_CAPTION, MSOLAP_NODE_SCORE
FROM TM_NaiveBayes.CONTENT
WHERE NODE_TYPE = 10
ORDER BY MSOLAP_NODE_SCORE DESC
Пример результатов:
| NODE_CAPTION | MSOLAP_NODE_SCORE |
|---|---|
| Вело-покупатель -> Общее количество детей | 181.3654836 |
| Покупатель велосипедов -> Расстояние для поездок на работу | 179.8419482 |
| Покупатель велосипедов -> образование на английском языке | 156.9841928 |
| Покупатель велосипедов -> количество детей дома | 111,8122599 |
| Покупатель велосипедов -> Регион | 84.51555875 |
| Покупатель велосипедов -> Семейное состояние | 23.13297354 |
| Покупатель велосипедов -> английская профессия | 2.832069191 |
Просмотрев содержимое модели в средстве просмотра дерева универсального содержимого Майкрософт, вы получите лучшее представление о том, какая статистика может быть интересной. Здесь были показаны некоторые простые примеры. чаще может потребоваться выполнить несколько запросов или сохранить результаты и обработать их на клиенте.
Пример запроса 4. Использование системных хранимых процедур
Помимо написания собственных запросов содержимого, можно использовать некоторые системные хранимые процедуры служб Analysis Services для изучения результатов. Чтобы использовать системную хранимую процедуру, префиксировать имя хранимой процедуры с помощью ключевого слова CALL:
CALL GetPredictableAttributes ('TM_NaiveBayes')
Частичные результаты:
| ИМЯ_АТРИБУТА | NODE_UNIQUE_NAME |
|---|---|
| Покупатель велосипедов | 100000001 |
Замечание
Эти системные хранимые процедуры предназначены для внутреннего взаимодействия между сервером служб Analysis Services и клиентом и используются исключительно для удобства при разработке и тестировании моделей анализа данных. При создании запросов для рабочей системы всегда следует создавать собственные запросы с помощью dmX.
Дополнительные сведения о системных хранимых процедурах служб Analysis Services см. в разделе «Хранимые процедуры интеллектуального анализа данных» (службы Analysis Services — интеллектуальный анализ данных).
Использование наивной модели Bayes для прогнозирования
Алгоритм Microsoft Naive Bayes обычно используется меньше для прогнозирования, чем для изучения связей между входными и прогнозируемыми атрибутами. Однако модель поддерживает использование функций прогнозирования как для прогнозирования, так и для сопоставления.
Пример запроса 5. Прогнозирование результатов с помощью одноэлементного запроса
Следующий запрос использует одиночный запрос для предоставления нового значения и прогнозирования на основе модели, может ли клиент с этими характеристиками приобрести велосипед. Самый простой способ создать однотонный запрос в модели регрессии — использовать диалоговое окно "Входные данные однотонного запроса ". Например, вы можете создать следующий DMX-запрос, выбрав модель TM_NaiveBayes, выбрав запрос Singleton и выбрав значения из раскрывающихся списков для [Commute Distance] и Gender.
SELECT
Predict([TM_NaiveBayes].[Bike Buyer])
FROM
[TM_NaiveBayes]
NATURAL PREDICTION JOIN
(SELECT '5-10 Miles' AS [Commute Distance],
'F' AS [Gender]) AS t
Пример результатов:
| Выражение |
|---|
| 0 |
Функция прогнозирования возвращает наиболее вероятное значение, в данном случае 0, что означает, что этот тип клиента вряд ли приобретет велосипед.
Пример запроса 6: Получение прогнозов с учетом вероятности и значений поддержки
Помимо прогнозирования результата, часто требуется знать, насколько сильным является прогноз. В следующем запросе используется тот же одноэлементный запрос, что и в предыдущем примере, но добавляется функция прогнозирования , прогнозируемая гистограмма (DMX) для возврата вложенной таблицы, содержащей статистику в поддержку прогнозирования.
SELECT
Predict([TM_NaiveBayes].[Bike Buyer]),
PredictHistogram([TM_NaiveBayes].[Bike Buyer])
FROM
[TM_NaiveBayes]
NATURAL PREDICTION JOIN
(SELECT '5-10 Miles' AS [Commute Distance],
'F' AS [Gender]) AS t
Пример результатов:
| Покупатель велосипедов | $SUPPORT | $PROBABILITY | $ADJUSTEDPROBABILITY | $ОВАРИАЦИЯ | $STDEV |
|---|---|---|---|---|---|
| 0 | 10161.5714 | 0.581192599 | 0.010530981 | 0 | 0 |
| 1 | 7321.428768 | 0.418750215 | 0.008945684 | 0 | 0 |
| 0.999828444 | 5.72E-05 | 5.72E-05 | 0 | 0 |
Последняя строка в таблице показывает корректировки для поддержки и вероятности отсутствующих значений. Вариативность и стандартные значения отклонений всегда равно 0, так как модели Naive Bayes не могут моделировать непрерывные значения.
Пример запроса 7. Прогнозирование ассоциаций
Алгоритм Microsoft Naive Bayes можно использовать для ассоциативного анализа, если структура данных содержит вложенную таблицу с прогнозируемым атрибутом в качестве ключа. Например, можно создать наивную модель Байеса с помощью структуры интеллектуального анализа данных, созданной в уроке 3: Создание сценария корзины рынка (учебник по интеллектуальному анализу данных средней сложности) учебника по интеллектуальному анализу данных. Модель, используемая в этом примере, была изменена для добавления сведений о доходах и регионе клиента в таблице вариантов.
В следующем примере показан запрос типа "singleton", который предсказывает продукты, связанные с покупками продукта 'Road Tire Tube'. Эти сведения можно использовать для рекомендаций продуктов определенному типу клиента.
SELECT PredictAssociation([Association].[v Assoc Seq Line Items])
FROM [Association_NB]
NATURAL PREDICTION JOIN
(SELECT 'High' AS [Income Group],
'Europe' AS [Region],
(SELECT 'Road Tire Tube' AS [Model])
AS [v Assoc Seq Line Items])
AS t
Частичные результаты:
| Модель |
|---|
| Женские горные шорты |
| Бутылка для воды |
| Туринг-3000 |
| Туринг-2000 |
| Туринг-1000 |
Список функций
Все алгоритмы Майкрософт поддерживают общий набор функций. Однако алгоритм Microsoft Naive Bayes поддерживает дополнительные функции, перечисленные в следующей таблице.
| Функция прогнозирования | Использование |
| IsDescendant (DMX) | Определяет, является ли один узел дочерним элементом другого узла в модели. |
| Прогнозирование (DMX) | Возвращает прогнозируемое значение или набор значений для указанного столбца. |
| PredictAdjustedProbability (DMX) | Возвращает взвешированную вероятность. |
| PredictAssociation (DMX) | Прогнозирование членства в ассоциативном наборе данных. |
| PredictNodeId (DMX) | Возвращает Node_ID для каждого случая. |
| PredictProbability (DMX) | Возвращает вероятность прогнозируемого значения. |
| PredictSupport (DMX) | Возвращает значение поддержки для указанного состояния. |
Сведения о синтаксисе конкретных функций приведены в справочнике функций расширения DMX (Data Mining Extensions).
См. также
Технический справочник по наивному алгоритму Байеса
Алгоритм Microsoft Naive Bayes
Содержимое модели интеллектуального анализа для моделей Наивного Байеса (Analysis Services — интеллектуальный анализ)