Процес розкриття даних – ЧАСТИНА 3

Розгортання

Існує кілька методів впровадження функцій розкриття даних у додатки

■ Безпосереднє створення XMLA, що взаємодіє зі службою аналізу за допомогою протоколу SOAP Це дозволяє використовувати повну функціональність розкриття даних ціною поглибленого програмування

■ Обєктна модель AMO (Analysis Management Objects) реалізує середу створення і управління структурами розкриття та іншими метаданими однак вона не призначена для запитів прогнозування

■ Мова DMX (Data Mining Extensions) дозволяє реалізувати більшість завдань створення моделі та її навчання, а також виконувати запити прогнозування Інструкції DMX можуть бути відправлені службі аналізах допомогою наступних інтерфейсів:

• AMOMDNET – для керованих мов (сімейства NET)

• OLE DB – для програм на C + +

• ADO – для решти мов програмування

DMX являє собою SQL-подібна мова, адаптований до завдань і структурам розкриття даних З метою виконання запитів прогнозування щодо навченою моделі в мові передбачено спеціальне обєднання прогнозування (PREDICTION JOIN) Як буде показано в наступному прикладі, цей тип обєднання повязує модель розкриття і набір даних, які повинні пророкували Так як запит DMX виконується щодо бази даних служби аналізу, на модель [ТМ Decision Tree] можна послатися безпосередньо, в той час як стану повинні бути зібрані за допомогою виконання функції OPENQUERY щодо реляційної бази даних Відповідні стовпці порівнюються в реченні ON, подібно стандартному реляційному обєднанню, в той час як пропозиції WHERE і ORDER BY функціонують, як звичайно У мову DMX також додано безліч спеціалізованих функцій, призначених для завдань розкриття даних, таких як Predict і PredictProbability (ці функції продемонстровані в прикладі), які повертають відповідно найбільш ймовірний вихід і його ймовірність Загалом у наведеному прикладі повертається список ідентифікаторів, імен і ймовірностей потенційних клієнтів, які з більш ніж 60%-ною вірогідністю куплять велосипед, з сортуванням за спаданням ймовірності:

SELECT tProspectAlternateKey,tFirstName,tLastName,

Predict([TM Decision Tree][Bike Buyer]),

PredictProbability([TM Decision Tree][Bike Buyer]) as Prob FROM [TM Decision Tree]

PREDICTION JOIN

OPENQUERY([Adventure Works DW],

‘SELECT

ProspectAlternateKey, FirstName, LastName, MaritalStatus,

Gender, Yearlylncome, TotalChildren, NumberChildrenAtHome, Education, Occupation, HouseOwnerFlag, NumberCarsOwned, StateProvinceCode FROM dboProspectiveBuyer1) AS t

ON

[TM Decision Tree][Marital Status] = tMaritalStatus AND [TM Decision Tree]Gender = tGender AND [TM Decision Tree][Yearly Income] = tYearlylncome AND [TM Decision Tree][Total Children] = tTotalChildren AND [TM Decision Tree][Number Children At Home] tNumberChildrenAtHome AND [TM Decision Tree]Education = tEducation AND [TM Decision Tree]Occupation = tOccupation AND [TM Decision Tree][House Owner Flag] = tHouseOwnerFlag AND [TM Decision Tree][Number Cars Owned] = tNumberCarsOwned AND [TM Decision Tree]Region = tStateProvinceCode WHERE PredictProbability([TM Decision Tree][Bike Buyer]) &gt 060 AND Predict([TM Decision Tree][Bike Buyer])=1 ORDER BY PredictProbability([TM Decision Tree][Bike Buyer]) DESC

Ще однією корисною формою обєднання прогнозування є одиночний запит, в якому дані поставляються безпосередньо додатком, а не читаються з реляційної таблиці Ця форма продемонстрована в наступному прикладі Так як імена в точності збігаються з тими, які використовуються в моделі розкриття, в прикладі використано вираз NATURAL PREDICTION JOIN, що не вимагає наявності пропозиції ON Цей приклад повертає ймовірність того, що заданий потенційний клієнт купить велосипед (тобто [Вуке Вуег] = 1): SELECT

PredictProbability([TM Decision Tree][Bike Buyer],1)

FROM [TM Decision Tree]

NATURAL PREDICTION JOIN

