Модель інтелектуального аналізу даних з використанням алгоритму асоціативних правил на базі інформаційного сховища підприємства
Створення структури інформаційного сховища на базі OLTP даних, що містить інформацію про продажі товарів. Модель інтелектуального аналізу структури споживчої корзини по алгоритму асоціативних правил. Складання прогнозів продажів і складських запасів.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 13.04.2015 |
Размер файла | 2,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
ВСТУП
Останнім часом для вирішення практичних завдань все частіше застосовуються методи інтелектуального аналізу даних (DataMining). Інтелектуальний аналіз даних (англ. DataMining) -- виявлення прихованих закономірностей або взаємозв'язків між змінними у великих масивах необроблених даних. Підрозділяється на завдання класифікації, моделювання і прогнозування та інші.
Побудова моделі інтелектуального аналізу даних є складовою частиною масштабнішого процесу, який включає всі етапи, починаючи з визначення базової проблеми, яку модель вирішуватиме, до розгортання моделі в робочому середовищі. Даний процес може бути заданий за допомогою наступних шести базових кроків:
постановка задачі;
підготовка даних;
перегляд даних;
побудова моделей;
дослідження, перевірка, прогнозування за допомогою моделей;
розгортання і оновлення моделей.
До складу Microsoft SQL Server 2005 і 2008 входить цілий ряд служб, які дозволяють виконати кожен крок. Вихідна база даних , як правило, є реляційною, для побудови і наповнення даними інформаційного сховища використовується служба IntegrationServices, куб будується і представляється в AnalysisServices, робота з моделями здійснюється в BisenessIntelligenceStudio з використанням спеціальної мови DMX.
На основі цих методів були розроблені алгоритми пошуку асоціативних правил. Вперше ці алгоритми були запропоновані для знаходження типових шаблонів покупок, що здійснюються в супермаркетах. Згодом завдання було розширене, і зараз ці алгоритми вирішують проблему пошуку закономірностей між зв'язаними подіями. Прикладом асоціативного правила може служити вислів, що людина, що купила молоко, також купить хліб за один візит в магазин.
Метою даної роботи є побудова модель інтелектуального аналізу даних з використанням алгоритму асоціативних правил на базі інформаційного сховища підприємства.
Для досягнення цієї мети необхідно вирішити ряд задач:
створити структуру інформаційного сховища на базі OLTP (OnlineTransactionProcess) бази даних, що містить інформацію про продажі товарів;
організувати періодичне перевантаження даних з OLTP в інформаційне сховище;
створити модель інтелектуального аналізу структури споживчої корзини по алгоритму асоціативних правил;
провести аналіз моделі і прогнозування.
У дипломній роботі детально розглянуто задачі асоціації. Дуже часто покупці набувають не одного товару, а декілька. В більшості випадків між цими товарами існує взаємозв'язок. Ця інформація може бути використана для розміщення товару на полицях в магазинах.
Після створення моделі можна провести її аналіз на предмет виявлення цікавих для нас (шаблонів) правил.
Метою аналізу є встановлення наступних залежностей: якщо в транзакції зустрівся деякий набір елементів X, то на підставі цього можна зробити висновок про те, що інший набір елементів Y також повинен з'явитись в цій транзакції. Встановлення таких залежностей дає нам можливість знаходити дуже прості і інтуїтивно зрозумілі правила.
Сучасні бази даних мають дуже великі розміри, досягаючи гіга- і терабайтів, і тенденцію до подальшого збільшення. І тому, для знаходження асоціативних правил потрібні ефективні масштабовані алгоритми, що дозволяють вирішити задачі за певний час. Один з алгоритмів, що ефективно вирішують подібний клас задач - це алгоритм Apriori.
На основі аналізу можемо створити прогноз даних.
Прогнозування -- складання прогнозів продажів і складських запасів, виявлення взаємозалежностей між ними для усунення недоліків і підвищення прибутку.
Для створення прогнозів використовується мова DataMiningExtensions (DMX), яка є розширенням SQL і містить команди для створення, зміни моделей і здійснення передбачень на підставі різних моделей.
сховище дані інформаційний товар
1. ОГЛЯД ІСНУЮЧИХ МЕТОДІВ ІНТЕЛЕКТУАЛЬНОГО АНАЛІЗУ ДАНИХ
1.1 Визначення поняття DataMining
DataMining - це процес підтримки ухвалення рішень, заснований на пошуку в даних прихованих закономірностей (шаблонів інформації).
Технологію DataMining достатньо точно визначає Григорій Піатецкий - Шапіро (Gregory Piatetsky-Shapiro) - один із засновників цього напряму: “DataMining - це процес виявлення в сирих даних раніше невідомих, нетривіальних, практично корисних і доступних інтерпретації знань, необхідних для ухвалення рішень в різних сферах людської діяльності” [4].
Суть і мету технології DataMining можна визначититак: це технологія, яка призначена для пошуку у великих об'ємах даних неочевидних, об'єктивних і корисних на практиці закономірностей.
Неочевидних - це значить, що знайдені закономірності не виявляються стандартними методами обробки інформації або експертним шляхом.
Об'єктивних - це значить, що знайдені закономірності повністю відповідатимуть дійсності, на відміну від експертної думки, яка завжди є суб'єктивною.
Практично корисних - це значить, що висновки мають конкретне значення, якому можна знайти практичне застосування.
Знання - сукупність відомостей, яка утворює цілісний опис, відповідний деякому рівню обізнаності про описуване питання, предмет, проблему і т.д.
Використовування знань (knowledgedeployment) означає дійсне застосування знайдених знань для досягнення конкретних переваг (наприклад, в конкурентній боротьбі за ринок).
Приведемо ще декілька визначень поняття DataMining.
DataMining - це процес виділення з даних неявної і неструктурованої інформації і представлення її у вигляді, придатному для використовування.
DataMining - це процес виділення, дослідження і моделювання великих об'ємів даних для виявлення невідомих до цього шаблонів (patterns) з метою досягнення переваг в бізнесі (визначення SAS Institute).
DataMining - це процес, мета якого - знайти нові значущі кореляції, зразки і тенденції в результаті просівання великого об'єму бережених даних з використанням методик розпізнавання зразків плюс застосування статистичних і математичних методів (визначення GartnerGroup).
«Mining» англійською означає «видобуток корисних копалин», а пошук закономірностей у величезній кількості даних дійсно схожий на цей процес.
Перш ніж використовувати технологію DataMining, необхідно ретельно проаналізувати її проблеми [4]:
DataMining не може замінити аналітика;
не може складати розробки і експлуатації додатку DataMining;
потрібна підвищена кваліфікація користувача;
витягання корисних відомостей неможливе без доброго розуміння суті даних;
складність підготовки даних;
висока вартість;
вимога наявності достатньої кількості репрезентативних даних.
DataMining тісно пов'язана з різними дисциплінами , що засновані на інформаційних технологіях та математичних методах обробки інформаціі (рисунок 1.1).
Рисунок 1.1 - DataMining як мультідісциплінарна область
Кожний з напрямів, що сформували DataMining, має свої особливості. Проведемо порівняння з деякими з них.
1.2 Порівняння статистики, машинного навчання і DataMining
Статистика- це наука про методи збору даних, їх обробки і аналізу для виявлення закономірностей, властивих явищу, що вивчається.
Статистикає сукупністю методів планування експерименту, збору даних, їх уявлення і узагальнення, а також аналізу і отримання висновків на підставі цих даних.
Статистика оперує даними, що отримані в результаті спостережень або експериментів.
Перевагами є:
більш ніж DataMining, базується на теорії;
більш зосереджується на перевірці гіпотез.
Єдиного визначення машинного навчання на сьогоднішній день немає.
Машинне навчанняможна охарактеризувати як процес отримання програмою нових знань. Мітчелл в 1996 році дав таке визначення: «Машинне навчання - це наука, яка вивчає комп'ютерні алгоритми, автоматично що поліпшуються під час роботи».
Одним з найпопулярніших прикладів алгоритму машинного навчання є нейронні мережі.
Алгоритми машинного навчання є:
більш евристичні;
концентрується на поліпшенні роботи агентів навчання.
Переваги DataMining:
інтеграція теорії і евристик;
сконцентрована на єдиному процесі аналізу даних, включає очищення даних, навчання, інтеграцію і візуалізацію результатів.
1.3 Методи DataMining
Методи, що використовує технологія DataMining можна розподілити на технологічні, статистичні та кібернетичні.
Таблиця 1.1- Методи DataMining
Методи DataMining |
Характеристика |
|
Технологічні методи |
а) безпосереднє використання даних, або збереження даних. Методи цієї групи: кластерний аналіз, метод найближчого сусіда; б) виявлення і використання формалізованих закономірностей, або дистиляція шаблонів - логічні методи, методи візуалізації, методи крос-табуляції, методи, що засновані на рівняннях. |
|
Статистичні методи |
а) дескриптивний аналіз і опис вихідних даних; б) аналіз зв'язків (кореляційний і регресійний аналіз, факторний аналіз, дисперсійний аналіз); в) багатовимірний статистичний аналіз (компонентний аналіз, дискримінантний аналіз, багатовимірний регресійний аналіз, канонічні кореляції і ін.); г) аналіз тимчасових рядів (динамічні моделі і прогнозування). |
|
Кібернетичні методи |
а)штучні нейронні мережі (розпізнавання, кластеризація, прогноз); б) еволюційне програмування (в т.ч. алгоритми методу групового обліку аргументів); в) генетичні алгоритми (оптимізація); ґ) асоціативний алгоритм; г) нечітка логіка; д) дерева рішень; є) системи обробки експертних знань. |
1.4 Відмінності DataMining від інших методів аналізу даних
Традиційні методи аналізу даних в основному орієнтовані на перевірку наперед сформульованих гіпотез (статистичні методи) і на «грубий розвідувальний аналіз», що становить основу оперативної аналітичної обробки даних (OnlineAnalyticalProcessing, OLAP), тоді як одне з основних положень DataMining - пошук неочевидних закономірностей. Інструменти DataMining можуть знаходити такі закономірності самостійно і також самостійно будувати гіпотези про взаємозв'язки. Оскільки саме формулювання гіпотези щодо залежності є найскладнішою задачею, перевага DataMining в порівнянні з іншими методами аналізу є очевидною.
Більшість статистичних методів для виявлення взаємозв'язків в даних використовує концепцію усереднювання по вибірці, що приводить до операцій над неіснуючими величинами, тоді як DataMining оперує реальними значеннями.
OLAP більше підходить для розуміння ретроспективних даних, DataMining спирається на ретроспективні дані для отримання відповідей на питання про майбутнє.
2. МАТЕМАТИЧНА ПОСТАНОВКА ЗАДАЧ ІНТЕЛЕКТУАЛЬНОГО АНАЛІЗУ - АЛГОРИТМ АСОЦІАТИВНИХ ПРАВИЛ
Однією з задач DataMining є асоціація. Метою пошуку асоціативних правил (associationrule) є знаходження закономірностей між зв'язаними подіями в базах даних.
Дуже часто покупці придбавають не один товар, а декілька. В більшості випадків між цими товарами існує взаємозв'язок. Так, наприклад, покупець, що придбаває макаронні вироби, швидше за все, схоче придбати також кетчуп. Ця інформація може бути використана для розміщення товару на полицях крамниці.
Наведемо простий приклад асоціативного правила: покупець, що придбаває банку фарби, придбає пензлик для фарби з вірогідністю 50%.
Вперше ця задача була запропонована пошуку асоціативних правил для знаходження типових шаблонів покупок, які придбають в супермаркетах, тому іноді її ще називають аналізом ринкової корзини (marketbasketanalysis).
Хай є база даних, що складається з купівельних транзакцій. Кожна транзакція - це набір товарів, куплених покупцем за один візит. Таку транзакцію ще називають ринковою корзиною.
Визначення 1. Хай I = {i1, i2, i3 ... in} - безліч (набір) товарів, званих елементами. Хай D - безліч транзакцій, де кожна транзакція T - це набір елементів з I, TI. Кожна транзакція є бінарним вектором, де t[k]=1, якщо ik елемент присутній в транзакції, інакше t[k]=0. Ми говоримо, що транзакція T містить X, деякий набір елементів з I, якщо XT. Асоціативним правилом називається імплікація XY, де XI, YI і XY=. Правило XY має підтримку s (support), якщо s% транзакцій з D, містять XY, supp(XY) = supp(XY). Достовірність правила показує, яка вірогідність того, що з X слідує У. Правило XY справедливо з достовірністю (confidence) з, якщо c% транзакцій з D, що містять X, також містять У, conf(XY) = supp(XY)/supp(X).
Покажемо на конкретному прикладі: "75% транзакцій, що містять хліб, також містять молоко. 3% від загального числа всіх транзакцій містять обидва товари". 75% - це достовірність (confidence) правила, 3% це підтримка (support), або "Хліб" "Молоко" з вірогідністю 75%.
Іншими словами, метою аналізу є встановлення наступної залежності: якщо в транзакції зустрівся деякий набір елементів X, то на підставі цього можна зробити висновок про те, що інший набір елементів У також повинен з'явитись в цій транзакції. Встановлення такої залежності дає нам можливість знаходити дуже прості і інтуїтивно зрозумілі правила.
Алгоритми пошуку асоціативних правил призначені для знаходження всіх правил X У, причому підтримка і достовірність цих правил повинна бути вищою за деякі наперед певні пороги, звані відповідно мінімальною підтримкою (minsupport) і мінімальною достовірністю (minconfidence).
Задача знаходження асоціативних правил розбивається на дві підзадачі:
знаходження всіх наборів елементів, які задовольняють порогу minsupport. Такі набори елементів називаються тими, що часто зустрічаються;
генерація правил з наборів елементів, знайдених згідно п. a) з достовірністю, що задовольняє порогу minconfidence.
Один з перших алгоритмів, ефективно вирішальних подібний клас задач, - це алгоритм APriori. Окрім цього алгоритму останнім часом був розроблений ряд інших алгоритмів: DHP, Partition, DIC і інші.
Значення для параметрів мінімальна підтримка і мінімальна достовірність вибираються так, щоб обмежити кількість знайдених правил. Якщо підтримка має велике значення, то алгоритми будуть знаходити правила, добре відомі аналітикам або настільки очевидні, що немає ніякого значення проводити такий аналіз. З другого боку, низьке значення підтримки веде до генерації величезної кількості правил, що, звичайно, вимагає істотних обчислювальних ресурсів. Проте, більшість цікавих правил знаходиться саме при низькому значенні порогу підтримки. Хоча дуже низьке значення підтримки веде до генерації статистично необґрунтованих правил.
Пошук асоціативних правил зовсім не тривіальна задача, як може здатися на перший погляд. Одна з проблем - алгоритмічна складність при знаходженні наборів елементів, які часто зустрічаються, оскільки із зростанням числа елементів експоненційно росте число потенційних наборів елементів.
2.1 Узагальнені асоціативні правила (GeneralizedAssociationRules)
При пошуку асоціативних правил, ми припускали, що всі аналізовані елементи однорідні. Повертаючись до аналізу ринкової корзини, це товари, абсолютно однакові атрибути, що мають, за винятком назви. Проте не складе великих труднощів доповнити транзакцію інформацією про те, до якої товарної групи входить товар і побудувати ієрархію товарів.
Наприклад, якщо Покупець купив товар з групи "Безалкогольні напої", то він купить і товар з групи "Молочні продукти" або "Сік". Ці правила носять назву узагальнених асоціативних правил.
Визначення 2. Узагальненим асоціативним правилом називається імплікація XY, де XI, YI і XY= і де жоден з елементів, що входять в набір У, не є предком жодного елемента, що входить в X. Підтримка і достовірність підраховуються так само, як і у разі асоціативних правил (див. Визначення 1).
Введення додаткової інформації про угрупування елементів у вигляді ієрархії дасть наступні переваги:
це допомагає встановити асоціативні правила не тільки між окремими елементами, але і між різними рівнями ієрархії (групами);
окремі елементи можуть мати недостатню підтримку, але в цілому група може задовольняти порогу minsupport;
для знаходження таких правил можна використовувати будь-який з вищеназваних алгоритмів.
Групувати елементи можна не тільки по входженню в певну товарну групу, але і по інших характеристиках, наприклад за ціною (дешево, дорого), бренду і т.д.
Алгоритм пошуку асоціативних правил, заснований на аналізі частих наукових наборів. Спочатку в базі даних транзакцій шукаються усі частини наукових наборів, а потім генеруються асоціативні правила на основі тих з них, які задовольняють заданому рівню підтримки і достовірності.
При цьому для скорочення простору пошуку асоціативних правил використовується властивість апріорності. Воно затверджує, що якщо науковий набір Z не є частим, то додавання будь - якого нового предмету А до набору Z не робить його таким. Іншими словами, якщо набір Z не є частим, то і Z + A - теж.
2.2 Властивість анти-монотонності
Виявлення наборів елементів, що часто зустрічаються, - операція, що вимагає багато обчислювальних ресурсів і, відповідно, часу. Примітивний підхід до рішення даної задачі - простий перебір всіх можливих наборів елементів. Це потребує O(2|I|) операцій, де |I| - кількість елементів. Apriori використовує одну з властивостей підтримки, що свідчить: підтримка будь-якого набору елементів не може перевищувати мінімальної підтримки будь-якої з його підмножин. Наприклад, підтримка 3-елементного набору {Хліб, Масло, Молоко} буде завжди менше або рівно підтримці 2-елементних наборів {Хліб, Масло}, {Хліб, Молоко}{Масло, Молоко}. Річ у тому, що будь-яка транзакція, що містить {Хліб, Масло, Молоко}, також повинна містити {Хліб, Масло}, {Хліб, Молоко}, {Масло, Молоко}, причому зворотне не вірно.
Ця властивість носить назву анти-монотонності і служить для зниження розмірності простору пошуку. Не май ми в наявності такої властивості, знаходження багатоелементних наборів було б практично нездійсненною задачею у зв'язку з експоненціальним зростанням обчислень.
Властивості анти-монотонності можна дати і інше формулювання: із зростанням розміру набору елементів підтримка зменшується, або залишається такою ж. Зі всього, що було сказано раніше витікає, що будь-який k-елементний набір буде часто зустрічатися тоді і тільки тоді, коли всі його (k-1)-елементні підмножини будуть часто зустрічатись. Всі можливі набори елементів з I можна представити у вигляді грат, що починаються з порожньої множини, потім на 1 рівні 1-елементні набори, на 2-м - 2-елементні і т.д. На k рівні представлені k-елементні набори, пов'язані зі всіма своїми (k - 1) - елементними підмножинами.
Розглянемо малюнок, ілюструючи набір елементів I - {А, B, З, D}. Припустимо, що набір з елементів {А, B} має підтримку нижче заданого порогу і, відповідно, не є тим, що часто зустрічається. Тоді, згідно властивості анти-монотонності, всі його супермножини також не є тими, що часто зустрічаються і відкидаються. Вся ця гілка, починаючи з {А, B}, виділена фоном. Використовування цієї евристики дозволяє істотно скоротити простір пошуку.
Рисунок 2.1 - Набір елементів I
2.3 Алгоритм Apriori
Для того, щоб було можливе застосувати алгоритм, необхідно провести предобработку даних: по-перше, привести всі дані до бінарного вигляду; по-друге, змінити структуру даних[9]. Вигляд транзакційної бази даних представлен в таблиці 2.1 і таблиці 2.2.
Таблиця 2.1 - Звичайний вигляд
Номер транзакції |
Назва елемента |
Кількість |
|
1001 |
А |
2 |
|
1001 |
D |
3 |
|
1001 |
E |
1 |
|
1002 |
А |
2 |
|
1002 |
F |
1 |
|
1003 |
B |
2 |
|
1003 |
A |
2 |
|
1003 |
C |
2 |
|
… |
… |
… |
Таблиця 2.2 -Нормалізований вигляд
TID |
A |
B |
C |
D |
E |
F |
G |
H |
I |
K |
… |
|
1001 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
… |
|
1002 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
… |
|
1003 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
… |
|
Кількість стовпців в таблиці рівно кількості елементів, присутніх в безлічі транзакцій D. Кожний запис відповідає транзакції, де у відповідному стовпці стоїть 1, якщо елемент присутній в транзакції, і 0 в осоружному випадку. Помітимо, що початковий вид таблиці може бути відмінним від приведеного в таблиці 2.1. Головне, щоб дані були перетворені до нормалізованого вигляду, інакше алгоритм не застосовний. Крім того, всі елементи повинні бути впорядкований в алфавітному порядку (якщо це числа, вони повинні бути впорядкований в числовому порядку).
На першому кроці алгоритму підраховуються 1-елементні набори, що часто зустрічаються. Для цього необхідно пройтися по всьому набору даних і підрахувати для них підтримку, тобто скільки разів зустрічається в базі.
Наступні кроки складатимуться з двох частин: генерації наборів елементів (їх називають кандидатами) і підрахунку підтримки, що потенційно часто зустрічаються, для кандидатів[4].
Описаний вище алгоритм можна записати у вигляді наступного псевдокоду:
F1 = {1-елементні набори, що часто зустрічаються}
для (k=2; Fk-1<>; k++) {
Ck = Apriorigen (Fk-1) // генерація кандидатів
для всіх транзакцій t T {
Ct = subset(Ck, t)// видалення надмірних правил
для всіх кандидатів с Ct
c.count ++
}
Fk = {с Ck | c.count>= minsupport} // відбір кандидатів
}
Результат Fk
Опишемо функцію генерації кандидатів. На цей раз немає ніякої необхідності знов звертатися до бази даних. Для того, щоб отримати k-елементні набори, скористаємося (k-1)-елементними наборами, які були визначені на попередньому кроці і є тими, що часто зустрічаються.
Пригадаємо, що наш початковий набір зберігається у впорядкованому вигляді.
Генерація кандидатів також складатиметься з двох кроків.
Крок 1. Об'єднання. Кожний кандидат Cк формуватиметься шляхом
розширення набору розміру (k-1), що часто зустрічається, додаванням елемента з іншого (k-1)-елементного набору.
Приведемо алгоритм цієї функції Apriorigen у вигляді невеликого SQL -подібного запиту.
insertintoCk
select p.item1, p.item2 ., p.itemk-1, q.itemk-1
From Fk-1 p, Fk-1 q
where p.item1= q.item1, p.item2 = q.item2 ., p.itemk-2 = q.itemk-2, p.itemk-1 < q.itemk-1
Крок 2. Видалення надмірних правил. На підставі властивості анти-монотонності, слід видалити всі набори с Ck якщо хоча б одна з його (k-1) підмножин не є тим, що часто зустрічається.
Після генерації кандидатів наступною задачею є підрахунок підтримки для кожного кандидата. Очевидно, що кількість кандидатів може бути дуже великою і потрібен ефективний спосіб підрахунку. Найтривіальніший спосіб - порівняти кожну транзакцію з кожним кандидатом. Але це далеко не краще рішення. Набагато швидше і ефективно використовувати підхід, заснований на зберіганні кандидатів в хеш-дереві. Внутрішні вузли дерева містять хеш-таблиці з покажчиками на нащадків, а листя - на кандидатів. Це дерево нам стане в нагоді для швидкого підрахунку підтримки для кандидатів.
Хеш-дерево будується кожного разу, коли формуються кандидати. Спочатку дерево складається тільки з кореня, який є листом, і не містить ніяких кандидатів - наборів. Кожного разу коли формується новий кандидат, він заноситься в корінь дерева і так до тих пір, поки кількість кандидатів в корені - листі не перевищить якогось порогу. Як тільки кількість кандидатів стає більше порогу, корінь перетвориться в хеш-таблицю, тобто стає внутрішнім вузлом, і для нього створюються нащадки - листя. І всі приклади розподіляються по вузлах - нащадкам згідно з хеш-значеннями елементів, що входять в набір, і т.п. Кожний новий кандидат хеширується на внутрішніх вузлах, поки він не досягне першого вузла-листа, де він і зберігатиметься, поки кількість наборів знову ж таки не перевищить порогу.
Хеш-дерево з кандидатами-наборами побудовано, зараз, використовуючи хеш-дерево, легко підрахувати підтримку для кожного кандидата. Для цього потрібно "пропустити" кожну транзакцію через дерево і збільшити лічильники для тих кандидатів, чиї елементи також містяться і в транзакції, тобто CkTi = Ck. На кореневому рівні хеш-функція застосовується до кожного елемента з транзакції. Далі, на другому рівні, хеш-функція застосовується до других елементів і т.д. На k-рівніхешируєтьсяk-елемент. І так до тих пір, поки не досягнемо листа. Якщо кандидат, що зберігається в листі, є підмножиною даної транзакції, тоді збільшуємо лічильник підтримки цього кандидата на одиницю.
Після того, як кожна транзакція з початкового набору даних "пропущена" через дерево, можна перевірити чи задовольняють значення підтримки кандидатів мінімальному порогу. Кандидати, для яких ця умова виконується, переносяться в розряд часто зустрічаємих. Крім того, слід запам'ятати і підтримку набору, вона нам стане в нагоді при витяганні правил. Ці ж дії застосовуються для знаходження (k+1)-елементних наборів і т.д.
Після того, як знайдені всі часто зустрічаємі набори елементів можна приступити безпосередньо до генерації правил.
Витягання правил - менш трудомістка задача. По-перше, для підрахунку достовірності правила достатньо знати підтримку самого набору і множини, що лежить в умові правила. Наприклад, є набір {А, B, С}, що часто зустрічається, і потрібно підрахувати достовірність для правила ABС. Підтримка самого набору нам відома, але і його множина {А, B}, що лежить в умові правила, також часто зустрічається через властивість анти-монотонності, і значить, його підтримка нам відома. Тоді ми легко зможемо підрахувати достовірність. Це позбавляє нас від небажаного перегляду бази транзакцій, який був б потрібен в тому випадку, якщо б це підтримка була невідома.
Щоб витягнути правило із часто зустрічає мого набору F, слід знайти всі його не порожні підмножини. І для кожної підмножини s ми зможемо сформулювати правило s (F - s), якщо достовірність правила conf(s (F - s)) = supp(F)/supp(s) не менше порогу minconf.
Помітимо, що чисельник залишається постійним. Тоді достовірність має мінімальне значення, якщо знаменник має максимальне значення, а це відбувається у тому випадку, коли в умові правила є набір, що складається з одного елемента. Все супермножина даної множини має меншу або рівну підтримку і, відповідно, більше значення достовірності. Ця властивість може бути використана при витяганні правил. Якщо ми почнемо витягувати правила, розглядаючи спочатку тільки один елемент в умові правила, і це правило має необхідну підтримку, тоді всі правила, де в умові стоїть супермножина цього елемента, також мають значення достовірності вище заданого порогу. Наприклад, якщо правило АBCDE задовольняє мінімальному порогу достовірності minconf, тоді ABCDE також задовольняє. Для того, щоб витягнути всі правила використовується рекурсивна процедура. Важливе зауваження: будь-яке правило, складене з набору, що часто зустрічається, повинне містити всі елементи набору. Наприклад, якщо набір складається з елементів {А, B, С}, то правило АB не повинне розглядатися.
3. DATA MINING ЯК ЧАСТИНА СИСТЕМИ АНАЛІТИЧНОЇ ОБРОБКИ ІНФОРМАЦІЇ
3.1 Сховища даних
Інформаційні системи сучасних підприємств часто організовані так, щоб мінімізувати час введення і коректування даних, тобто організовані не оптимально з погляду проектування бази даних. Такий підхід ускладнює доступ до історичних (архівним) даних. Зміни структур в базах даних інформаційних систем дуже трудомісткі, а іноді просто неможливі.
В той же час, для успішного ведення сучасного бізнесу необхідна актуальна інформація, що надається в зручному для аналізу вигляді і в реальному масштабі часу. Доступність такої інформації дозволяє, як оцінювати поточне положення справ, так і робити прогнози на майбутнє, отже, ухвалювати більш зважені і обґрунтовані рішення. До того ж, основою для ухвалення рішень повинні бути реальні дані.
Якщо дані зберігаються в базах даних різних інформаційних систем підприємства, при їх аналізі виникає ряд складнощів, зокрема, значно зростає час, необхідний для обробки запитів; можуть виникати проблеми з підтримкою різних форматів даних, а також з їх кодуванням; неможливість аналізу тривалих рядів ретроспективних даних і т.д.
Ця проблема розв'язується шляхом створення сховища даних. Задачею такого сховища є інтеграція, актуалізація і узгодження оперативних даних з різнорідних джерел для формування єдиного несуперечливого погляду на об'єкт управління в цілому. На основі сховищ даних можливо складання всілякої звітності, а також проведення оперативної аналітичної обробки і DataMining.
Тоді загальна схема інформаційного сховища буде виглядати наступнім чином:
Рисунок 3.1 - Структура інформаційної системи
БілІнмон (BillInmon) визначає сховища даних як "наочно орієнтовані, інтегровані, немінливі, підтримуючі хронологію набори даних, організовані з метою підтримки управління" і покликані виступати в ролі "єдиного і єдиного джерела істини", яке забезпечує менеджерів і аналітиків достовірною інформацією, необхідною для оперативного аналізу і ухвалення рішень[3].
Наочна орієнтаціясховища даних означає, що дані з'єднані в категорії і зберігаються відповідно областям, які вони описують, а не застосуванням, що їх використовують.
Інтегрованістьозначає, що дані задовольняють вимогам всього підприємства, а не однієї функції бізнесу. Цим сховище даних гарантує, що однакові звіти, що згенерували для різних аналітиків, міститимуть однакові результати.
Прив'язка до часу означає, що сховище можна розглядати як сукупність "історичних даних": можливо відновлення даних на будь-який момент часу. Атрибут часу явно присутній в структурах сховища даних.
Незмінністьозначає, що, потрапивши один раз в сховищі, дані там зберігаються і не змінюються. Дані в сховищі можуть лише додаватися.
Річард Хакаторн, інший основоположник цієї концепції, писав, що мета Сховищ Даних - забезпечити для організації "єдиний образ існуючої реальності"[3].
Іншими словами, сховище даних є своєрідним накопичувачем інформації про діяльність підприємства.
Дані в сховищі представлені у вигляді багатовимірних структур під назвою "зірка" або "сніжинка".
3.2 Організація інформаційного сховища в реалізації бази даних. Схеми зірка та сніжинка
Схема типу зірки (StarSchema) - схема реляційної бази даних, що служить для підтримки багатовимірного представлення даних, які в ній зберігаються.
Особливості ROLAP-схеми типу "зірка":
а) одна таблиця фактів (facttable), яка сильно денормалізована. Є центральною в схемі, може складатися з мільйонів рядків і містить підсумовувані або фактичні дані, за допомогою яких можна відповісти на різні питання;
б) декілька денормалізованих таблиць вимірювань (dimensionaltable). Мають меншу кількість рядків, ніж таблиці фактів, і містять описову інформацію. Ці таблиці дозволяють користувачу швидко переходити від таблиці фактів до додаткової інформації;
в) таблиця фактів і таблиці розмірності зв'язані ідентифікуючими зв'язками, при цьому первинні ключі таблиці розмірності мігрують в таблицю фактів як зовнішні ключі. Первинний ключ таблиці факту цілком складається з первинних ключів всіх таблиць розмірності;
ґ) агреговані дані зберігаються спільно з початковими.
Рисунок 3.2 - Схема «зірка»
Схема типу сніжинки (SnowflakeSchema) - схема реляційної бази даних, яка служить для підтримки багатовимірного представлення даних,що в ній знаходяться, є різновидом схеми типу "зірка" (StarSchema).
Особливості ROLAP-схеми типу "сніжинка":
а) одна таблиця фактів (facttable), яка сильно денормалізована. Є центральною в схемі, може складатися з мільйонів рядків і містити підсумовувані або фактичні дані, за допомогою яких можна відповісти на різні питання;
б) декілька таблиць вимірювань (dimensionaltable), які нормалізовані на відміну від схеми "зірка". Мають меншу кількість рядків, ніж таблиці фактів, і містять описову інформацію. Ці таблиці дозволяють користувачу швидко переходити від таблиці фактів до додаткової інформації. Первинні ключі в них складаються з єдиного атрибута (відповідають єдиному елементу вимірювання);
в) таблиця фактів і таблиці розмірності зв'язані ідентифікуючими зв'язками, при цьому первинні ключі таблиці розмірності мігрують в таблицю фактів як зовнішні ключі. Первинний ключ таблиці факту цілком складається з первинних ключів всіх таблиць розмірності;
ґ) в схемі "сніжинка" агреговані дані можуть зберігатися окремо від початкових.
Рисунок 3.3 - Схема «сніжинка»
3.3 OLAP-системи
В основі концепції OLAP, або оперативної аналітичної обробки даних (On-Line AnalyticalProcessing), лежить багатовимірне концептуальне представлення даних (Multidimensionalconceptualview).
Термін OLAP введений Коддом (E. F. Codd) в 1993 році. Головна ідея даної системи полягає в побудові багатовимірних таблиць, які можуть бути доступний для запитів користувачів. Ці багатовимірні таблиці або так звані багатовимірні куби будуються на основі початкових і агрегованих даних. І початкові, і агреговані дані для багатовимірних таблиць можуть зберігатися як в реляційних, так і в багатовимірних базах даних. Взаємодіючи з OLAP-системою, користувач може здійснювати гнучкий перегляд інформації, одержувати різні зрізи даних, виконувати аналітичні операції деталізації, згортки, крізного розподілу, порівняння в часі. Вся робота з OLAP-системою відбувається в термінах наочної області[3].
Існує три способи зберігання даних в OLAP-системах або три архітектура OLAP - серверів:
MOLAP (Multidimensional OLAP);
ROLAP (Relational OLAP);
HOLAP (Hybrid OLAP).
Таким чином, згідно цієї класифікації OLAP-продукти можуть бути представлений трьома класами систем:
у разі MOLAP, початкові і багатовимірні дані зберігаються в багатовимірній БД або в багатовимірному локальному кубі;
в ROLAP-продуктах початкові дані зберігаються в реляційних БД або в плоских локальних таблицях на файл-сервері. Агрегатні дані можуть поміщатися в службові таблиці в тій же БД;
у разі використовування гібридної архітектури, тобто в HOLAP-продуктах, початкові дані залишаються в реляційній базі, а агрегати розміщуються в багатовимірній.
Логічним уявленням є багатовимірний куб -- це набір зв'язаних заходів і вимірювань, які використовуються для аналізу даних[3].
OLAP-куб підтримує всі багатовимірні операції: довільне розміщення вимірювань і фактів, фільтрація, сортування, угрупування, різні способи агрегації і деталізації. Дані відображаються у вигляді крос-таблиць і крос-діаграм, всі операції відбуваються "на льоту", методи маніпулювання інтуїтивно зрозумілі.
OLAP-куб - могутній інструмент дослідження, що дозволяє проводити розвідувальний і порівняльний аналіз, виявляти тенденції, знаходити сезонність і тренд, визначати кращі і гірші товарні позиції, розраховувати їх частки у продажі.
3.4 Інтеграція OLAP і DataMining
Обидві технології можна розглядати як складові частини процесу підтримки ухвалення рішень. Проте ці технології як би рухаються у різних напрямах: OLAP зосереджує увагу виключно на забезпеченні доступу до багатовимірних даних, а методи DataMining в більшості випадків працюють з плоскими одновимірними таблицями і реляційними даними.
Інтеграція технологій OLAP і DataMining "збагатила" функціональність і однієї, і іншої технології. Ці два види аналізу повинні бути тісно з'єднано, щоб інтегрована технологія могла забезпечувати одночасно багатовимірний доступ і пошук закономірностей.
Засіб багатовимірного інтелектуального аналізу даних повинен знаходити закономірності як в тих, що деталізуються, так і в агрегованих з різним ступенем узагальнення даних. Аналіз багатовимірних даних повинен будуватися над гіперкубом спеціального вигляду, вічка якого містять не довільні чисельні значення (кількість подій, об'єм продажів, сума зібраних податків), а числа, що визначають вірогідність відповідного поєднання значень атрибутів. Проекції такого гіперкуба (що виключають з розгляду окремі вимірювання) також повинні досліджуватися на предмет пошуку закономірностей. J. Han пропонує ще більш просту назву - "OLAP Mining" і висуває декілька варіантів інтеграції двох технологій[3]:
а) "Cubingthenmining". Можливість виконання інтелектуального аналізу повинна забезпечуватися над будь-яким результатом запиту до багатовимірного концептуального уявлення, тобто над будь - яким фрагментом будь - якої проекції гіперкуба показників;
б) "Miningthencubing". Подібно даним, витягнутим з сховища, результати інтелектуального аналізу повинні представлятися в гіперкубічній формі для подальшого багатовимірного аналізу;
в) "Cubingwhilemining". Цей гнучкий спосіб інтеграції дозволяє автоматично активізувати однотипні механізми інтелектуальної обробки над результатом кожного кроку багатовимірного аналізу (переходу між рівнями узагальнення, витягання нового фрагмента гіперкуба і т.д.).
На сьогоднішній день небагато виробників реалізують DataMining для багатовимірних даних. Крім того, деякі методи DataMining, наприклад, метод найближчих сусідів або байєсівськая класифікація, через їх нездатність працювати з агрегованими даними незастосовні до багатовимірних даних.
4. СТРУКТУРА ІНФОРМАЦІЙНОГО СХОВИЩА ДЛЯ ІНТЕЛЕКТУАЛЬНОГО АНАЛІЗУ
4.1 Характеристика джерела даних для інформаційного сховища
У даній роботі за основу була узята БД-зразок Microsoft - Adventure Works[18]. Проект Adventure Works описує роботу виробника велосипедів - компанії "Adventure Works Cycles". Компанія займається виробництвом і реалізацією велосипедів з металевих і композиційних матеріалів на території Північної Америки, Європи і Азії. Головне виробництво, яке має в своєму розпорядженні 500 співробітників, знаходиться в місті Bothell, штат Вашингтон. Декілька регіональних офісів знаходяться безпосередньо на території ринків збуту.
Компанія реалізує продукцію оптом для спеціалізованих магазинів і на роздріб через Інтернет. Для вирішення демонстраційних завдань ми використовуватимемо в базі AdventureWorks дані об інтернет продажах, оскільки вони містять дані, які добре підходять для аналізу.
На рисунку 4.1 представлена транзакційна бази даних AdventureWorks, відділу продаж, яка містить наступні таблиці:
таблиця SalesTaxRate - в якій містяться податкові ставки, вживані в областях або країнах і регіонах, в яких компанія Adventure Works Cycles здійснює ділову активність;
таблиця ShoppingCartItem - містить замовлення клієнтів через інтернет до моменту виконання або відміни;
таблиця SpecialOfferProduct - в якій приведені знижки на різні види (найменування) продукції;
таблиця SpecialOffer - в якій містяться знижки на продаж;
таблиця CountryRegionCurrency - зіставляє коди валют по стандартах Міжнародної організації по стандартизації (ISO) і коди країн або регіонів;
таблиця Currency - містить описи валют по стандартах Міжнародної організації стандартизації (ISO);
таблиця SalesTerritoryHistory - у таблиці відстежуються переміщення комерційних представників в інші комерційні території;
таблиця SalesTerritory - в якій містяться території продажів, які обслуговуються групами продажів AdventureWorksCycles;
таблиця SalesPersonQuotaHistory - містить зведення по історії продажів для комерційних представників;
таблиця Store - містить список замовників, торгівельних посередників, що купують продукти в Adventure Works;
таблиця CurrencyRate - містить курси обміну валюти;
таблиця SalesPerson - містить поточні відомості про продажі для комерційних представників;
таблиця SalesOrderDetail - містить окремі продукти, пов'язані з певним замовленням на продаж. Замовлення на продаж може містити замовлення на декілька продуктів;
таблиця SalesOrderHeader - містить відомості про загальне або батьківське замовлення на продаж;
таблиця Customer - містить поточні відомості про замовника. Клієнти розбиті на категорії по типах -- приватний споживач або магазин роздрібної торгівлі;
таблиця StoreContact - в якій зіставляються магазини і їх службовці, з якими безпосередньо співробітничають торгівельні представники компанії Adventure Works Cycles;
таблиця SalesReason - в якій містяться можливі причини придбання клієнтом певного продукту;
таблиця SalesOrderHeaderSalesReason - в якій замовлення на продаж зіставляються з кодами причин продажів;
таблиця CustomerAddress - зіставляє замовників з їх адресами. Наприклад, замовник може мати різні адреси для виставляння рахунків і доставки.
4.2 Структура інформаційного сховища
Для подальшого інтелектуального аналізу було розроблено структуру інформаційного сховища на базі схеми «сніжинка». На рисунку приведена логічна схема інформаційного сховища.
Рисунок 4.2 - Сховище даних
На цій схемі таблиці вимірювань містять інформацію про покупців (DimCustomer), про товари (DimProduct), про місце продаж (DimSalesTerritory), про час продаж (DimTime); консольні таблиці: під категорія товарів (DimProductSubcatecory), категорія товарів (DimProductCategory), узагальнене місце продажів (DimGeography) і таблиця фактів FactInternetSales містіть ключі для зв'язків с таблицямі вимірювань (ProductKey, OrderDateKey, DueDateKey,ShipDateKey, CustomerKey, SalesTerritoryKey), а також самі дані для подальшого аналізу (SalesOrderNumber, SalesOrderLineNumber, OrderQuantity, ExtendedAmount).
4.4 В`ювері для структури інтелектуального аналізу по алгоритму асоціативних правил
Для полегшення аналізу створюються 2 в`ювераvAssocSeqLineItems і vAssocSeqOrders.
Рисунок 4.4 - SQL- на створення vAssocSeqLineItems
Рисунок 4.5 - на створення vAssocSeqOrders
Ці вьюверисоздаються на підставі вьювераvDMPrep, який у свою чергу був створений з таблиць сховища AdventureWorks.
Рисунок 4.6 - на створення vDMPrep
5. РЕАЛІЗАЦІЯ МОДЕЛІ ІНТЕЛЕКТУАЛЬНОГО АНАЛІЗУ В СЕРЕДОВИЩІ MS SQL SERVER 2005
5.1 Принцип роботи з моделлю інтелектуального аналізу по алгоритму асоціативних правил
Для інтелектуального аналізу даних в службах Microsoft SQL Server 2005 AnalysisServices використовується два основні об'єкти:
структура інтелектуального аналізу даних;
модель інтелектуального аналізу даних.
Останніми об'єктами, що беруть участь в інтелектуальному аналізі даних, є стовпці структури інтелектуального аналізу і стовпці моделі інтелектуального аналізу.
Процес роботи з моделями інтелектуального аналізу полягає в наступному:
а) створення структури інтелектуального аналізу даних;
б) додання моделі;
в) завдання параметрів моделі;
ґ) перегляд моделі;
д) прогнозування моделі.
Структура інтелектуального аналізу -- це структура даних, що визначає домен даних, на основі якого будуються моделі інтелектуального аналізу. Одна структура інтелектуального аналізу може містити декілька моделей інтелектуального аналізу даних, що спільно використовують один домен.
Будівельними блоками структури інтелектуального аналізу є стовпці, які описують дані, що містяться в джерелі даних. Ці стовпці містять такі відомості, як тип даних, тип вмісту і способи розподілу даних.
Структура інтелектуального аналізу також може містити певні вкладені таблиці. Вкладена таблиця представляє зв'язок «один до багатьом» між об'єктом варіанту і пов'язаними з ним атрибутами. Наприклад, якщо відомості, що описують клієнта, знаходяться в одній таблиці, а покупки цього клієнта знаходяться в іншій таблиці, то можна використовувати вкладені таблиці для комбінування відомостей в єдиний варіант. Ідентифікатором клієнта є об'єкт, а покупки -- пов'язані з ним атрибути.
Модель інтелектуального аналізу даних застосовує алгоритм інтелектуального аналізу до даних, представлених структурою інтелектуального аналізу даних. Модель інтелектуального аналізу даних, як і структура інтелектуального аналізу, містить стовпці. Модель інтелектуального аналізу міститься в структурі інтелектуального аналізу і успадковує всі значення властивостей, визначених цією структурою. Модель може використовувати всі стовпці, що містяться в структурі інтелектуального аналізу даних, або підмножини цих стовпців.
На додаток до параметрів, визначених в структурі інтелектуального аналізу, модель інтелектуального аналізу містить дві властивості: Algorithm і Usage. Параметр algorithm визначений в моделі інтелектуального аналізу, а параметр usage визначений в стовпці моделі інтелектуального аналізу. Опис цих параметрів приводиться нижче:
«Algorithm». Властивість моделі, що визначає алгоритм, використовуваний для створення моделі. У нашому випадку це алгоритм асоціативних правил.
«Usage». Властивість стовпця моделі, що визначає те, як стовпець використовується моделлю. Можна визначити стовпці як стовпці введення, ключові стовпці або прогнозовані стовпці.
Модель інтелектуального аналізу даних до обробки є просто порожнім об'єктом. При обробці моделі дані, визначені структурою, обробляються алгоритмом. Алгоритм ідентифікує правила і закономірності в даних, а потім використовує ці правила і закономірності для заповнення моделі.
Можна створювати декілька моделей, заснованих на одній і тій же структурі. Всі моделі, побудовані на основі однієї і тієї ж структури, мають бути засновані на одному і тому ж джерелі даних. Проте моделі можуть розрізнятися по стовпцях структури, способах їх використання, типові алгоритму для створення кожної моделі і параметрах для кожного алгоритму.
Для кожного алгоритму є свій набір параметрів моделі, які не обходжений визначити. Для моделі «Споживчої корзини» це:
максимальний/мінімальний розмір (max/minitemsetsize)- кількість товару в корзині;
максимальна/мінімальна підтримка (max/minsupport) - кількість спостережень - покупок;
мінімальна значущість (minimportance)- поріг, нижче якого не має сенсу проводити аналіз;
мінімальна вірогідність (minprobability)- вірогідність попадання товару в корзину.
Після обробки моделі її можна проглянути за допомогою призначених для користувача засобів перегляду, що надаються в середовищах BusinessIntelligenceDevelopmentStudio і SQL Server ManagementStudio або шляхом передачі запитів моделі для виконання прогнозів.
Служби Microsoft SQL Server 2005 AnalysisServices дозволяють використовувати прогнозуючий запит на мові розширень інтелектуального аналізу даних DataMiningExtensions (DMX) для прогнозування невідомих значень стовпців в новому наборі даних на основі результатів моделі інтелектуального аналізу даних.
5.2 Реалізація моделі за допомогою мови DMX
DataMiningExtensions (DMX) є мовою, яку ви можете використовувати, щоб створити і, працювати з dataminingmodelsin Microsoft SQL Server 2005 AnalysisServices (SSAS). Ви можете використовувати DMX, щоб створити структуру нового dataminingmodels, щоб тренувати ці моделі, і для перегляду, управління, і прогнозу.
Структура інтелектуального аналізу даних -- це структура даних, яка визначає наочну область, на основі якої будується модель інтелектуального аналізу даних. Одна структура інтелектуального аналізу може містити декілька моделей інтелектуального аналізу даних, спільно використовуючи один домен. Модель інтелектуального аналізу даних застосовує алгоритм інтелектуального аналізу до даних, представлених структурою інтелектуального аналізу даних.
Крок 1. Для створення структури інтелектуального аналізу, що містить вкладені таблиці, використовується інструкція CREATE MINING STRUCTURE (розширення інтелектуального аналізу даних). Код інструкції можна розбити на наступні частини:
привласнення структурі імені;
визначення ключового стовпця;
визначення стовпців інтелектуального аналізу даних;
визначення стовпців вкладених таблиць.
На рисунку показана інструкція DMX на створення структури «MarketBasket»
Рисунок 5.1 - Створення структури
Рисунок 5.2 - Структура інтелектуального аналізу
Крок 2. На наступному етапі необхідно додати нову модель інтелектуального аналізу до структури інтелектуального аналізу «Споживацька корзина», заснованої на алгоритмі взаємозв'язків Microsoft, і змінити значення за умовчанням для параметра MINIMUM_PROBABILTY на 0.2. Зміна цього параметра приведе до створення більшої кількості правил алгоритмом взаємозв'язків Microsoft.
Інструкція ALTER MINING STRUCTURE (розширення інтелектуального аналізу даних) використовується для додавання до структури інтелектуального аналізу моделі інтелектуального аналізу, що містить вкладену таблицю. Код інструкції можна розбити таким чином:
визначення структури інтелектуального аналізу даних;
вказівка імені моделі інтелектуального аналізу;
визначення ключового стовпця;
визначення стовпців початкових даних і прогнозованих стовпців;
визначення стовпців вкладених таблиць;
ідентифікація алгоритму і змін параметра.
На рисунку показана інструкція DMX на додання моделі «ModifiedAssocation» до структури «MarketBasket»:
Рисунок 5.3 - Додання моделі до структури
Крок 3. На цьому занятті за допомогою інструкції INSERT INTO (розширення інтелектуального аналізу даних) і представлень vAssocSeqLineItems і vAssocSeqOrders із зразка бази даних AdventureWorksDW обробляються структури і моделі інтелектуального аналізу даних, створені Крок 1. Створення структури інтелектуального аналізу «Споживацька корзина» і Крок 2. Додавання моделей інтелектуального аналізу до структури інтелектуального аналізу «Споживацька корзина».
Код інструкції можна розбити на наступні частини:
визначення структури інтелектуального аналізу даних;
список стовпців структури інтелектуального аналізу даних;
визначення повчальних даних за допомогою інструкції SHAPE.
На рисунку показана інструкція DMX на обробку структури і моделі:
Рисунок 5.4 - Обробка структури і моделі
Після перевантаження модель підключається в BisenessIntelligence і виглядає таким чином:
Рисунок 5.5 - Модель інтелектуального аналізу
Крок 4. На цьому етапі буде створено прогноз, заснований на моделі інтелектуального аналізу даних, якій був доданий в структуру «Споживацька корзина».
На рисунку показаний приклад інструкції прогнозування, у якій задана кількість та перелік товарів, що знаходяться в корзині (MountainBottleCage, MountainTireTube, Mountain-2000) і здійснюється прогнозування товарів, що може бути придбана разом з ними.
Рисунок 5.6 - Створення прогнозу
Результат візуалізації моделі має 2 вигляду: аналітичний (рисунок 5.7), «дерево» (рисунок 5.8).
Розглядаючи аналітичний вигляд, ми можемо визначити вірогідність попадання товару в корзину, якщо там вже є який-небудь товар.
Наприклад: при покупці товару TouringTireTube з вірогідністю 54,3% буде куплений товар TouringTire. А при покупці Touring-1000 і TouringTireTube, товар TouringTire буде преобретен з вірогідністю 100%.
Рисунок 5.7 - Аналітичний вигляд
При візуалізації моделі в вигляді «дерево» ми можемо проглянути взаємозв'язок товарів при покупці.
Наприклад при покупці Mountain-500 буде куплений Sport-100. В зворотну сторону цей вислів не вірний.
Рисунок 5.8 - Вигляд «дерево»
6. РЕАЛІЗАЦИЯ ІНТЕРФЕЙСУ КОРИСТУВАЧА ДЛЯ РОБОТИ З МОДЕЛЛЮ І ЙОГО ВЕРИФІКАЦІЯ
Програмний продукт є простим у використанні, тому з ним легко може працювати навіть малокваліфікований користувач. Для повноцінної роботи програми необхідно встановити на робочому комп'ютері платформу VisualStudio 2005 та MS SQL Server 2005.
Для безпосереднього початку роботи із програмою необхідно запустити додаток «AdventureWorksIn». При запуску з'явиться головна форма програми:
Рисунок 6.1 - Головна екрана форма
Крок 1. Після натискання кнопки «Работа с данными» відкривається вікно, в якому можливо проглянути інформацію про наявні замовлення:
Рисунок 6.2 - Вікно замовлень
або створити нове замовлення:
Рисунок 6.3 - Вікно нового замовлення
Крок 2. Після натискання кнопки «Созданиемодели» відкривається вікно, в якому необхідно ввести назву нової структури, нової моделі і 2 параметри («Минимальнаявероятность» та «Минимальнаяподдержка»), останні параметри стоять за умовчанням:
Рисунок 6.4 - Створення моделі
Потім натиснути кнопку «Сохранитьпараметры», після чого у базі будить створена модель з необхідними параметрами.
Крок 3. Для того щоб вибрати необхідний нам товар, треба натиснути кнопку «Прогнозирование». У вікні, що з'явилося, вибираємо 3 товари, які нам потрібні і вводимо назву моделі. Потім натискаємо кнопку «Сохранитьпараметры».
...Подобные документы
Сутність та значення алгоритму пошуку асоціативних правил, задачі та сфера використання. Приклад розрахунку показників транзакцій в супермаркеті. Особливості видозміни асоціативних правил. Ознайомлення з аналітичною платформою Deductor, її робота.
лабораторная работа [1,3 M], добавлен 19.03.2011Структури даних як способи їх організації в комп'ютерах. Підтримка базових структури даних в програмуванні. Дерево як одна з найпоширеніших структур даних. Бінарні дерева на базі масиву. Створення списку - набору елементів, розташованих у певному порядку.
контрольная работа [614,7 K], добавлен 18.02.2011Поняття та переваги реляційної бази, автоматизація аналізу даних. Опис основних компонентів сховища даних AS/400. Процес перетворення оперативних даних в інформаційні. Багатовимірні бази даних (MDD). Опис даних і створення файлів в інтеграційних базах.
реферат [36,8 K], добавлен 14.01.2012Етапи проектування баз даних. Декларація вимог до проектованої системи баз даних, до інформаційного, математичного, програмного, технічного, організаційного забезпечення. Опис заходів, необхідних для контролю даних у базі даних, їх резервного копіювання.
курсовая работа [65,1 K], добавлен 09.12.2012Теорія складання та використання розкладів. Проектування бази даних "Расписание", що містить інформацію про вільні аудиторії, в Microsoft Office Access з подальшим її використанням в середовищі програмування Borland Delphi та розробка програми до неї.
курсовая работа [1,2 M], добавлен 05.04.2012Проблема розробки інтелектуального агента. Вибір і обґрунтування аналогу. Реалізація програмної системи збору та аналізу статистичних даних про контакти користувача. Створення файлів, встановлення додатків Android (APK) з файлів скриптів на мові Python.
дипломная работа [2,7 M], добавлен 05.10.2012Основні дії з файлами, які використовують програми. Диски і файли. Особливості використання даних, збережених на диску. Дискова фізична модель бази даних. Управління дисковим простором. Управління буферами даних. Стратегія заміни сторінок у фреймах.
реферат [19,8 K], добавлен 10.08.2011Система управління базами даних, ієрархічна модель даних, її проектування та створення. Інтерфейс Microsoft Access, створення структури таблиці, запитів, форм, звітів, макросів. Аналіз зв'язків між таблицями, що описують поняття проблемного середовища.
курсовая работа [2,7 M], добавлен 10.11.2010Систематизація знань як основна функція бази даних. Логічне та фізичне проектування бази даних. Створення таблиць у базі даних, визначення основних зв'язків. Інструментальні засоби проектування та створення програмного забезпечення для обробки даних.
курсовая работа [1,4 M], добавлен 29.04.2010Аналіз розроблення та програмування обчислювального процесу лінійної структури, налагодження програм. Вивчення правил запису констант, числових і символьних змінних, типів даних. Побудова алгоритму розв’язування завдання та креслення його блок-схеми.
реферат [2,1 M], добавлен 22.04.2012Розробка структури, алгоритму роботи програми, яка забезпечує можливість покупки товарів. Створення списку користувачів та списку продуктів. Розробка структур даних та основних процедур програми. Алгоритм створення платформи під назвою "Сlaude Monet".
курсовая работа [121,3 K], добавлен 14.05.2019Проектування бази даних реєстрації та ведення обліку автомобілів в ДАІ на прикладі київського МРЕВ ДАІ за допомогою SQL Oracle. Опис інформаційної структури ПО з використанням діючих бізнес-правил та визначенням сутностей, їх атрибутів та зв'язків.
курсовая работа [159,3 K], добавлен 05.12.2012Живучість в комплексі властивостей складних систем. Моделі для аналізу живучості. Аналіз електромагнітної сумісності. Характер пошкоджень елементної бази інформаційно-обчислювальних систем. Розробка алгоритму, баз даних та модулів програми, її тестування.
дипломная работа [151,5 K], добавлен 11.03.2012Автоматизований банк даних як специфічна база даних, яка проектується і наповнюється, щоб підтримувати створення рішень в організації. Інструментальні засоби кінцевого користувача для аналізу інформації. Компоненти, що забезпечують виділення даних.
реферат [93,1 K], добавлен 27.07.2009Теоретичні відомості про пакет ІЗВП Borland Delphi та СУБД MS Access, оцінка їх функціональних особливостей. Опис структури бази даних. Проектування інтерфейсу програми, опис її логічної структури та функцій. Контроль коректності вхідних, вихідних даних.
курсовая работа [4,5 M], добавлен 03.01.2014Загальні відомості про протоколи: Інтернету, управління передачею, користувача. Функції та структури, які беруть участь у реалізації алгоритму передачі даних. Виклик та завантаження, розробка структури програми. Вхідні та вихідні данні з сервера.
курсовая работа [1,5 M], добавлен 01.12.2010Процес проектування даних, логічне моделювання і фізичне проектування. Діаграма "сутність-зв'язок" (Entity-Relationship). DDL-скрипт для створення бази даних. Логічна модель та опис, типи ключів. Фізична модель та спосіб розміщення даних на носіях.
контрольная работа [490,4 K], добавлен 25.04.2013Структура інформаційної системи веб-сайту. Узагальнена архітектура кластерної структури. Вимоги до хостингу. Встановлення та налаштування програмного забезпечення. Функція перенаправлення посилань. Система керування базою даних основного кластера.
дипломная работа [871,3 K], добавлен 02.07.2015Аналіз існуючих баз топографічних даних та геоінформаційних ресурсів території. Виконання геоінформаційного аналізу та моделювання ситуацій за допомогою атрибутивних даних. Стан стандартизації створення баз топографічних даних. Збирання статистики.
курсовая работа [4,1 M], добавлен 06.12.2014Порядок та основні принципи створення електронних баз даних за допомогою табличного редактора Мicrosoft Еxcel, його властивості, оцінка можливостей. Робота з записами в базі даних, операції над ними. Методика сортування бази даних в Мicrosoft Еxcel.
курсовая работа [2,8 M], добавлен 07.10.2010