Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
5/22/2017 Business Intelligence Fundamentals: Data Mining Ola Ekdahl IT Mentors Presented by ISV Innovation Business Intelligence Fundamentals: Data Mining 2 1. Introducing Data Mining 2. Integration with SQL Server 2008 Components 3. Data Mining Programmability Agenda Presented by ISV Innovation Business Intelligence Fundamentals: Data Mining 3 Where Are We? Data Warehouse Data Sources Data Marts Staging Area Manual Cleansing Presented by ISV Innovation Business Intelligence Fundamentals: Data Mining Module Overview (Краткий обзор модуля) Introducing Data Mining Integration with SQL Server 2008 Components Data Mining Programmability Presented by ISV Innovation 4 Business Intelligence Fundamentals: Data Mining Introducing Data Mining Purpose of Data Mining (цель) Business Scenarios (Деловые сценарии) SQL Server 2008 Data Mining Data Preparation (Подготовка) Data Mining Process Data Mining Visualization Presented by ISV Innovation 5 Business Intelligence Fundamentals: Data Mining Purpose of Data Mining (Цель интеллектуального анализа данных) Рассматривает проблему слишком большого количества данных и недостаточной информации Позволяет исследование данных, открытие образца и предсказание образца — которые приводят к открытию знаний Forms a key part of a BI solution (Формирует ключевую роль BI solution ) Presented by ISV Innovation 6 Business Intelligence Fundamentals: Data Mining Business Scenarios Identifying responsive customers/unresponsive customers (also known as churn analysis) - Идентификация отзывчивых клиентов / безразличных клиентов Detecting fraud - Обнаружение мошенничества Targeting promotions - Планирование для поощрений Managing risk - Управление риском Forecasting sales - Прогноз продаж Cross-selling - Поперечная продажа Segmenting customers - Сегментация клиентов Presented by ISV Innovation 7 Business Intelligence Fundamentals: Data Mining SQL Server 2008 Data Mining Скрывает сложность передовой технологии Включает полный набор алгоритмов, чтобы автоматически извлечь информацию из данных Управляет большим объемом данных Данные могут поступать от реляционных и OLAP баз данных Uses standard programming interfaces XMLA DMX Delivers a complete framework for building and deploying intelligent applications Presented by ISV Innovation 8 Язык MDX (по материалам кандидата физ.-мат. наук, Степанова Р.Г., КГУ 2011) SQL — Structured Query Language (язык структурированных запросов). Служит для выполнения запросов к реляционной базе данных. MDX — Multi-Dimendional eXpressions (язык многомерных выражений). Используется для извлечения из баз данных OLAP. Язык MDX позволяет выполнять более сложные операции, чем SQL. Изначально MDX разработан компанией Microsoft в Presented by 1998 г. ISV Innovation Язык MDX MDX поддерживается многими ведущими производителями решений для OLAP. Серверы: MS SQL Server Analysis Services, Mondrian, Palo, Applix, Microstrategy, SAS, SAP, Whitelight, NCR Клиенты: Panorama Software, Proclarity, AppSource, Cognos, Business Objects, Brio Technology, Crystal Reports, MS Excel, и т.д. MDX — стандартный язык запросов в спецификации XML for Analysis (XMLA). Presented by ISV Innovation Основные объекты многомерных баз данных Куб (Cube); Измерение (Dimension) — играет роль справочника; Мера (Measure) — количественная сущность; Presented by ISV Innovation Пример запроса MDX SELECT Measures.[Internet Sales Amount] ON COLUMNS FROM [Adventure Works] WHERE ( [Date].[Calendar].[Calendar Quarter].&[2003]&[2], [Product].[Product Line].[Mountain], [Customer].[Country].[Australia]) Результат: Internet Sales Amount $323,561.09 Presented by ISV Innovation Основы Измерение содержит одну или несколько иерархий. Каждый уровень иерархии измерения содержит набор элементов, называемых членами (members). Каждый член иерархии имеет уникальное имя. Пример: член уровня [Calendar Quarter] иерархии [Calendar] измерения [Date]: [Date].[Calendar].[Calendar Quarter].[Q2 CY 2005] Presented by ISV Innovation Основы В общем случае для доступа к члену иерархии можно использовать форматы: [Имя измерения].[Имя иерархии].[Имя уровня].[Имя члена]. Пример: [Customer].[Country].[Australia] [Место]. [Иерархия_Место].[РФ].[Москва] Presented by ISV Innovation Объект Measures Объект Measures (меры) — специальное измерение, содержащее в качестве членов набор мер. Пример — мера Internet Sales Amount: Measures.[Internet Sales Amount] Для каждой меры задана функция агрегации. Presented by ISV Innovation Срез куба Ячейка (cell) куба идентифицируется набором членов измерений, на пересечении которых находится эта ячейка. Срез куба (slice) также задается набором членов измерений, определяющих срез. Синтаксис: в круглых скобках перечисляются члены измерений, разделенные запятыми. Если кортеж задается только одним членом измерения, то скобки Presented by можно опускать. ISV Innovation Кортеж Примеры: [Customer].[Country].[Germany] ( [Date].[Calendar].[Calendar Quarter].[Q2 CY 2003], [Product].[Product Line].[Mountain], [Customer].[Country].[Australia]). Подобное выражение на языке MDX называется кортежем (tuple). Presented by ISV Innovation Пример 1. Запрос для получения суммы продаж через Интернет для всех клиентов из Германии: SELECT Measures.[Internet Sales Amount] on COLUMNS FROM [Adventure Works] WHERE ([Customer].[Country].[Germany]) Результат: $2,894,312.34 Presented by ISV Innovation Набор Набор (set) — это совокупность кортежей, которые определены с использованием одинакового количества одних и тех же измерений. Набор обычно заключается в фигурные скобки {}. Пример: {(Customer.Country.Australia), (Customer.Country.Canada Presented by ISV Innovation MDX-запрос Синтаксис MDX-запроса: [WITH <formula_expression> [, <formula_expression> ...]] SELECT [<axis_expression>, [<axis_expression>...]] FROM [<cube_expression>] ⦁ [WHERE [slicer_expression]] Фразы WITH и WHERE являются необязательными. Presented by ISV Innovation Оси в MDX <axis_expression> := <набор> ON (ось) | Axis (номер оси) | (номер оси) Пять осей имеют псевдонимы: COLUMNS, ROWS, PAGES, SECTIONS и CHAPTERS. Последующие оси указываются с помощью слова Axis, за которым следует номер оси. В запросе можно указать до 128 осей. Presented by ISV Innovation Пример 2. SELECT Measures.[Internet Sales Amount] ON COLUMNS, [Customers].[Country].MEMBERS on ROWS, [Product].[Product Line].MEMBERS on PAGES FROM [Adventure Works] эквивалентен SELECT Measures.[Internet Sales Amount] ON 0, [Customers].[Country].MEMBERS on 1, [Product].[Product Line].MEMBERS on 2 Presented by FROM [Adventure Works] ISV Innovation Introduction to SQL Server 2008 Data Mining Секция FROM Предложение FROM в MDX-запросе определяет куб, из которого необходимо извлечь данные для анализа. В запросе MDX можно указать имя только одного куба данных. Данные из других кубов можно получить, используя функцию LookupCube языка MDX. Presented by ISV Innovation Introduction to SQL Server 2008 Data Mining Секция WHERE - здесь указывается срез куба, который нас интересует. SELECT [Measures].[Internet Sales Amount] ON COLUMNS, [Product].[Product Line].MEMBERS on ROWS FROM [Adventure Works] WHERE ([Product].[Color].[Silver]) Internet Sales Amount All Products $5,113,389.08 Accessory $40,307.67 Presented by Components ISV Innovation (null) Introduction to SQL Server 2008 Data Mining Секция WITH Используется для выполнения дополнительных вычислений в рамках запроса. Синтаксис: [WITH <formula_expression> [, <formula_expression> …]] Presented by ISV Innovation Introduction to SQL Server 2008 Data Mining Именованные наборы Formula_expression := [DYNAMIC] SET <псевдоним_набора> AS [']<набор>['] WITH SET [EUROPE] AS '{[Customer].[Country].[Country].&[France], [Customer].[Country].[Country].&[Germany],[Customer].[Country]. [Country].&[United Kingdom]} ' SELECT Measures.[Internet Sales Amount] on COLUMNS, [EUROPE] ON ROWS by Presented FROM [Adventure Works] ISV Innovation Introduction to SQL Server 2008 Data Mining Вычисляемые члены Formula_expression := MEMBER <ИмяЧлена> AS [']<Выражение_MDX>['], [ , SOLVE_ORDER = <целое число>] [ , <СвойствоЯчейки> = <ВыражениеСвойства>] WITH MEMBER [MEASURES].[Profit] AS '[Measures].[Internet Sales Amount][Measures].[Internet Standard Product Cost]' SELECT Measures.profit ON COLUMNS, [Customer].[Country].MEMBERS ON ROWS FROM [Adventure Works] Presented by ISV Innovation Introduction to SQL Server 2008 Data Mining WITH SET [ProductOrder] AS 'Order([Product].[Product Line].MEMBERS, [Internet Sales Amount], BDESC)' MEMBER [Measures].[ProductRank] AS 'Rank([Product].[Product Line].CURRENTMEMBER, [ProductOrder])' SELECT {[ProductRank],[Sales Amount]} ON COLUMNS, [ProductOrder] on ROWS FROM [Adventure Works] ProductRank Sales Amount All Products 1 $109,809,274.20 Road 2 $48,262,055.15 Mountain 3 $42,456,731.56 Presented by Touring ISV Innovation 4 $16,010,837.10 Introduction to SQL Server 2008 Data Mining Пример 4. WITH MEMBER [Date].[Calendar].[%Change] AS 100* (([Date].[Calendar].[Calendar Quarter].[Q2 CY 2002] [Date].[Calendar].[Calendar Quarter].[Q1 CY 2002]) / [Date].[Calendar].[Calendar Quarter].[Q2 CY 2002]) SELECT {[Date].[Calendar].[Calendar Quarter].[Q1 CY 2002], [Date].[Calendar].[Calendar Quarter].[Q2 CY 2002], [Date].[Calendar].[%Change]} ON COLUMNS, {Measures.[Internet Sales Amount],[Measures].[Customer Count], [Measures].[Internet Gross Profit]} ON ROWS Presented by FROM ISV Innovation[Adventure Works] Introduction to SQL Server 2008 Data Mining Пример 4. Q1 CY 2002 Q2 CY 2002 %Change Internet Sales Amount $1,791,698.45 $2,014,012.13 11.0383486486941 Customer Count 558 635 12.1259842519685 Internet Gross Profit $719,198.90 $812,350.79 11.4669534172378 Presented by ISV Innovation Introduction to SQL Server 2008 Data Mining Пример 5. WITH MEMBER [Date].[Calendar].[First8MonthsCY2003] AS Aggregate(YTD([Date].[Calendar].[Month].[August 2003])) SELECT [Date].[Calendar].[First8MonthsCY2003] ON COLUMNS, [Product].[Category].Children ON ROWS FROM [Adventure Works] WHERE [Measures].[Order Quantity] Accessories First8MonthsCY2003 9,98 Bikes 21,62 Clothing 18,85 Presented by ISV Innovation Introduction to SQL Server 2008 Data Mining Другие элементы MDX Комментарии // здесь следует комментарий -- здесь следует комментарий /* здесь следует комментарий */ Арифметические операторы +, –, * и / Операторы наборов Операторы сравнения <, <=, >, >=, = и <> Логические операторы AND, OR, XOR, NOT Presented by ISV Innovation Introduction to SQL Server 2008 Data Mining Операторы наборов '+' - объединение наборов '-' - разность двух наборов '*' - векторное произведение двух наборов Двоеточие ':' SELECT [Measures].[Internet Sales Amount] ON 0, {[Date].[Calendar].[CY 2001]:[Date].[Calendar].[CY 2003]} ON 1 FROM [Adventure Works] Presented by ISV Innovation Introduction to SQL Server 2008 Data Mining Функции MDX Функции для members Members — при применении к иерархии возвращает набор всех членов иерархии, независимо от уровня; при применении к уровню возвращает набор всех членов измерения на данном уровне. Children, Parent — перемещение вверх и вниз по уровням. PrevMember, NextMember, Lag, Lead — перемещение в пределах одного уровня FirstChild, LastChild — возвращает первый (последний) потомок данного элемента. MemberToStr(<Выражение члена>), StrToMember(<Строка>); Presented by ISV Innovation Introduction to SQL Server 2008 Data Mining Функции MDX Функции наборов CrossJoin возвращает все возможные комбинации членов наборов, указанных в качестве ее аргументов. CrossJoin(Выражение_набора [, Выражение_набора …]) Filter ограничивает результаты запроса на основе некоторого условия. Filter( Выражение_набора, {Логическое_выражение | [CAPTION | KEY | NAME] = Строковое_выражение}) Presented by ISV Innovation Introduction to SQL Server 2008 Data Mining Пример 6. SELECT Measures.[Internet Sales Amount] ON COLUMNS, FILTER(CROSSJOIN( {Product.[Product Line].[Product Line].MEMBERS}, {[Customer].[Country].MEMBERS}), [Internet Sales Amount] >2000000) ON ROWS FROM [Adventure Works] Presented by ISV Innovation Introduction to SQL Server 2008 Data Mining Пример 6. Результаты запроса Internet Sales Amount Mountain All Customers $10,251,183.52 Mountain Australia $2,906,994.45 Mountain United States $3,547,956.78 Road All Customers $14,624,108.58 Road Australia $5,029,120.41 Presented by ISV Innovation Introduction to SQL Server 2008 Data Mining Функция Exists Exists( Set_Expression1 , Set_Expression2 [, MeasureGroupName] ) - возвращает кортежи из набора 1, которые существуют вместе с одним или более кортежем из набора 2. Клиенты из Калифорнии: SELECT [Measures].[Internet Sales Amount] ON 0, EXISTS([Customer].[Customer].[Customer].MEMBERS , {[Customer].[State-Province].&[CA]&[US]}) ON 1 Presented by FROM ISV Innovation [Adventure Works] Introduction to SQL Server 2008 Data Mining Функции MDX. Справочник по функциям MDX в составе MSDN: http://msdn.microsoft.com/en-us/library/ms145970.aspx Благодарим Казанский (Приволжский) Федеральный Университет и кандидата физ.-мат. наук, Степанова Р.Г. За предоставленный раздел Presented by ISV Innovation Business Intelligence Fundamentals: Data Mining 40 SQL Server 2008 Algorithms Decision Trees The most popular data mining technique Used for classification Clustering Finds natural groupings inside data Sequence Clustering Groups a sequence of discrete events into natural groups based on similarity Presented by ISV Innovation Use this algorithm to understand how visitors use your Web site Business Intelligence Fundamentals: Data Mining 41 SQL Server 2008 Algorithms Naïve Bayes Used for classification in similar scenarios to Decision Trees Linear Regression Finds the best possible straight line through a series of points Used for prediction analysis Logistic Regression Fits to an exponential factor Used for prediction analysis Presented by ISV Innovation Business Intelligence Fundamentals: Data Mining 42 SQL Server 2008 Algorithms Association Rules Supports market basket analysis to learn what products are purchased together Time Series Forecasting algorithm used for short-term or long-term predictions future values from a time series Use multiple series to predict “what if” scenarios Neural Network Used for classification and regression tasks Presented by ISV Innovation More sophisticated than Decision Trees and Naïve Bayes, this algorithm can explore extremely complex scenarios Business Intelligence Fundamentals: Data Mining Data Preparation (погдготовка) Often significant amounts of effort are required to prepare data for mining (Часто существенное количество усилия требуется, чтобы готовить данные к тому, что они добыли) Transforming for cleaning and reformatting (Преобразование для очистки и переформатирования) Isolating and flagging abnormal data (Изоляция и ослабление неправильных данных) Appropriately substituting missing values (Соответственно занимающие место недостающие ценности) Discretizing continuous values into ranges (дискретизация нпр-х данных в диапазоны) by Presented Normalizing values between 0 and 1 (Нормализация значений между 0 и 1) ISV Innovation 43 Business Intelligence Fundamentals: Data Mining 44 Data Mining Process Design time (Время разработки) Process time (Время процесса) Query time (Время вопроса) Presented by ISV Innovation Mining Model Business Intelligence Fundamentals: Data Mining 45 Data Mining Process Design time Process time Mining Model Query time Training Data Data Mining Engine Presented by ISV Innovation Mar-2008 Microsoft Developer & Platform Evangelism Business Intelligence Fundamentals: Data Mining 46 Data Mining Process Design time Process time Mining Model Query time Data Mining Engine Presented by ISV Innovation Mar-2008 Predicted Data Microsoft Developer & Platform Evangelism Data to Predict Business Intelligence Fundamentals: Data Mining 47 Data Mining Visualization In contrast to OLTP and OLAP queries, data mining queries typically extract previously unknown information (В отличие от OLTP и запросов OLAP, вопросы сбора данных как правило извлекают ранее неизвестную информацию) Visualizations can effectively present data discoveries (Визуализация может эффективно представить открытия данных) SQL Server 2008 provides algorithm-specific visualizations that you can se to (2008 SQL сервера обеспечивает определенную для алгоритма визуализацию, к которой Вы можете) Test and explore models in Business Intelligence Development Studio Embed into Windows Forms applications (вкл) Presented by Developers can construct and plug-in custom data mining viewers ISV Innovation (Разработчики могут построить и зрители сбора данных обычая программного расширения) Business Intelligence Fundamentals: Data Mining Integration with SQL Server 2008 Components Integration with SSIS Integration with SSAS Integration with SSRS Presented by ISV Innovation 48 Business Intelligence Fundamentals: Data Mining 49 Integration with SSIS Perform data mining directly in the control flow or the data flow pipeline Enterprise Edition only Configure “intelligent” packages based on data mining query results Presented by ISV Innovation Business Intelligence Fundamentals: Data Mining Integration with SSAS Create data mining models directly from OLAP stores Create dimensions from data mining models to slice cubes using discovered patterns Decision Trees Clustering Association Rules Presented by ISV Innovation 50 Business Intelligence Fundamentals: Data Mining Integration with SSRS Present data mining results in SSRS reports Prediction queries Content queries Parameterized queries Use a data mining query builder to easily select results Apply grouping and aggregation to summarize results Distribute data mining results by using subscriptions Presented by ISV Innovation 51 Business Intelligence Fundamentals: Data Mining Data Mining Programmability SSAS Data Mining Programmability Overview Programming Interfaces Embedding SSAS Data Mining Extending SSAS Data Mining Presented by ISV Innovation 52 Business Intelligence Fundamentals: Data Mining 53 SSAS Data Mining Programmability Overview C++ App VB App .NET App OLE DB ADO ADOMD.NET XMLA Over HTTP Analysis Server OLAP Data Mining Server ADOMD.NET Data Mining Interfaces .NET Stored Procedures ISV Innovation Any Platform, Any Device AMO WAN XMLA Over TCP/IP Presented by Any App Microsoft Algorithms Third-Party Algorithms Business Intelligence Fundamentals: Data Mining Programming Interfaces AMO (Analysis Management Objects) Administer database objects Apply security Manage processing ADOMD.NET Connect to SSAS databases Retrieve and manipulate data Server ADOMD.NET Extend DMX by using .NET stored procedures Presented by ISV Innovation Mar-2008 54 Business Intelligence Fundamentals: Data Mining 55 Embedding SSAS Data Mining Validate or repair user entry Integrate predictions Targeted advertising “Those that bought this book also purchased these books” Embed custom visualizations into Windows Forms applications to allow users to explore and understand model patterns SSAS Data Mining ships with custom visualizations Presented by ISV Innovation Business Intelligence Fundamentals: Data Mining Extending SSAS Data Mining Stored procedures Enhanced Visual Studio data mining tools Plug-in algorithms Plug-in data mining viewers Presented by ISV Innovation 56 Business Intelligence Fundamentals: Data Mining Classifying Customers Likely to Purchase a Bicycle DEMO Presented by ISV Innovation 57 Business Intelligence Fundamentals: Data Mining Resources www.microsoft.com/sql/technologies/dm Links to technical resources, case studies, news, and reviews www.sqlserverdatamining.com Site designed and maintained by the SQL Server Data Mining team Live samples Tutorials Webcasts Tips and tricks FAQ Data Mining for SQL Server 2005, by ZhaoHui Tang and Presented by Jamie MacLennan ISV Innovation 58 Благодарю за внимание! Источники: http://www.techdays.ru/videos/1376.html, Материалы лекций курса «Хранилища данных» КГУ, 2011, Степанов Р.Г. Presented by ISV Innovation