(SELECT 47 AS [Age], 2-5 Miles AS [Commute Distance],

‘Graduate Degree1 AS [Education], M AS [Gender],

*1 AS [House Owner Flag], M AS [Marital Status],

2 AS [Number Cars Owned], 0 AS [Number Children At Home],

‘Professional AS [Occupation], North America AS [Region],

0 AS [Total Children], 80000 AS [Yearly Income]) AS t

Утиліта BIDS надасть вам допомогу у створенні запитів DMX допомогою будівника запитів, що міститься в поданні Mining Model Prediction Як у діаграмі точності розкриття, виділіть модель і таблицю, до яких буде виконуватися запит, або клацніть на єдиній кнопці панелі інструментів, щоб встановити значення У нижній частині таблиці визначте стовпець SELECT і функції прогнозування SQL Server Management Studio також пропонує тип запитів DMX з панеллю метаданих, призначеної для перетягування імен стовпців структури розкриття і функцій прогнозування

Серед доступних функцій прогнозування наступні

■ Predict Повертає очікуваний вихід прогнозованого шпальти

■ PredictProbability Повертає ймовірність очікуваного виходу або особливий стан, якщо таке визначено

■ Predict Support Повертає кількість станів навчання, на яких заснований очікуваний вихід, або спеціальне стан, якщо таке визначено

■ Predict Histogram Повертає вкладену таблицю з усіма можливими виходами для даного стану, перераховуючи для кожного ймовірність, підтримку та іншу інформацію

■ Cluster Повертає кластер, якому призначено даний стан (функція специфічна для алгоритму кластеризації)

■ ClusterProbability Повертає ймовірність того, що стан належить заданій кластеру (функція специфічна для алгоритму кластеризації)

■ PredictSequence Прогнозування наступного значення в послідовності (функція специфічна для алгоритму послідовної кластеризації)

■ PredictAssociations Прогнозування асоціативного членства (функція специфічна для алгоритму асоціацій)

■ PredictTimeSeries Прогнозування майбутнього значення часового ряду (функція специфічна для алгоритму часових рядів)

Алгоритми

При роботі із засобами розкриття даних корисно знати основи алгоритмів розкриття та області їх застосування У табл 442 наведені основні відомості про використання різних алгоритмів для категорій задач, перерахованих на початку глави

Таблиця 442 Використання основних алгоритмів розкриття даних

Тип завдань

Основні алгоритми

Сегментація

Класифікація

Асоціація

Оцінка

Прогнозування

Кластеризація, послідовна кластеризація

Дерева рішень, наївний Байєсівський, нейронні мережі, логістична регресія Асоціативні правила, дерева рішень

Дерева рішень, лінійна регресія, логістична регресія, нейронні мережі Тимчасові ряди

Тип завдань

Основні алгоритми

Послідовний

Послідовна кластеризація

аналіз

Нехай наведена таблиця служить вам путівником, проте врахуйте, що далеко не всі завдання розкриття даних потрапляють в один з перерахованих типів – для деяких з них існують спеціалізовані алгоритми Водночас, маючи під рукою такий корисний інструмент, як діаграма оцінки точності, досить просто визначити, який з алгоритмів дає кращий результат у кожній конкретній задачі

Алгоритм дерева рішень

Алгоритм Decision Trees є найбільш точним для безлічі завдань Він починає свою роботу з створення вузла АН, відповідного всім навчальним станам (рис 443) Потім вибирається атрибут, найкращим чином розбиває стану на групи, після чого в кожній з вийшов груп також виконується пошук атрибута, найкращим чином виконує розбиття підмножин, і тд Метою роботи алгоритму є створення листових вузлів з єдиним прогнозованим виходом Наприклад, якщо завдання зводиться до визначення покупців, потенційно мотивованих купити велосипед, листовий рівень буде містити або всіх потенційних покупців велосипедів, або всіх, хто не здатний купити велосипед, проте ні в якому разі не їх комбінацію

Puc 443 Подання Decision Tree Viewer

Подання Decision Tree Viewer, показане на рис 443, графічно відображає результуюче дерево Як ми бачимо, в даному прикладі перший обраним атрибутом став вік (групи до 31 року, від 31 до 38 і тд) У групі до 31 року вирішальним виявився атрибут регіону, в той час як у групі від 31 до 38 – кількість придбаних автомобілів На панелі Mining Legend відображаються деталі вибраного вузла, включаючи те, як вибірки були розбиті змінної прогнозування (в даному випадку 2200 покупців і 1306 утрималися від покупки) як за кількістю, так і за ймовірністю

