Урок 3. Обработка структуры анализа рыночной корзины данных

На этом занятии вы будете использовать оператор INSERT INTO (DMX) и vAssocSeqLineItems и vAssocSeqOrders из демонстрационной базы данных AdventureWorksDW2012 для обработки структур интеллектуального анализа данных и моделей интеллектуального анализа данных, которые вы создали в Занятие 1: Создание структуры интеллектуального анализа корзины рынка и Занятие 2: Добавление моделей интеллектуального анализа данных в структуру интеллектуального анализа корзины рынка.

При обработке структуры интеллектуального анализа данных службы Analysis Services считывают исходные данные и создают структуры, поддерживающие модели интеллектуального анализа данных. При обработке модели интеллектуального анализа данных данные, определенные структурой интеллектуального анализа данных, передаются через выбранный алгоритм интеллектуального анализа данных. Алгоритм выполняет поиск тенденций и шаблонов, а затем сохраняет эти сведения в модели добычи данных. Поэтому модель интеллектуального анализа данных не содержит фактические исходные данные, а содержит сведения, обнаруженные алгоритмом. Дополнительные сведения об обработке моделей интеллектуального анализа данных см. в разделе "Требования к обработке и рекомендации" (интеллектуальный анализ данных).

Необходимо перепроцессить структуру, если изменить столбец структуры или изменить исходные данные. При добавлении модели обработки данных в структуру, которая уже обработана, можно использовать инструкцию INSERT INTO MINING MODEL для обучения новой модели на существующих данных.

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

Инструкция INSERT INTO

Чтобы обучить структуру анализа рыночной корзины и связанные с ней модели анализа данных, используйте инструкцию INSERT INTO (DMX). Код в инструкции можно разбить на следующие части.

  • Определение структуры интеллектуального анализа данных

  • Перечисление столбцов в структуре анализа данных

  • Определение обучающих данных с помощью SHAPE

Ниже приведен универсальный пример инструкции INSERT INTO :

INSERT INTO MINING STRUCTURE [<mining structure name>]  
(  
   <mining structure columns>  
   [<nested table>]  
   ( SKIP, <skipped column> )  
)  
SHAPE {  
  OPENQUERY([<datasource>],'<SELECT statement>') }  
APPEND  
(   
  {OPENQUERY([<datasource>],'<nested SELECT statement>')  
}  
RELATE [<case key>] TO [<foreign key>]  
) AS [<nested table>]  

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

INSERT INTO MINING STRUCTURE [<mining structure name>]  

В следующих строках кода указываются столбцы, определенные структурой интеллектуального анализа данных. Необходимо перечислить каждый столбец в структуре интеллектуального анализа данных, и каждый столбец должен сопоставляться с столбцом, содержащимся в исходных данных запроса. Можно использовать SKIP, чтобы игнорировать столбцы, которые существуют в исходных данных, но отсутствуют в структуре интеллектуального анализа данных. Дополнительные сведения об использовании SKIPсм. в разделе INSERT INTO (DMX).

(  
   <mining structure columns>  
   [<nested table>]  
   ( SKIP, <skipped column> )  
)  

Последние строки кода определяют данные, которые будут использоваться для обучения структуры анализа данных. Так как исходные данные содержатся в двух таблицах, вы будете использовать SHAPE для связи с таблицами.

SHAPE {  
  OPENQUERY([<datasource>],'<SELECT statement>') }  
APPEND  
(   
  {OPENQUERY([<datasource>],''<nested SELECT statement>'')  
}  
RELATE [<case key>] TO [<foreign key>]  
) AS [<nested table>]  

На этом занятии вы используете OPENQUERY для определения исходных данных. Для получения информации о других методах определения запроса на исходные данные, смотрите <запрос на исходные данные>.

Задачи урока

На этом занятии вы выполните следующую задачу:

  • Обработка модели анализа данных по потребительской корзине

Обработка структуры анализа данных корзины покупок

Для обработки структуры извлечения данных с помощью INSERT INTO

  1. В Обозревателе объектов щелкните правой кнопкой мыши на экземпляре служб Analysis Services, наведите указатель на Новый запрос и щелкните DMX.

    Откроется редактор запросов и содержит новый пустой запрос.

  2. Скопируйте универсальный пример инструкции INSERT INTO в пустой запрос.

  3. Замените следующее:

    [<mining structure>]  
    

    с:

    Market Basket  
    
  4. Замените следующее:

    <mining structure columns>  
    [<nested table>]  
    ( SKIP, <skipped column> )  
    

    с:

    [OrderNumber],  
    [Products]   
    (SKIP, [Model])  
    

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

  5. Замените следующее:

    SHAPE {  
      OPENQUERY([<datasource>],'<SELECT statement>') }  
    APPEND  
    (   
      {OPENQUERY([<datasource>],'<nested SELECT statement>')  
    }  
    RELATE [<case key>] TO [<foreign key>]  
    ) AS [<nested table>]  
    

    с:

    SHAPE {  
      OPENQUERY([Adventure Works DW],'SELECT OrderNumber  
                FROM vAssocSeqOrders ORDER BY OrderNumber')}  
    APPEND  
    (   
      {OPENQUERY([Adventure Works DW],'SELECT OrderNumber, Model FROM   
        dbo.vAssocSeqLineItems ORDER BY OrderNumber, Model')  
    }  
    RELATE OrderNumber to OrderNumber   
    ) AS [Products]  
    

    Исходный запрос ссылается на источник данных AdventureWorksDW2012 , определенный в примере проекта AdventureWorksDW2012 . Он использует этот источник данных для доступа к представлениям vAssocSeqLineItems и vAssocSeqOrders. Эти представления содержат исходные данные, которые будут использоваться для обучения модели интеллектуального анализа данных. Если вы не создали этот проект или эти представления, см. Basic Data Mining Tutorial (Руководство по базовому интеллектуальному анализу данных).

    В команде SHAPE вы будете использовать OPENQUERY для определения двух запросов. Первый запрос определяет родительскую таблицу, а второй запрос определяет вложенную таблицу. Две таблицы связаны с помощью столбца OrderNumber, который существует в обеих таблицах.

    Теперь полное заявление должно быть следующим:

    INSERT INTO MINING STRUCTURE [Market Basket]  
    (  
       [OrderNumber],[Products] (SKIP, [Model])  
    )  
    SHAPE {  
      OPENQUERY([Adventure Works DW],'SELECT OrderNumber  
                FROM vAssocSeqOrders ORDER BY OrderNumber')}  
    APPEND  
    (   
      {OPENQUERY([Adventure Works DW],'SELECT OrderNumber, Model FROM   
        dbo.vAssocSeqLineItems ORDER BY OrderNumber, Model')  
    }  
    RELATE OrderNumber to OrderNumber   
    ) AS [Products]  
    
  6. В меню "Файл" нажмите кнопку "Сохранить DMXQuery1.dmx As".

  7. В диалоговом окне "Сохранить как" перейдите в соответствующую папку и назовите файл Process Market Basket.dmx.

  8. На панели инструментов нажмите кнопку "Выполнить ".

После завершения выполнения запроса можно просмотреть шаблоны и наборы элементов, которые были найдены, просмотреть связи или фильтровать по набору элементов, вероятности или важности. Чтобы просмотреть эти сведения, в SQL Server Management Studio щелкните правой кнопкой мыши имя модели данных и нажмите кнопку "Обзор".

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

Следующее занятие

Урок 4. Прогнозирование "Потребительской корзины"