Download Business Intelligence Fundamentals: Data Mining

Document related concepts

Nonlinear dimensionality reduction wikipedia , lookup

Transcript
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