Для дерев рішень також доступно уявлення Dependency Network Viewer, що відображає вхідні і прогнозовані стовпці в якості вузлів, які зєднані стрілками, визначальними відносини між пророкує і прогнозованим елементами Перемістіть повзунок вниз, і ви побачите найбільш значущі передбачення Клацніть на будь-якому вузлі, щоб виділити всі його взаємозвязку

Лінійна регресія

Алгоритм Linear Regression реалізований як один з варіантів дерева рішень Він є найкращим вибором для безперервних даних, звязок між якими близька до лінійної Результатом регресії є рівняння види:

де Y – прогнозований стовпець Хх – Вхідний стовпець Ах і вг – Константи, які визначаються регресією Так як цей алгоритм є окремим випадком дерева рішень, то для нього доступні ті ж уявлення розкриття даних У той час як уявлення Tree Viewer відображає тільки єдиний вузол АН, на панелі Mining Legend показано саме рівняння прогнозування Це рівняння можна використовувати як в чистому вигляді, так і підставляти в запити до моделі розкриття даних, що направляються за допомогою функції Prediction Подання Dependency Network Viewer графічно інтерпретує константи ваг, використані в рівнянні

Кластеризація

Алгоритм Clustering збирає подібні стани в групи, звані кластерами, а потім итеративно підганяє визначення кластера, поки стане неможливо домогтися більшої точності Цей підхід робить алгоритм кластеризації ідеально відповідним для задач сегментації популяції У сформованої моделі доступно кілька подань даних

■ Cluster Diagram Це подання відображає кожен кластер як затінений вузол, поєднуючи подібні кластери лініями Чим темніше лінія, тим більше подібні кластери, які вона зєднує Перетягніть повзунок вниз, і ви побачите тільки лінії, що зєднують найбільш подібні кластери Вузли відтінені, щоб представити більшу число станів За замовчуванням стану підраховуються на основі всієї популяції, однак зміна значень в розкривних списках Shading Variable і State дозволяють засновувати затемнення на значенні конкретної змінної (наприклад, на те, які з кластерів містять домовласників)

■ Cluster Profile На відміну від затінення вузлів у поданні Cluster Diagram Viewer, коли значення однієї змінної має перевірятися в часі, уявлення Cluster Profiles Viewer відображає всі змінні і кластери в одній матриці Кожна комірка в цій матриці є графічним представленням розподілу змінної в кластері (рис 444) Дискретні змінні відображаються у вигляді вертикальних стовпців, що показують, скільки станів містить кожне з можливих значень змінної Безперервні змінні відображаються у вигляді діаграм з ромбиками, де центр кожного ромба відповідає середньому значенню, а верхній і нижній його кути відповідають стандартному відключенню Таким чином, чим вище ромбик, тим менш одноманітно значення в кластері Клацніть на осередку, і на панелі Mining Legend відобразяться всі характеристики розподілу для комбінації кластера / змінної Також можете помістити покажчик миші над осередком, і в екранній підказці відобразиться та ж інформація На рис 444 в екранній підказці відображені характеристики розподілу змінної професії для всієї популяції, а на панелі Mining Legend показані характеристики розподілу змінної кількості дітей в кластері 3

Cluster Characteristics У цьому поданні відображається список характеристик, що формують кластер, і ймовірностей входження в кластер кожної з них

Cluster Discrimination Аналогічно попередньому поданням, але в ньому показано, які характеристики вигідно відрізняють один кластер від іншого Це подання також дозволяє порівняти кластер з власним компонентом, ясно показуючи, що міститься в даному кластері, а що ні

Puc 444 Подання Cluster Profiles Viewer

Для кращого розуміння кластерів, утворених в конкретній моделі, має сенс перейменувати кожен з них в щось більш описову, ніж Cluster я. Для цього клацніть правою кнопкою миші на кластері в поданні Diagram або Profiles Viewer і виберіть у контекстному меню пункт Rename Cluster

Послідовна кластеризація

Алгоритм Sequence Clustering, як зрозуміло з його назви, збирає стану в кластери, проте на підставі НЕ атрибутів, а послідовності подій Наприклад, послідовності відвіданих у сесії Web-сторінок можна використовувати для визначення найбільш популярних шляхів проходження по Web-сайту

Природа цього алгоритму вимагає розміщення вхідних даних у вкладеній таблиці, при цьому батьківська рядок повинен містити ідентифікатор сесії або замовлення, а вкладена таблиця – порядок подій у цій сесії (наприклад, рядки замовлення) До того ж ключовий стовпець вкладеної таблиці повинен в структурі розкриття мати тип вмісту Key Sequence

У ході навчання моделі доступні всі чотири вистави для кластерів, описані вище Додаткове уявлення, State Transition Viewer, відображає переходи між елементами (наприклад, Web-сторінками) поряд зі повязаної з ними ймовірністю Перетягніть повзунок вниз, і ви побачите тільки найбільш ймовірні переходи Виділіть вузол, і будуть виділені всі можливі переходи від нього до ймовірних послідовникам Короткі стрілки, не зєднані з другим вузлом, відзначають стан, який може бути послідовником самого себе

Нейронні мережі

Цей відомий алгоритм (Neural Network) у загальному випадку повільніше своїх побратимів, проте часто дозволяє вирішувати більш складні завдання Нейронна мережа будується з використанням трьох рівнів нейронів: вхідного, прихованого (середнього) і вихідного при цьому вихід кожного шару стає входом наступного Кожен нейрон приймає вхідні сигнали, які комбінуються з допомогою функцій зважування, а результат відправляється на вихід Навчання такої мережі зводиться до визначення ваг кожного з нейронів

Подання Neural Network Viewer відображає список характеристик (комбінацій змінних і значень) і параметри впливу цих характеристик на конкретний результат Виберіть два результату в розділі Output, що знаходиться в правій верхній частині вікна (рис 445) Якщо розділ Input не заповнювати, то характеристики будуть порівнюватися для всієї популяції якщо ж ввести деяку комбінацію значень, то буде досліджена тільки частина популяції У прикладі на рис 445 відображені характеристики, що впливають на прийняття рішення про покупку велосипеда людьми від 32 до 38 років, що не мають дітей

Puc 445 Подання Neural Network Viewer

Логістична регресія

Алгоритм Logistic Regression є окремим випадком алгоритму нейронних мереж, в якому відсутня прихований шар нейронів Незважаючи на те що логістична регресія може використовуватися в безлічі задач, вона більшою мірою підходить для задач оцінки, для яких могла б підійти лінійна регресія проте зважаючи дискретності прогнозованого значення лінійний підхід має тенденцію пророкувати значення, виходять за межі допустимого діапазону (наприклад, пророкування більш ніж стовідсоткової ймовірності появи певної комбінації вхідних сигналів)

Оскільки даний алгоритм управляється алгоритмом нейронних мереж, йому доступно то ж подання (Neural Network Viewer)

Наївний Байєсівський алгоритм

Алгоритм Naive Bayes є дуже швидким, до того ж його точність цілком адекватна для багатьох додатків У той же час він не здатний оперувати безперервними змінними Джерелом його наївності є припущення про незалежність всіх вхідних сигналів Наприклад, ймовірність того, що одружений чоловік купить велосипед, визначається обчисленням частоти появи комбінацій цих двох ознак в навчальному наборі даних при цьому інші стовпці в розрахунок не приймаються Ймовірністю нового стану є нормалізоване твір окремих ймовірностей

Для побудованої моделі доступно кілька подань

■ Dependency Network У цьому поданні в якості вузлів відображаються вхідні та прогнозовані стовпці, а стрілки вказують на те, на основі якого з них складається прогноз Перемістіть повзунок вниз, щоб відобразити лише найсуттєвіші основи прогнозу Клацніть на вузлі, щоб виділити всі його стосунки

■ Attribute Profile Це подання функціонально ідентично поданням Cluster Profile Viewer У ньому відображаються всі змінні та прогнозовані результати у вигляді однієї матриці Кожна комірка матриці є графічним представленням розподілу змінної в конкретному вихідному сигналі Клацніть на осередку, і на панелі Mining Legend відобразяться всі характеристики розподілу для даної комбінації вихід / змінна. Якщо помістити покажчик миші над деякою осередком, то вся ця інформація відобразиться в екранній підказці

■ Atribute Characteristics Це подання відображає список характеристик, повязаних з обраним результатом

■ Atribute Discrimination Аналогічно поданням Characteristic Viewer, проте показує, які характеристики відрізняють один результат від іншого

Асоціативні правила

Робота алгоритму Association Rules полягає в пошуку атрибутів, які мають властивість зявлятися разом в певних станах при цьому в розрахунок береться достатня частота таких подій Такі атрибути групуються в так звані набори елементів, які потім використовуються для створення правил генерації прогнозів Незважаючи на те що даний алгоритм може бути використаний у багатьох завданнях, найкраще він підходить до задачі формування ринкового портфеля У загальному випадку дані для формування ринкового портфеля підготовляються з використанням вкладених таблиць – батьківська рядок є транзакцією (наприклад, замовленням), а вкладені таблиці містять окремі її елементи (наприклад, рядки замовлення) Три уявлення дозволяють проаналізувати навчену модель

■ Itemsets Це подання відображає список наборів елементів, розкритих у навчальних даних при цьому для кожного набору даних вказується його асоційований розмір (кількість елементів у наборі) і підтримка (кількість навчальних станів, у яких це безліч зявляється) У поданні містяться деякі елементи фільтрації, в тому числі текстове поле Filter Itemset, за допомогою якої можна виконати пошук будь введеного рядка (наприклад, Region = Europe дозволить відобразити тільки набори елементів, що містять цей рядок)

■ Rules За складом і композиції елементів це подання аналогічно Itemsets, однак перераховує не набір елементів, а правила Кожне правило має форму А, В ^ С, а це означає, що стану, що містять правила А і В, найімовірніше, містять і С (наприклад, люди, що купили макарони і соус, швидше за все, куплять і сир) У кожному з правил вказується його ймовірність появи, а також важливість (тобто міра корисності) для виконання прогнозів

■ Dependency Network Це подання аналогічно однойменним поданням в інших алгоритмах в ньому вузли представляють елементи в аналізі ринкового портфеля Слід зазначити, що ці вузли схильні впливати на передбачення один одного (відзначається двонаправленими стрілками) Повзунок дозволяє приховувати менш ймовірні (але не менш важливі) асоціації Якщо виділити деякий вузол, будуть виділені також і повязані з ним вузли

Тимчасові ряди

Алгоритм Time Series дозволяє передбачити майбутні значення ряду послідовних точок даних (наприклад, Web-трафік на наступне півріччя на підставі історичних даних) На відміну від раніше описаних алгоритмів прогноз не вимагає наявності нових станів, на яких він буде заснований, – потрібно лише вказати кількість ітерацій, на яке слід подовжити ряд Вхідні дані повинні містити тимчасової ключ для забезпечення тимчасового атрибута алгоритму Тимчасові ключі можуть визначатися за допомогою дат, а також числових стовпців з типом double і long

Після запуску алгоритму генерується дерево рішень для кожного прогнозованого ряду Це дерево рішень визначає одну або декілька областей в прогнозуванні, а для кожної з них – відповідне рівняння, яке можна побачити в поданні Decision Тгее Viewer Наприклад, якщо деякий вузол має позначку Widget Sales-4 <1000 0, її можна інтерпретувати в такий спосіб: "Використовувати рівняння цього вузла, коли обсяг продажів даного товару чотирма етапами раніше був менше десяти тисяч рублів ". При виборі вузла на панелі Mining Legend відображається пов'язане з ним рівняння, а якщо помістити над вузлом покажчик миші, то це ж рівняння відобразиться в екранній підказці. Зверніть увагу на список, що розкривається Tree у верхній частині подання. Він дозволяє перевіряти модель на різних часових рядах. У кожному вузлі також відображається ромбовидна діаграма, ширина якої відображає варіації прогнозованого атрибута в даному вузлі. Іншими словами, чим вже ромбик, тим точніше прогноз.

Друге подання, Charts, що використовується в даному алгоритмі, виводить на графік фактичні та прогнозовані значення обраного ряду в розрізі часу Виберіть в списку у верхньому правому кутку графіка ряд, який слід вивести на діаграму Кнопка Abs використовується для перемикання між абсолютними і відносними (тобто процентними) значеннями Прапорець Show Deviations управляє відображенням на діаграмі графіка помилок, що показує відхилення прогнозованих значень, а елемент Prediction Steps дозволяє управляти кількістю відображуваних прогнозів Помістіть покажчик миші над горизонтальним фрагментом, який вас цікавить, так, щоб він став виділеним, а потім клацніть мишею – даний фрагмент діаграми буде збільшений Скасування масштабування виконується за допомогою відповідних кнопок масштабування на панелі інструментів

Так як прогнозування не грунтується на станах, уявлення Mining Accuracy Chart для даного алгоритму не працює Тому вам слід вивести значення наступних періодів з навчальних даних і порівняти передбачені значення з результатами, отриманими на тестових даних

Джерело: Нільсен, Пол Microsoft SQL Server 2005 Біблія користувача : Пер з англ – М: ООО ІД Вільямс , 2008 – 1232 с : Ил – Парал тит англ

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*