Лабораторна робота 1 Тема: Проектування та створення реляційної бази даних, як джерела даних для сппр icon

Лабораторна робота 1 Тема: Проектування та створення реляційної бази даних, як джерела даних для сппр



НазваниеЛабораторна робота 1 Тема: Проектування та створення реляційної бази даних, як джерела даних для сппр
Дата17.10.2016
Размер
ТипЛабораторна робота

ПРАКТИЧНА ЧАСТИНА

Лабораторна робота 1.1


Тема: Проектування та створення реляційної бази даних, як джерела даних для СППР

Мета: Набуття навичок проектування бази даних, що використовуватиметься як джерело даних для СППР

Питання для повторення:

  1. Основи роботи в середовищі MS SQL Server Management Studio.

  2. Синтаксис команди CREATE DATABASE.

  3. Синтаксис команди CREATE TABLE.

  4. Типи полів таблиці бази даних у TransactSQL.

  5. Унікальний, первинний та зовнішній ключі поля таблиці.

  6. Типи зв’язків між таблицями бази даних.


Рекомендовані джерела інформації:

Полякова Л.Н. Основы SQL. Лекция 3: Создание базы данных и проектирование таблиц – http://www.intuit.ru/department/database/sql/3/ .


Задача: Створити базу даних кредитного відділу банку, яка буде містити інформацію про видачу кредитів клієнтам банку.


^ Хід роботи

  1. Запустіть на виконання середовище MS SQL Server Management Studio Express. За допомогою діалогового вікна Connect to Server підключіться до локального MS SQL Server, встановленого на вашому комп’ютері.

Теоретичні відомості. Програмним середовищем реалізації задачі є MS SQL Server Management Studio Express корпорації Microsoft –програмна оболонка з графічним інтерфейсом, призначена для адміністрування MS SQL Server. На рис. 1.1. представлено діалогове вікно, що виводиться при старті Management Studio. Це вікно призначається для підключення до MS SQL Server (перелік серверів, доступних для підключення, виводиться у полі зі списком Server name). На рис. 1.2. наведено вікно самої програми.



Рис. 1.1. Вікно підключення до серверу



Рис. 1.2. Робоча область MS SQL Server Management Studio Express


  1. Створіть нову базу даних “BankCredit”, в якій буде зберігатися інформація про кредити, надані клієнтам банку.

Вказівки до виконання: Для того, щоб створити нову БД необхідно викликати контекстне меню (права кнопка миші) об’єкту “Databases” та виконати команду “New Database…”.

  1. У створеній БД створіть таблицю CreditsInfo з такими полями: ID (унікальний код клієнта); PIP (клієнт); CreditSum (сума кредиту); CreditCosts (вартість кредиту); CreditTime (термін, на який видано кредит, місяців); CreditDate (дата видачі кредиту); CreditMeta (мета отримання кредиту – це поле рекомендується зробити типу int, адже тут буде зберігатися код текстового описання мети); LivingPoint (населений пункт, в якому проживає клієнт – для цього поля також буде створено довідникову таблицю). Самостійно виберіть типи полів та поле первинного ключа таблиці

^ Вказівки до виконання: Розкрийте структуру БД (натисніть ) та в контекстному меню папки Table виберіть команду New Table…

  1. Створіть довідникову таблицю MetaList (перелік можливих видів мети кредитування) з такими полями: ID; Name. Аналогічно створіть довідникову таблицю LivingPoints, в якій зберігатиметься перелік населених пунктів.

  2. Організуйте зв’язки між створеними таблицями, рис. 1.3.

  3. Заповніть таблиці даними згідно зразка, файл Bank.xls.




Рис. 1.3. Схема даних БД “Bank”


  1. Створіть представлення, на основі трьох створених таблиць, в якому виводилась б повна інформація про клієнта та кредит (замість кодів мети кредиту та місця проживання виводились б їх повні назви, рис.1.4.).

Теоретичні відомості. Представлення – це звичайний запит на виведення інформації, але на відміну від простих запитів, він зберігається як окремий об’єкт БД (у групі об’єктів Views) і може бути джерелом даних для інших запитів. Для його створення можна скористатися відповідною командою контекстного меню об’єкту Views. Представлення зазвичай створюють з використанням зручного вікна дизайнера, в якому, у випадку необхідності, можна й напряму редагувати SQL код представлення.



Рис. 1.4. Зразок SQL коду представлення у вікні конструктора

  1. Підготуйте до друку та надрукуйте звіт по роботі.
^

Лабораторна робота 1.2


Тема: Базові принципи роботи в аналітичній платформі Deductor Studio

Мета: Набуття навичок роботи в аналітичній платформі Deductor Studio

Питання для повторення:

  1. Інтерфейс системи Deductor Studio.

  2. Архітектура Deductor Studio.

  3. Майстер імпорту.

  4. Майстер обробки даних.

  5. Майстер візуалізації даних.


Рекомендовані джерела інформації:

BaseGroup Labs. Deductor – аналітична платформа – (www.basegroup.ru)


Задача: За допомогою аналітичної платформи Deductor Studio на основі даних ТОВ “Девелопмент”, яке спеціалізується на будівництві та продажу жилих приміщень в Чернівцях, Львові та Хмельницькому зробити аналіз продажу квартир по містах.


^ Хід роботи

  1. Інтерфейс системи Deductor Studio.

Теоретичні відомості. Інтерфейс системи Deductor Studio складається з основних частин: меню, стандартної панелі інструментів, панелі закладок, контекстної панелі (змінюється залежно від активної закладки), робочої області (область візуалізації). На рис. 1.5. наведено вікно самої програми.



Рис. 1.5. Структура вікна Deductor Studio

  1. Закладки системи Deductor Studio. Перехід по закладкам здійснюється за допомогою меню ВИДСценарии, Отчеты, Подключения або з використанням відповідних кнопок:

“Сценарии” – відображає сценарій обробки даних поточного проекту тобто ієрархічну послідовність дій над даними (імпорт, експорт тощо).

“Отчеты” – відображає звіти.

“Подключения” – дозволяє здійснювати швидкий вибір і налаштування нових підключень: баз даних різних типів, бізнес-додатків та сховищ даних.

Усі об’кти в ^ Deductor Studio представлені на відповідних закладках у вигляді ієрархічного списку. За допомогою контекстного меню можна здійснювати маніпуляції над закладками (активація, перейменування, приховування тощо).

  1. Майстри. У Deductor Studio робота ведеться за допомогою майстрів:

    1. Майстер імпорту – дозволяє в інтерактивному покроковому режимі вибрати джерело даних і налаштувати відповідні параметри.

    1. Майстер експорту – дозволяє в інтерактивному покроковому режимі виконати експорт в файли найбільш розповсюджених форматів.

    1. Майстер обробки – дозволяє в інтерактивному покроковому режимі налаштувати всі необхідні етапи обробки даних.

За допомогою майстрів імпорту, експорту та обробки даних можна створити сценарій.

    1. ^ Майстер візуалізації – дозволяє в інтерактивному покроковому режимі вибрати та налаштувати найбільш зручний спосіб представлення даних. Даний майстер налаштовує візуалізатори для конкретного вузла.

Візуалізатором називається представлення набору даних у певному вигляді: табличному, графічному, описовому, наприклад, таблиця, діаграма, гістограма, дерево, OLAP-куб.

    1. ^ Майстер підключень – призначений для створення нового підключення до джерела або модифікації існуючого. Підключення – налагоджене іменоване з'єднання до зовнішньої системи, що дозволяє обмінюватися з нею даними, тобто приймати і передавати далі.

  1. Сценарії.

      1. Сценарій – представляє собою послідовність операцій над даними (імпорт, обробка, експорт тощо), представлену у вигляді ієрархічного дерева. В дереві кожна операція утворює вузол, заголовок якого містить ім’я джерела даних, найменування алгоритму обробки, який застосовується тощо, а також зліва від назви вузла розміщена піктограма, що відповідає типу операції чи типу вибірки даних, рис. 1.6.



Рис. 1.6. Дерево сценаріїв

Сценарій завжди починається з вузла імпорту з певного джерела. Створення нового вузла імпорту здійснюється за допомогою Майстра імпорту.

      1. Запустіть Майстер імпорту.

      2. На першому кроці майстра з доступних підключень виберіть Текстовый файл с разделителями.

      3. На другому кроці майстра вкажіть ім’я файлу для імпорту “ProdagKvartur.txt”.

      4. Усі інші кроки майстра залишіть без змін, але уважно вивчіть їх.

      5. Запустіть Майстер обробки.

      6. На першому кроці майстра виберіть Настройка набора данных.

      7. На другому кроці майстра вкажіть для стовпців назви: “Місяць” – на “Місяць продажу”, “Рік” – на “Рік продажу”, “Кількість.Кімнат” – на “Кількість кімнат”, “Адреса.Квартири” – “Адреса”.

      8. Усі інші кроки майстра залишіть без змін, але уважно вивчіть їх.

      9. Для вузла імпорту викличте з обробку “Фильтрация” та залиште дані, що характеризують продажі за січень по Чернівцям.

      10. Перегляньте отриманий результат.

      11. Запустіть Майстер візуалізації для вузла фільтрації.

      12. Створіть кругову діаграму по стовпцю сума, рис. 1.7.



Рис. 1.7. Налаштування параметрів стовбців діаграми

      1. Додайте легенду, деталізацію, а також налаштуйте відсоткове відображення значень на діаграмі.

      2. Перегляньте отриманий результат. Визначте адресу та кількість кімнат квартири з максимальною ціною продажу в м. Чернівці.

      3. Запустіть Майстер експорту для вузла фільтрації.

      4. На першому кроці майстра з доступних приймачів даних виберіть Экспорт в HTML.

      5. Усі інші кроки майстра залишіть без змін, але уважно вивчіть їх.

      6. Перегляньте HTML-файл в папці проекту.

  1. Продемонструйте результати роботи (створений проект) викладачу.

  2. Підготуйте звіт з екранними копіями дерева сценаріїв та діаграми, а також вкажіть адресу та кількість кімнат квартири з максимальною ціною продажу в м. Чернівці.
^

Лабораторна робота 2


Тема: Створення сховища даних

Мета: Набуття навиків проектування та створення сховища даних

Питання для повторення:

  1. Концепція сховищ даних.

  2. Архітектура сховищ даних.

  3. Проектування структури сховища даних.

  4. Основні поняття багатовимірної моделі даних: факти, міри та атрибути.

  5. Основні схеми багатореляційної моделі даних: «зірка» та «сніжинка».

  6. Налаштування підключень до сховищ даних.


Задача: Спроектувати та створити сховище даних у Deductor Studio на основі СУБД Firebird для обліку видачі кредитів клієнтам банку, використавши дані бази даних банку – BankCredin.mdf (MS SQL Server). 


Хід роботи

  1. Запустіть на виконання Deductor Studio.

  2. Створіть сховище даних (СД) на основі СУБД Firebird за допомогою багатовимірного СД Deductor Warehouse в середовищі Deductor Studio. Для цього:

    1. Відкрийте панель Подключения (меню Вид).

    2. На панелі інструментів закладки “Подключения” натисніть на кнопку (або на дереві джерел даних скористайтесь контекстним меню і виберіть дію «Создать локальное хранилище данных»). В результаті відкриється вікно “Мастер подключений”, в якому необхідно вибрати тип підключення – Deductor Warehouse, рис. 2.1.



Рис. 2.1. Вікно “Мастер подключений” (вибір джерела підключення)

    1. На наступному кроці майстра необхідно вказати параметри бази даних: тип БД – Firebird, ім’я БД – BankVN (слово “Bank” та ініціали Вашого прізвища та імені Тут можна вибрати існуючу базу даних, але такої немає, можна ввести ім’я нової бази даних і система її створить, що ми і робимо в даному випадку); Логін/Пароль: користувач – sysdba, пароль – masterkey (по замовчуванню в БД FireBird існує системний користувач з максимальнимим правами – sysdba та паролем – masterkey); кодування – WIN1252, рис.2.2.



Рис. 2.2. Вікно “Мастер подключений” (заповнення параметрів БД)


Зауваження 1: СД Deductor Warehouse прозоро для користувача проводить всі необхідні операції по підключенню до реляційної СУБД і відбору потрібної інформацій. Системою підтримується робота СД на основі трьох СУБД: Firebird, Microsoft SQL, Oracle. З СД на базі Firebird є можливість локальної роботи.

    1. На наступному кроці майстра виберіть версію СД – Deductor Warehouse 5.

    2. На 5 кроці майстра за допомогою кнопки створіть структуру метаданих.

    3. На наступному кроці необхідно визначити спосіб візуалізації даних – відомості про структуру метаданих.

Зауваження 2: Після закінчення всіх налаштувань в майстрі підключень на вкладці «Подключения» в папці «Хранилища данных» з’явиться новий вузол зі СД. Також, в тій папці, яку Ви вказали на 2-му кроці майстра, з’явиться файл СД з відповідною назвою та розширенням *.gdb. Створене СД поки що не містить в собі даних і в ньому не визначені процеси, міри та факти.

  1. Спроектуйте та створіть структуру СД на основі БД “BankCredit”.

Зауваження 3: Процес проектування структури СД розпочинається з моделювання багатовимірної моделі (схеми) даних, тобто визначається, що в СД буде мірами, фактами та атрибутами. В даному випадку для обліку видачі кредитів застосовується схема "зірка". Вона містить одну таблицю фактів і 4 таблиці мір, які є денормалізованими. Схема «зірка» обліку видачі кредитів наведена на рис. 2.3.



Рис. 2.3. Схема «зірка» обліку видачі кредитів


Зауваження 4: Структура СД створюється за допомогою «Редактора метаданных».

    1. На панелі інструментів закладки “Подключения” натисніть на кнопку “Открыть конструктор”. У результаті відкриється вікно “Редактор метаданных”, в якому необхідно задати структуру метаданих відповідно до наведеної нижче табл. 2.1. Структура СД «BankVM» наведена на рис. 2.4.

^ Таблиця 2.1.

Структура метаданих СД «BankVM»

Метадані

Ім’я

Мітка

Тип даних

Атрибут

Id

Номер

Целый

Атрибут

PIP

Клієнт

Строковый

Факт

CreditSum

СумаКредиту

Целый

Факт

CreditCosts

ВартітсьКредиту

Целый

Вимір

CreditTime

ТермінКредиту

Целый

Вимір

CreditDate

ДатаВидачіКредиту

Дата/Время

Вимір

Meta

МетаКредиту

Строковый

Вимір

Living

НаселенийПункт

Строковый



Рис. 2.4. Вікно “Редактор метаданих” – структура СД «BankVM»


  1. Підготуйте вихідні дані для експорту в сховище даних. Для цього:

    1. Запустіть на виконання середовище MS SQL Server Management Studio Express та підключіть БД “BankCredit”.

    2. Перевірте правильність роботи створеного раніше представлення.

  2. Імпортуйте дані зі створеного в MS SQL Server представлення. Під час імпорту задайте більш інформативні імена полів відповідно до наведеної табл. 2.2. Встановлення параметрів стовпців наведено на рис. 2.5.

^ Таблиця 2.2.

Параметри стовпців

Поле

Ім’я стовпця

Мітка стовпця

Призначення

Тип даних

ID

Id

Номер

Атрибут

Целый

PIP

PIP

Клієнт

Атрибут

Строковый

CreditSum

CreditSum

СумаКредиту

Факт

Целый

CreditCosts

CreditCosts

ВартітсьКредиту

Факт

Целый

CreditTime

CreditTime

ТермінКредиту

Вимір

Целый

CreditDate

CreditDate

ДатаВидачіКредиту

Вимір

Дата/Время

Meta

Meta

МетаКредиту

Вимір

Строковый

Living

Living

НаселенийПункт

Вимір

Строковый



Рис. 2.5. Вікно ”Мастер импорта” (встановлення параметрів стовпців)

  1. Підготуйте до друку та надрукуйте звіт по роботі.
^

Лабораторна робота 3


Тема: Завантаження даних у сховище даних

Мета: Набути навичок завантаження даних у сховище даних


Питання для повторення:

  1. Структура та архітектура сховищ даних.

  2. Редагування метаданих СД.

  3. Завантаження даних в міри сховища даних.

  4. Завантаження даних в процеси сховища даних.


Задача: Завантажте дані в міри «ДатаКредиту», «МетаКредиту», «ТермінКредиту» та «НаселенийПункт»та в процес «ВидачаКредитів» сховища даних.


^ Хід роботи

  1. Запустіть на виконання Deductor Studio та активізуйте попередньо створений проект: підключення до сховища даних та вузол імпорту.

  2. Завантажте (експортуйте) дані в СД.

Зауваження 1: Процес завантаження розпочинається з завантаження даних в міри, по черзі, оскільки процес «Видача кредитів» успішно не завантажиться, потім в процес.

    1. Завантажте дані в міри СД.

      1. Активізуйте вузол імпорту та викличіть «Мастер Экспорту» за допомогою кнопки на панелі інструментів закладки “Сценарии”.

      2. На першому кроці майстра вкажіть Deductor Warehouse. На другому – власне СД – DW Firebird[BankVM].

      3. На третьому кроці майстра вкажіть об’єкт СД, з яким будете працювати (в яке будуть завантажуватись дані) – міра «ДатаВидачіКредиту».

      4. На четвертому кроці майстра встановіть відповідність елементів об’єкту СД з полями вхідного джерела даних, див. рис. 3.1.



Рис. 3.1. Встановлення відповідності елементу СД з полем джерела даних міри «ДатаВидачіКредиту»


      1. Запустіть процес завантаження – кнопка Пуск.

  1. Аналогічним чином завантажте дані в міри «МетаКредиту», «ТермінКредиту» та «НаселенийПункт». Отриманий результат роботи з Майстром експорту по завантаженню даних в міри зображено на рис. 3.2.



Рис. 3.2. Сценарій завантаження даних у міри СД


  1. Експортуйте дані в процес.

    1. Активізуйте вузол імпорту та викличіть «Мастер Экспорту» за допомогою кнопки на панелі інструментів закладки “Сценарии”.

    2. На першому кроці майстра вкажіть Deductor Warehouse. На другому – тип одержувача даних (DW Firebird[BankVM]).

    3. На третьому кроці майстра вкажіть об’єкт СД, з яким будете працювати (в яке потрібно завантажити дані) – процес «ВидачаКредитів».

    4. На четвертому кроці майстра встановіть відповідність елементів об’єкту СД з полями вхідного джерела даних , див. рис. 3.3.



Рис. 3.3. Встановлення відповідності елементу СД з полем джерела даних процесу «ВидачаКредитів»


    1. На наступному етапі Майстра експорту визначимо міри, по яким необхідно видалити дані зі СД – ДатаВидачіКредиту, рис. 3.4.

Зауваження 2: Видалення даних зі СД потрібне при первинному завантаженні сховища. Очистка процесу по мірі використовується для значного прискорення завантаження даних у СД. У даному випадку при повторному завантаженні в процес з нього будуть видалені і завантажені по новому дані на ті дати, які співпадають в джерелі і в СД.



Рис. 3.4. Встановлення міри «ДатаВидачіКредиту», по якій необхідно видалити дані зі СД


    1. На шостому кроці майстра встановіть наступні параметри завантаження даних у СД: групувати дані перед завантаженнями в СД, автоматично додавати значення мір, зібрати статистику та створити допоміжну таблицю.

    2. На сьомому кроці майстра встановіть варіанти агрегації фактів та атрибутів процесу, як зображено на рис. 3.5.



Рис. 3.5. Встановлення варіантів агрегації атрибутів і фактів процесу «ДатаВидачіКредиту»


    1. Запустіть процес завантаження – кнопка Пуск.

    2. Отриманий результат роботи з Майстром експорту по завантаженню даних у процес «CreditCrunch» зображено на рис. 4.6.



Рис. 3.6. Сценарій завантаження даних у процес СД


  1. Перегляд створеного СД.

    1. Запустіть на виконання середовище IB Expert.

Зауваження: IB Expert – інтегроване середовище для розробки і адміністрування баз даних Firebird.

    1. Зареєструйте БД за допомогою кнопки «Register Database» панелі інструментів «Database». В діалоговому вікні «Database Type», що з’явилось, вкажіть тип БД – Firebird.

    2. У наступному діалоговому вікні «Database registration» заповніть поля згідно зразка, див. рис. 3.7



Рис. 3.7. Реєстрація створеної БД «BankVN» в діалоговому вікні «Database Registration»


    1. Активізуйте створену БД. У вікні “Database Explorer” активізуйте Вашу БД, див. рис. 3.8.



Рис. 3.8. БД «BankVN» у вікні “Database Explorer”

    1. Перегляньте та проаналізуйте об’єкти БД, яка автоматично була генерована при створенні сховища даних.

  1. Підготуйте звіт з екраними копіями дерева сценаріїв завантаження даних у процес СД та реєстрації БД.
^

Лабораторна робота 4


Тема: OLAP-аналіз даних за допомогою аналітичної платформи Deductor Studio. Виконання операцій над OLAP-кубом.

Мета: Закріпити навики роботи в середовищі Deductor Studio та вивчити методи OLAP-аналізу даних


Питання для повторення:

  1. Багатомірна модель даних.

  2. Представлення даних у вигляді гіперкубу. Операції над гіперкубом.

  3. Визначення OLAP-систем. Правила Кодда.

  4. Архітектура OLAP-систем. MOLAP. ROLAP. HOLAP.

  5. Дванадцять правил Кодда


Задача. На основі сховища даних з інформацією про видачу кредитів клієнтам банку провести аналіз з метою оптимізації роботи кредитних відділів банку


^ Хід роботи

  1. Запустіть на виконання програму Deductor Studio Lite. У вікні управління сценаріями за допомогою кнопки Мастер импорта (F6) запустіть майстер імпорту даних зі створеного раніше сховища даних. На першому кроці майстра виберіть механізм імпорту Deductor Wirehouse. На другому кроці виберіть необхідне для роботи підключення до сховища даних. На третьому та четвертому кроці виберіть в якості джерела об’єкт сховища даних – процес «Об’ява». На п’ятому кроці залишіть усе без змін. На наступному кроці за допомогою кнопки Пуск здійсніть імпорт даних, після чого виберіть такі способи відображення даних: таблица, статистика, сведения. На останньому кроці, замість запропонованої мітки, введіть більш інформативну назву операції сценарію. Результатом роботи майстра повинно бути три вікна: перше повинно вміщувати у вигляді таблиці імпортований масив даних; друге – статистичну інформацію, а третє – службову інформацію.

  2. За допомогою вікна зі статистичною інформацією визначте мінімальне, максимальне та середнє значення для розміру та терміну кредитів. Цю інформацію обов’язково додайте до звіту по роботі.

  3. У задачі, що розглядається передбачається, що вартість кредиту рівна 20% від суми кредиту. Для перевірки правильності введення даних побудуйте залежність вартості кредиту від його суми і у випадку відхилення залежності від лінійної виправте неправильно введені дані. Для побудови такої залежності відкрийте вікно побудови звітів (Вид–Отчеты), в якому створіть новий вузол, для якого виберіть створене раніше джерело даних. За допомогою майстра візуалізації побудуйте діаграму, проаналізуйте її вигляд і у випадку відхилення даних від лінійної залежності виправте дані в базі даних після чого обновіть дані в вікні сценаріїв та знову проаналізуйте графік.

  4. На основі імпортованих даних побудуйте OLAP-куб, за допомогою якого проаналізуйте середні розміри кредитів в залежності від місця проживання клієнта та мети кредитування. Визначте якими видами кредитування не цікавилися жителі Кіцмані та Сторожинця. Визначте для якого з видів кредитів його середня величина є найбільшою. Визначте для якого з видів кредитів та населених пунктів його середня величина є найбільшою (для цих даних виведіть детальну інформацію (кнопка Детализация); дані про цих клієнтів вмістіть у звіт з роботи).

  5. Створіть новий OLAP-куб, за допомогою якого визначте залежність максимального розміру кредиту від мети кредитування та терміну кредитування.

  6. У вікні побудови сценаріїв за допомогою майстра обробки перетворіть дату видачі кредиту так, щоб виводилася інформація про день видачі кредиту.

  7. У вікні побудови звітів побудуйте OLAP-куб, за допомогою якого проаналізуйте залежність кількості виданих кредитів від дня тижня та мети кредитування.

  8. Аналогічно попередньому пункту побудуйте OLAP-куб, за допомогою якого проаналізуйте залежність кількості та суми виданих кредитів залежно від дня тижня та місця проживання клієнта. Визначте, в які дні найчастіше оформлюють кредити жителі Чернівців, а в які дні – жителі райцентрів.

  9. Підготуйте до друку та надрукуйте звіт по роботі. У звіті запропонуйте свої рекомендації з оптимізації роботи кредитного відділу банку.
^

Лабораторна робота 5


Тема: Використання нейромереж при прийнятті рішення про доцільність видачі кредиту клієнту

Мета: Набути навичок роботи з нейромережами в Deductor Studio


Питання для повторення:

  1. Способи візуалізації даних “Граф нейромережі”.

  2. Методи Data Mining.

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

  4. Переваги та недоліки нейронних мереж.


Задача: На основі накопичених у організації даних здійснити навчання нейромережі на предмет прийняття рішення про доцільність видачі кредиту клієнту комерційного банку.


^ Хід роботи

  1. Доповніть створену у лабораторній роботі 1 базу даних інформацією відповідно до таблиці CreditsInfo (ДодатковіПоляТаблиці)" файлу"CreditsInfo_New". У наведеній таблиці міститься тільки код кредитора та дані тих полів, якими потрібно доповнити базу даних. Для полів, в яких міститься текстова інформація, що повторюється слід створити довідникові таблиці. В даній таблиці зберігається така інформація: YearOld – вік клієнта; Education – освіта; RoomSquare – площа квартири; Car – наявність автомобіля; LivingInRoom – час проживання в квартирі; PrivatnaVlasnist – наявність у клієнта приватної власності; Kvartira – наявність у клієнта квартири; VilageHouse – наявність заміського будинку; Propiska – наявність прописки в місці проживання; Garage – наявність гаража; Pributki – середній розмір прибутків клієнта; Vidatki – середній розмір видатків клієнта; Izhdiventsy – кількість утриманців; Rezume – висновок про можливість видачі кредиту.

  2. Створіть представлення, за допомогою якого буде створюватися таблиця з повною інформацією про клієнта та висновок про можливість надання кредиту. Враховуючи той факт, що дані цього представлення будуть використовуватись для навчання нейромережі, інформацію про прізвище клієнта сюди можна не включати, адже вона все рівно тут не використовуватиметься. Можливий вигляд команди Select цього представлення наведено нижче:

SELECT dbo.CreditsInfo.CreditSum, dbo.CreditsInfo.CreditCosts, dbo.CreditsInfo.CreditTime, dbo.CreditsInfo.CreditDate, dbo.MetaList.Name AS CreditMeta, dbo.LivingPoints.Name AS LivingPoint, dbo.CreditsInfo.YearOld, dbo.Education.Name AS Education, dbo.CreditsInfo.RoomSquare, dbo.Car.name AS Car, dbo.CreditsInfo.LivingInRoom, dbo.PrVlasnist.value AS PrivatnaVlasnist, dbo.kvartira.Value AS Kvartira, dbo.Hause.Value AS VilageHouse, dbo.Propiska.Value AS Propiska, dbo.Garage.Value AS Garage, dbo.CreditsInfo.Pributki, dbo.CreditsInfo.Vidatki, dbo.CreditsInfo.Izhdiventsy, dbo.Resume.Name AS Resume

FROM dbo.Car INNER JOIN dbo.CreditsInfo ON dbo.Car.id = dbo.CreditsInfo.Car INNER JOIN dbo.Education ON dbo.CreditsInfo.Education = dbo.Education.ID INNER JOIN dbo.Garage ON dbo.CreditsInfo.Garage = dbo.Garage.id INNER JOIN dbo.Hause ON dbo.CreditsInfo.VilageHouse = dbo.Hause.id INNER JOIN dbo.kvartira ON dbo.CreditsInfo.Kvartira = dbo.kvartira.id INNER JOIN dbo.LivingPoints ON dbo.CreditsInfo.LivingPoint = dbo.LivingPoints.ID INNER JOIN dbo.MetaList ON dbo.CreditsInfo.CreditMeta = dbo.MetaList.ID INNER JOIN dbo.Propiska ON dbo.CreditsInfo.Propiska = dbo.Propiska.id INNER JOIN dbo.PrVlasnist ON dbo.CreditsInfo.PrivatnaVlasnist = dbo.PrVlasnist.id INNER JOIN dbo.Resume ON dbo.CreditsInfo.Resume = dbo.Resume.ID

  1. Запустіть програму ^ Deductor Studio Lite. В новий документ імпортуйте дані зі створеного представлення. Під час імпорту вкажіть більш інформативні імена полів, задавши відповідні значення в текстовому полі Метка столбца. За допомогою поля зі списком Назначение поле Resume зробіть вихідним полем, CreditCosts, CreditDate – інформаційними, а усі інші – вхідними полями.

  2. За допомогою Мастера обработки (трансформация данныхзамена данных) змініть дані про місце проживання так, щоб у випадку місця проживання Чернівці в полі виводилося значення «центр», а в усіх інших випадках – «область», рис. 5.1.



Рис. 5.1. Вікно налаштування параметрів заміни даних


  1. За допомогою побудови нейромережі проаналізуйте яким чином на рішення про видачу кредиту впливає розмір кредиту та інформація про прибутки та видатки клієнта. Опишіть їх у звіті з роботи.

    1. Активізуйте вузол трансформованої таблиці з даними.

    2. За допомогою “Мастера обработки” оберіть метод “Нейросеть”.

    3. На другому кроці майстра виберіть, які із полів будуть вхідними (Сума кредиту, Розмір прибутків, Розмір видатків, Кількість утриманців), які – вихідними (Висновок про видачу кредиту), а які – не використовуватимуться (усі інші).

    4. На другому кроці поділіть набір даних на навчальну і тестову підмножини в співвідношенні 95:5. Наступні кроки можна залишити без змін аж до етапу навчання нейромережі.

    5. На 7 кроці за допомогою кнопки «Пуск» запустіть навчання нейромережі. Дочекайтеся досягнення епохи 1000, коли зупиниться навчання, після чого включіть візуалізатор «Что-если» та завершіть роботу майстра.

    6. Для утвореного (створеного) візуалізатора проаналізуйте критерії, від яких залежить рішення про видачу кредиту.

Зауваження: Для здійснення аналізу рекомендується спочатку виставити екстремальні значення для усіх параметрів (найбільші або найменші), після чого проаналізувати графіки для кожного з параметрів. Ті параметри, для яких при цьому є перехід з одного стану в інший будуть визначальними, інші ж параметри будуть враховуватись лише при деяких діапазонах значень визначальних параметрів.

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

  2. Запропонуйте та додайте до звіту власний варіант моделі нейромережі, тобто на власний розсуд визначіть, які поля будуть вхідними та, які не використовуватимуться.

  3. Підготуйте до друку та надрукуйте звіт, в якому обов’язково додайте екранні копії побудованих нейромереж та візуалізаторів до кожного з випадків та висловіть свою думку про вплив параметрів на рішення про видачу кредитів клієнтам.



^

Лабораторна робота 6


Тема: Прогнозування з використанням регресійного аналізу

Мета: Практичне засвоєння методики розв’язання задач передбачення засобами Data Mining

Питання для повторення:

  1. Методи класифікації даних

  2. Алгоритми побудови дерев рішень.

  3. Поняття навчальної та тестової вибірки в задачах класу supervised learning.

  4. Переваги та недоліки аналізу даних з використанням дерев рішень.


Завдання: На основі історичних даних про повернення кредитів клієнтами банку створити дерево рішень, призначене для підтримки прийняття рішення про доцільність видачу кредиту. На основі створеного дерева рішень розробити систему підтримки прийняття рішення менеджера банку у вигляді Web-програми.


^ Хід роботи

  1. Запустіть програму Deductor Studio Lite, у яку завантажте файл, створений на попередньому занятті. Зробіть копію вузла, у якому здійснювалася операція заміни значення «Місце проживання» з переліку населених пунктів на «центр» та «область».

  2. Для створеного вузла побудуйте дерево рішень. На першому кроці майстра задайте вхідні та вихідні параметри (використайте ті ж параметри, що використовувались для побудови нейромережі за виключенням параметру Наявність автомобіля), поділіть множину значень на навчальну та тестову вибірки, параметри навчання залишіть без змін (рівень довіри, що використовується при відкиданні вузлів – 20%), проведіть навчання, для візуалізації виберіть дерево рішень та візуалізатор «Что-если».

  3. Здійсніть тестування отриманого дерева рішень з використанням тих же тестових даних, що використовувалися у попередній роботі.

  4. Аналогічно побудуйте іще два дерева рішень з тими ж параметрами, вказавши рівень довіри 40% та 100% відповідно. Порівняйте три отримані дерева рішень.

  5. Протестуйте на 10-15 довільних прикладах роботу трьох отриманих дерев рішень (для прикладів використовуйте значення параметрів, при яких буде як позитивний так і негативний висновок про видачу кредиту, причому значення цих параметрів повинні з двох сторін межі переходу від позитивного до негативного висновку).

  6. Виберіть найоптимальніше, на вашу думку дерево рішень і на основі генерованого в ньому алгоритму в середовищі ^ MS Visual Web Developer створіть Web-сторінку, за допомогою якої можна аналізувати дані потенційного клієнта на питання того, чи зможе він отримати кредит в банку. Для правильного заповнення довідникових полів (інформація про наявність автомобіля, населені пункти тощо) на Web-сторінці використайте поля зі списком, джерелом даних для яких будуть відповідні таблиці створеної у попередніх роботах БД.

    1. Наприклад, якщо вибрано дерево рішень, зображене на рис. 6.1, то в якості вхідних даних на сторінці будуть три поля: «Сума кредиту», «Середньомісячний дохід» та «Середньомісячні видатки». Приклад зовнішнього вигляду Web-сторінки для такого випадку наведено на рис. 6.1.



Рис. 6.1. Приклад отриманого дерева рішень


    1. У цьому випадку програмний код обробки події Click Для кнопки «Висновок» матиме структуру, наведену нижче:

protected void Button1_Click(object sender, EventArgs e)

{

int kredit = int.Parse(Kredit.Text);

int pributki = int.Parse(Pributki.Text);

int vidatki = int.Parse(Vidatki.Text);

if (kredit < 24000)

{

if (pributki < 3750)

{

Label1.Text = "Не видавати";

}

else

{



}

}

else

{



}

}

Приклад результату роботи Web-програми наведено на рис. 6.2.



Рис. 6.2. Приклад роботи СППР менеджера банку


  1. Перевірте правильність роботи створеної програми, використовуючи ті ж самі дані параметрів, що використовувалися в пункті 5 цієї роботи.

  2. Підготуйте до друку та надрукуйте звіт, в якому здійсніть порівняння алгоритмів класифікації, в основі яких лежать дерева рішень та нейромережі. У звіт також вмістіть екранні копії дерева рішень, вікна створеної СППР менеджера банку та програмний код, зв’язаний з кнопкою «Висновок».



^

Лабораторна робота 7


Тема: Методи прогнозування майбутніх значень часових рядів

Мета: Набуття навичок розв’язування задач прогнозування з використанням математичних функцій


Питання для повторення:

  1. Методи прогнозування часових рядів.

  2. Лінії тренду, їх побудова.

  3. Функція ТЕНДЕНЦИЯ та ТРЕНД.

  4. Метод “Найменших квадратів”


Завдання: На основі історичних даних про курс валюти здійснити прогнозування його значення на майбутні часові періоди. Задача розв’язується з використанням математичного методу найменших квадратів та побудови ліній тренду.

Хід роботи:

  1. Відкрийте файл Курси.xls.

  2. Побудуйте точкову діаграму на основі даних курсу “Євро” за період з 11.01.2010 по 16.0.2010.

  3. Додайте до діаграми лінію тренду за допомогою п.м. “Добавить линию тренда…” меню “Диаграмма”.

  4. Виведіть функцію лінії тренду для уточнення прогнозованого значення, встановіть глибину прогнозу – 2 (кількість наступних періодів для прогнозування) та активізуйте перемикачі, які забезпечать виведення рівняння на діаграмі та величину достовірності апроксимації R2 за допомогою вкладки “Параметры” діалогового вікна “Линия тренда”. На рис. 7.1.-7.2. наведено настроювання параметрів лінії тренду та приклад графіку курсу євро з лінією тренду.

Зауваження: Чим ближчою до 1 є величина достовірності апроксимації, тим достовірнішим буде прогноз. Як зображено на рис. 7.2, величина 0,59, вказує на досить добру якість прогнозування з використанням лінії тренду.



Рис. 7.1. Настроювання параметрів лінії тренду



Рис. 7.2. Прогнозування з використанням лінії тренду


  1. Перевірте зпрогнозовані значення з офіційним курсом євро відповідних дат.

  2. Застосуйте функцію ТЕНДЕНЦИЯ для прогнозування значень.

    1. Скопіюйте діапазон з десяти останніх значень курсу євро у вільний стовпець.

    2. Викличіть вікно вставки функції ТЕНДЕНЦИЯ та встановіть відповідні аргументи, рис. 7.3.



Рис. 7.3. Приклад прогнозування з використанням функції ТЕНДЕНЦИЯ


Зауваження: Як видно з рисунку, дати функція перетворює в цілі числа (точніше функція використовує ті числа, які реально зберігаються в клітинках – кількість днів, які пройшли від 1 січня 1900 року).

  1. Для порівняння в третьому стовпці обчисліть прогнозне значення методом заповнення прогресії.

Зауваження: Як видно з рисунку 7.3., ці дані співпадають, адже у цих двох випадках використовуються однакові алгоритми.

  1. Додаткове завдання: Створіть спеціальну форму (рис. 7.4.) для полегшення роботи аналітика при прогнозуванні курсів валют. Застосуйте метод “Найменших квадратів” для здійснення прогнозування засобами VBA.



Рис. 7.4. Форма для налаштовування параметрів прогнозування курсів валют


Приклади прогнозів, отриманих у результаті роботи наведено на рис. 7.4. та рис. 7.5.



Рис. 7.5. Результати прогнозування з періодом 10 днів та глибиною прогнозування рівною 5




Рис. 7.6. Результати прогнозування з періодом 365 днів (один рік) та глибиною прогнозування рівною 8


  1. Підготуйте до друку та надрукуйте звіт по роботі.
^

Лабораторна робота 8


Тема: Використання технологій Data Mining для прогнозування майбутнього значення часового ряду

Мета: Набуття навичок використання Deductor Studio для прогнозування часових рядів


Питання для повторення:

  1. Алгоритми обробки даних: трансформація даних.

  2. Метод «Ковзаюче вікно».

  3. Параметри «Глибина занурення» та «Горизонт прогнозування».

  4. Нейромережі.


Завдання: Імпортувати в Deductor Studio історичні дані про курс валюти. Представити дані про курс валюти у вигляді «ковзаючого вікна». Здійснити навчання нейромережної моделі прогнозування, перевірити її роботу.


Хід роботи:

  1. Запустіть на виконання Deductor Studio Lite.

  2. Імпортуйте дані з файлу “Євро 2009.txt”. Результат імпорту наведено на рис. 8.1.



Рис. 8.1. Таблиця з даними після імпорту даних


Зауваження: Після операції імпорту отрималася таблиця, в якій, як і у вихідній таблиці були дати, для яких не було заповнено значення курсу валюти.

  1. Застосуйте засіб «Парциальная предобработка» для заповнення пропущених клітинок даними.

      1. Запустіть “Мастер обработки”.

      2. На першому кроці майстра оберіть засіб «Парциальная предобработка».

      3. На другому кроці зазначте стовпець “Євро” та оберіть метод “Аппроксимация”, див. рис. 8.2.



Рис. 8.2. Встановлення параметрів відновлення пропущених даних


      1. На третьому кроці майстра активізуйте прапорець “Редактирование аномальних значений” та встановіть найбільший ступінь подавлення, див. рис. 8.3.



Рис. 8.3. Встановлення параметрів редагування аномальних значень


      1. На четвертому кроці майстра залишіть все без змін.

      2. На п’ятому кроці натисніть на кнопку “Пуск” для запуску процесу апроксації

      3. На останньому, шостому кроці, оберіть відображення даних у вигляді таблиці. Дані, отримані після застосування засобу «Парциальная предобработка» представлені на рис. 8.4.



Рис. 8.4. Таблиця з даними після виконання операції заповнення пропущених значень


  1. Виконайте за методом «Ковзаюче вікно» дві трансформації даних при глибині занурення 3 і 6 та горизонті прогнозу 1 і 2 відповідно, для оцінки роботи алгоритму прогнозування Дані, отримані після трансформації, представлені на рис. 8.5.



Рис. 8.5. Вигляд даних після трансформації за методом «Ковзаючого вікна»


  1. Застосуйте “Нейросеть” майстра “Обработки” для горизонту прогнозу рівного 1 з метою налаштовування параметрів та навчання нейромережі.

    1. Активізуйте “Мастер обработки” для горизонту прогнозу рівного 1.

    2. Встановіть наступні параметри нейромережі: поточний курс та курс за чотири попередні дні оберіть в якості вхідних параметрів нейромережі, а вихідним параметром – наступний курс, рис. 8.6.



Рис. 8.6. Налаштовування призначення вихідних стовпців даних для нейромережі


    1. З 3 по 6 крок майтра залишіть параметри без змін.

    2. На сьомому кроці майстра, який призначений саме для проведення навчання, активізуйте кнопку “Пуск”.



Рис. 8.5. Вікно навчання нейромережі


    1. Проаналізуйте отриманий результат. Дайте відповіді на питання та додайте їх до звіту:

    1. Чи пройшло навчання успішно? Чому?

    2. Скільки часу затрачено на навчання нейромережі?

    1. На восьмому кроці майстра оберіть спосіб відображення “Что-если” та “Диаграмма”.

  1. За допомогою візуалізатора “Что-если” проаналізуйте отримані дані, див. рис. 8.6.

Зауваження: Візуалізатор «Что-если» дозволяє аналітику на основі попередніх значень даних за попередні інтервали часу (дні, роки) отримати прогнозоване значення.



Рис. 8.6. Використання візуалізатора «Что-если» для прогнозування


  1. За допомогою візуалізатора “Диаграмма” проаналізуйте отримані дані, див. рис. 8.7. Дайте відповідь на питання: “Чи підтвердилось твердження працездатності побудованої моделі?”.

Зауваження: Здійсніть порівняння кривої “Реальні дані курсу валюти” з кривою “Спрогнозовані значенення”.



Рис. 8.7. Порівняння реальних даних з прогнозними


  1. Оформіть звіт з екранними копіями ключових моментів роботи та додайте до звіту відповіді на поставленні питання в ході лабораторної роботи.
^

Лабораторна робота 9


Тема: Побудова карти Кохонена. Кластеризація з використанням карт Кохонена

Мета: Набуття навичок кластеризації з використанням карт Кохонена


Питання для повторення:

  1. Алгоритми кластеризації.

  2. Способи візуалізації даних “Карта Кохонена”.

  3. Процес побудови та навчання “Карт Кохонена”.

  4. Приклади застосування “Карт Кохонена”.


Завдання: Здійснити кластеризацію (сегментацію) клієнтів банку з використанням “Карт Кохонена”.


^ Хід роботи

  1. На вкладці Сценарии Deductor Studio Lite створіть нову вітку, в яку імпортуйте усі дані зі створеного на попередньому занятті представлення. Під час настроювання параметрів майстру імпорту даних не забудьте змінити підписи усіх полів.

  2. Для створеного вузла за допомогою «Мастера обработки – Карта Кохонена» створіть та здійсніть навчання моделі, яка буде здійснювати сегментацію клієнтів банку за такими параметрами як «Сума кредиту» та «Вік».

    1. На першому кроці майстра додайте параметр, який вказує на можливість видачі кредиту клієнту в якості вихідного параметру, рис. 9.1.



Рис. 9.1. “Мастер обработки – Карта Кохонена (1 из 8)”

    1. На наступних кроках можна залишити все без змін до кроку, коли потрібно провести навчання. Після навчання моделі запишіть відсоток розпізнаних значень з навчальної та тестової множини, рис. 9.2 .



Рис. 9.2. “Мастер обработки – Карта Кохонена (6 из 8)”


    1. На 8-му кроці задайте параметри відображення відповідно до рис.9.3.



Рис. 9.3. “Мастер обработки – Карта Кохонена (8 из 9)”


    1. Завершіть роботу майстра.

  1. Проведіть аналіз отриманих карт Кохонена. Висновки в письмовому вигляді вмістіть до звіту по роботі. Наприклад, з наведених на рис. 9.4 карт Кохонена можна зробити висновок про те, що усіх клієнтів розподілено по 5-ти кластерах. До кластеру 3 потрапили молоді клієнти віком переважно до 30 років (максимально до 34 років), які беруть кредити невеликих розмірів (до 20000). З карти, на якій представлено висновок про можливість надання кредиту видно, що кредит таким клієнтам переважно надається. Деякі відхилення, коли цим клієнтам кредит не надають, зумовлені, напевне іншими факторами.



Рис. 9.4. Екранна копія карт Кохонена


  1. Проведіть повністю аналогічне дослідження, з тією тільки різницею, що кількість епох, що приводять до зупинки навчання встановіть рівною 2000 та 10000. Після кожного з навчань фіксуйте відсоток розпізнаних значень з навчальної та тестової множин. Порівняйте кластери, отримані в кожному з випадків між собою. Зробіть відповідні висновки.

  2. Проведіть аналогічні дослідження для випадку, коли використовуються як вхідні поля ^ Сума кредиту, Термін кредиту та Вік. Поекспериментуйте з параметром, що визначає кількість епох при яких потрібно зупиняти навчання. Зовнішній вигляд отриманих карт Кохонена та зроблені за їх допомогою висновки помістіть до звіту.

  3. Експериментальним методом підберіть інші набори, які б включали 4-5 вхідних параметрів, які б дозволяли за допомогою отриманих карт Кохонена зробити якісь осмислені висновки.



^

Лабораторна робота 10


Тема: Представлення результатів інтелектуального аналізу даних у прикладних програмах

Мета: Набуття навичок представлення результатів інтелектуального аналізу даних у прикладних Windows- та Web-програмах


Питання для повторення:

  1. Алгоритм Аpriori.

  2. Основи роботи в середовищі MS C# Visual Studio.

  3. Елемент DataGridView.

  4. Об’єкти доступу до даних ADO.NET.


Завдання: Реалізувати алгоритм пошуку асоціативних правил на мовах високого рівня C# та PHP.

На основі запропонованих даних (табл. 10.1) створіть алгоритм, за допомогою якого можна буде виявляти часті набори товарів у купівельних корзинах. Алгоритм у результаті повинен виявити набори товарів, які купуються разом. У результуючому переліку слід виводити тільки ті набори товарів, для яких підтримка більше 20%. Також потрібно виводити значення підтримки для кожної виявленої пари товарів. Можливий варіант отриманого розв’язку наведено в табл. 10.2.

Зауваження: Підтримка – це відношення кількості чеків (користувачів), які купляли дану пару товарів до загальної кількості чеків (користувачів).


^ Таблиця 10.1

Вхідні дані

з/п

Номер чеку

Товар

1

1

books

2

1

CD

3

1

DVD

4

2

CD

5

2

games

6

3

CD

7

3

DVD

8

4

books

9

4

CD

10

4

games

11

5

books

12

5

DVD

13

6

CD

14

6

DVD

15

7

books

16

7

DVD

17

8

books

18

8

CD

19

8

DVD

20

8

video

21

9

books

22

9

CD

23

9

DVD


^ Таблиця 10.2

Результат

Товар 1

Товар 2

К-сть чеків

Підтримка

books

CD

4

0,444444

books

DVD

5

0,555556

CD

books

4

0,444444

CD

DVD

5

0,555556

CD

games

2

0,222222

DVD

books

5

0,555556

DVD

CD

5

0,555556

games

CD

2

0,222222


Хід роботи

  1. Створіть в MS Access (чи MS SQL Server) базу даних, що містить дві таблиці: “Каталог груп товарів” та “Реалізація товарів”. Заповніть таблиці вихідними даними з табл. 10.1.

  2. В MS C# Visual Studio створіть проект, призначений для реалізації алгоритму Apriory, до якого підключіть створену базу даних.

  3. Створіть форму, на якій виведіть вихідні дані, елемент DataGridView для виведення одноелементних та двохелементних наборів із заданою підтримкою та командну кнопку, рис. 10.1.



Рис. 10.1. Заготовка форми

  1. Генеруйте метод обробки події Click для кнопки вивести.

  2. Отримайте перелік кодів усіх операцій (чеків) та реалізуйте підрахунок кількості операцій (чеків) у вихідних даних. Приклад програмного коду зчитування результату виконання запиту наведено нижче:

string conString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\AprioryBase.mdb;Persist Security Info=True";

string selString="SELECT OperationList.OperationID FROM OperationList GROUP BY OperationList.OperationID";

OleDbConnection conn=new OleDbConnection(conString);

OleDbDataAdapter da=new OleDbDataAdapter();

da.SelectCommand=new OleDbCommand(selString,conn);

OleDbCommandBuilder cb=new OleDbCommandBuilder(da);

DataSet OpList = new DataSet();

da.Fill(OpList, "OperationList");

int OperationsCount = OpList.Tables[0].Rows.Count;

  1. Отримайте перелік усіх товарів (груп товарів). Приклад програмного коду наведено нижче.

string selTovarList = "SELECT TovarList.id, TovarList.Tovar FROM TovarList";

OleDbDataAdapter daTovarList = new OleDbDataAdapter();

daTovarList.SelectCommand = new OleDbCommand(selTovarList, conn);

OleDbCommandBuilder cbTovarList = new OleDbCommandBuilder(daTovarList);

DataSet dsTovarList = new DataSet();

daTovarList.Fill(dsTovarList, "TovarList");

  1. Аналогічно пунктам 5 та 6 отримайте дані з таблиці операцій та обчисліть кількість отриманих записів.

  2. Напишіть блок програмного коду, в якому розрахуйте скільки разів кожен з товарів присутній у чеках, розрахуйте підтримку для кожного товару (відсоток чеків у яких присутній даний товар). Отримайте результуючу таблицю зі списком товарів, підтримка яких більше заданого значення (20%) Приклад програмного коду наведено нижче.

//Додаємо поле для зберігання значення підтримки

dsTovarList.Tables[0].Columns.Add("Support", typeof(int));

//підрахунок кількості входжень кожного товару в чеки

for (int i = 0; i < tovarCount; i++)

{

int tovarID = int.Parse(dsTovarList.Tables[0].Rows[i].ItemArray[0].ToString());

int tovCount = 0;

for (int j = 0; j < nakladnaCount; j++)

{

int tovarOperationID = int.Parse(dsNakladna.Tables[0].Rows[j].ItemArray[2].ToString());

if (tovarID == tovarOperationID)

{

tovCount++;

}

}

//розраховуємо підтримку

int sup = tovCount * 100 / OperationsCount;

// записуємо значення підтримки в DataSet

dsTovarList.Tables[0].Rows[i].BeginEdit();

dsTovarList.Tables[0].Rows[i][2] = sup;

dsTovarList.Tables[0].Rows[i].EndEdit();

}

//видаляємо товари, підтримка яких менше 20%

for (int i = 0; i < tovarCount; i++)

{

if (int.Parse(dsTovarList.Tables[0].Rows[i][2].ToString()) < 20)

{

dsTovarList.Tables[0].Rows[i].Delete();

}

}

dsTovarList.AcceptChanges();

//виводимо DataSet у GridView

dataGridView1.DataSource = dsTovarList.Tables[0];

  1. Генеруйте усі можливі двоелементні пари товарів на основі тих товарів, для яких підтримка одноелементних товарів більше заданого значення (20%). Приклад програмного коду наведено нижче.

int candidateCount = dsTovarList.Tables[0].Rows.Count;

//генеруємо кандидатів для двохелементних наборів

//створюємо DataSet для двохелементних наборів

DataSet dsTwoElement = new DataSet();

dsTwoElement.Tables.Add("TwoElCand");

dsTwoElement.Tables[0].Columns.Add("id", typeof(int));

dsTwoElement.Tables[0].Columns.Add("tovar1ID", typeof(int));

dsTwoElement.Tables[0].Columns.Add("tovar1Name", typeof(string));

dsTwoElement.Tables[0].Columns.Add("tovar2ID", typeof(int));

dsTwoElement.Tables[0].Columns.Add("tovar2Name", typeof(string));

//генеруємо кандидатів і записуємо у DataSet

int id = 0; //номер запису (поле ID)

for (int i = 0; i < candidateCount; i++)

{

for (int j = 0; j < candidateCount; j++)

{

if (i != j)

{

DataRow newRow;

newRow = dsTwoElement.Tables[0].NewRow();

newRow[0] = id + 1;

newRow[1] = dsTovarList.Tables[0].Rows[i][0];

newRow[2] = dsTovarList.Tables[0].Rows[i][1];

newRow[3] = dsTovarList.Tables[0].Rows[j][0];

newRow[4] = dsTovarList.Tables[0].Rows[j][1];

dsTwoElement.Tables[0].Rows.Add(newRow);

id++;

}

}

}

dsTwoElement.AcceptChanges();

dataGridView2.DataSource = dsTwoElement.Tables[0];

  1. Розрахуйте підтримку для кожної пари кандидатів. Приклад програмного коду наведено нижче.

//Розрахунок підтримки для кожної пари кандидатів

//Отримуємо кількість двохелементних кандидатів

int TwoElCount = dsTwoElement.Tables[0].Rows.Count;

//у циклі перебираємо усі елементи dsTovarList та обчислюємо кількість їх включень

for (int i = 0; i < TwoElCount; i++)

{

//зчитуємо коди кандидатів

int cand1 = int.Parse(dsTwoElement.Tables[0].Rows[i][1].ToString());

int cand2=int.Parse(dsTwoElement.Tables[0].Rows[i][3].ToString());

// початкове значення для кількості чеків в яких присутні товари

int TwoPresence=0;

//цикл для усіх операцій

for (int j = 0; j < OperationsCount; j++)

{

//отримуємо трансакції j-ї операції

//визначаємо id операції

int opID = int.Parse(OpList.Tables[0].Rows[j][0].ToString());

//створюємо Select для операції

string selOpByID = "SELECT OperationList.id, OperationList.TovarID FROM OperationList WHERE (((OperationList.OperationID)=" + opID + "))";

OleDbDataAdapter daOpByID = new OleDbDataAdapter();

daOpByID.SelectCommand = new OleDbCommand(selOpByID, conn);

OleDbCommandBuilder cbOpByID = new OleDbCommandBuilder(daOpByID);

DataSet dsOpByID = new DataSet();

daOpByID.Fill(dsOpByID, "oneOperation");

int OpByIDCount = dsOpByID.Tables[0].Rows.Count;

//вводимо ознаки наявності товарів в чеку

bool FirstPresence = false;

bool SecondPresence = false;

//у циклі перебираємо елементи j-ї операції

for (int k = 0; k < OpByIDCount; k++)

{

//зчитуємо коди товарів і порівнюємо їх з покупками

int tovID=int.Parse(dsOpByID.Tables[0].Rows[k][1].ToString());

if (tovID == cand1)

{

FirstPresence = true;

}

if (tovID == cand2)

{

SecondPresence = true;

}

}

//якщо в чеку два товари - кількість збільшуємо на 1

if ((FirstPresence) && (SecondPresence))

{

TwoPresence++;

}

}

//записуємо у таблицю значення підтримки у відсотках

dsTwoElement.Tables[0].Rows[i].BeginEdit();

dsTwoElement.Tables[0].Rows[i][5] =100* TwoPresence / OperationsCount;

dsTwoElement.Tables[0].Rows[i].EndEdit();

}

//видаляємо товари, підтримка яких менше 20%

for (int i = 0; i < TwoElCount; i++)

{

if (int.Parse(dsTwoElement.Tables[0].Rows[i][5].ToString()) < 20)

{

dsTwoElement.Tables[0].Rows[i].Delete();

}

}

dsTwoElement.AcceptChanges();

//записуємо у другий DataSet

dataGridView2.DataSource = dsTwoElement.Tables[0];

  1. Приклад результату роботи алгоритму наведено на рис. 10.2.



Рис. 10.2. Результат генерації одно- та двохелементних наборів покупок клієнтів із заданою підтримкою


  1. Модифікуйте створену форму та програмний код так, щоб підтримку користувач міг вводити у формі.

  2. З використанням Deductor Studio реалізуйте алгоритм пошуку асоціативних правил для вихідної множини покупок. Порівняйте отримані результати.

  3. Додаткове завдання: Доповніть створену форму елементами та кодом для генерації 3-елементних кандидатів, для яких підтримка більше заданого значення.

  4. Підготуйте до друку та надрукуйте звіт по роботі. До звіту додайте екранні копії результату роботи алгоритму, програмний код та опис алгоритму Apriori.



^

Лабораторна робота 11


Тема: Представлення результатів інтелектуального аналізу в Java-програмах

Мета: Набуття навичок розробки мультиплатформенних СППР


Питання для повторення:

  1. Алгоритм Naive Bayes.

  2. Основи роботи в середовищі Oracle.

  3. Оператори створення та модифікації таблиць.

  4. Види індексів в СУБД Oracle.

  5. Основні можливості Java. Бібліотеки класів.


Завдання: Реалізувати алгоритм Naive Bayes на мові Java в середовищі Oracle для прийняття рішення про проведення матчу залежно від погодних умов. Для навчання моделі використати наступну вибірку, табл. 11.1

^ Таблиця 11.1

Дані для навчання моделі


Спостереження

Температура

Вологість

Вітер

Гра

сонце

жарко

висока

ні

ні

сонце

жарко

висока

є

ні

хмарно

жарко

висока

ні

так

дощ

норма

висока

ні

так

дощ

холодно

норма

ні

так

дощ

холодно

норма

є

ні

хмарно

холодно

норма

є

так

сонце

норма

висока

ні

ні

сонце

холодно

норма

ні

так

дощ

норма

норма

ні

так

сонце

норма

норма

є

так

хмарно

норма

висока

є

так

хмарно

жарко

норма

ні

так

дощ

норма

висока

є

ні


^ Хід роботи

  1. Створити в СУБД Oracle базу даних. Створити в базі даних довідникові таблиці для полів спостереження, температура, вологість і т.д.

  2. Створити таблицю, в яку помістити навчальні дані для моделі (крім наведених у табл. 11.1 полів створіть автоінкрементне ключове поле № з/п).

  3. На мові Java створіть функцію, яка на основі назви поля (спостереження, температура, …) чи його порядкового номера і значення цього поля (сонце, хмарно, холодно, …) чи його коду повертатиме ймовірність проведення гри (відношення кількості значень параметру, при якому гра проводиться, до загальної кількості випадків коли проводиться гра) та ймовірність того, що гра проводитися не буде. Наприклад, для значення параметру температура рівному холодно матч проводитиметься в 3-х випадках із 9 випадків, коли проводиться матч. Тому ймовірність проведення матчу 3/9=1/3. При цьому матч не проводитиметься в 1 випадку з 5 випадків коли матч не проводиться (1/5).

  4. З використанням цієї функції створіть консольну Java-програму якій вводяться 4 параметри погоди, для кожного з яких визначається ймовірність того, що матч буде проводитись і не буде проводитись. Для отримання висновку про проведення/не проведення матчу потрібно знайти добутки ймовірностей того, що матч буде проведено, а також ймовірності того, що матч проведено не буде і порівняти між собою. В результаті роботи програма в консолі повинна вивести висновок про те, чи слід проводити матч.

  5. Підготуйте до друку та надрукуйте звіт по роботі, в якому наведіть створені програмні коди, а також результати роботи програми для чотирьох варіантів вхідних даних.





Похожие:

Лабораторна робота 1 Тема: Проектування та створення реляційної бази даних, як джерела даних для сппр iconУрок 12 Інформатика 11(ікт) Дата 30. 10. 2013 Поняття запиту до реляційної бази даних. Створення простих вибіркових запитів. Параметризовані запити. Мета. Навчальна
Поняття запиту до реляційної бази даних. Створення простих вибіркових запитів. Параметризовані запити
Лабораторна робота 1 Тема: Проектування та створення реляційної бази даних, як джерела даних для сппр iconТема 1: «Основні поняття баз даних. Побудова моделі «сутність-зв’язок» предметної області», 4 години
Урок №1: Поняття бази даних. Поняття, призначення й основні функції систем управління базами даних. Поняття моделі даних, основні...
Лабораторна робота 1 Тема: Проектування та створення реляційної бази даних, як джерела даних для сппр iconКонспект урока тема школьного курса: „Бази даних. Системи управління базами даних
Тема урока: «Построение информационных моделей и моделей знаний на графах по курсу математики, истории, русскому языку, биологи и...
Лабораторна робота 1 Тема: Проектування та створення реляційної бази даних, як джерела даних для сппр iconУрок №22 20. 11. 08 Тема урока. Основні характеристики та можливості субд. Сутність проектування баз даних Цель урока
Тема урока. Основні характеристики та можливості субд. Сутність проектування баз даних
Лабораторна робота 1 Тема: Проектування та створення реляційної бази даних, як джерела даних для сппр iconУрок №31. Тема: Введення даних у масив та
Тема: Введення даних у масив та відображення його вмісту. Використання багаторядкових текстових полів для введення даних у масив...
Лабораторна робота 1 Тема: Проектування та створення реляційної бази даних, як джерела даних для сппр iconКонтрольна робота з теми «бази даних. Субд access»
Створіть форму, що відповідає таблиці Бібліотека. Вставте у форму заголовок та елемент керування (кнопку Вперед). Збережіть у файлі...
Лабораторна робота 1 Тема: Проектування та створення реляційної бази даних, як джерела даних для сппр iconТема. Статистичні дані. Способи подання даних Мета: освітня
Працювати над формуванням умінь: наводити приклади подання статистичних даних у вигляді таблиць та графiкiв (гістограм); розв'язувати...
Лабораторна робота 1 Тема: Проектування та створення реляційної бази даних, як джерела даних для сппр iconЛабораторна робота №7 Тема: Створення І редагування таблиць ms access. Цель: Освоїти основні прийоми створення І редагування таблиць
В процесі підготовки до заняття студент у обов'язковому порядку повинен виконати наступні завдання
Лабораторна робота 1 Тема: Проектування та створення реляційної бази даних, як джерела даних для сппр iconЛабораторна робота №9 Тема: Створення І редагування таблиць ms access
В процесі підготовки до заняття студент у обов'язковому порядку повинен виконати наступні завдання
Лабораторна робота 1 Тема: Проектування та створення реляційної бази даних, як джерела даних для сппр iconУрок №20. Тема: Копіювання, переміщення І вилучення даних. Автозаповнення
Подати новий навчальний матеріал про копіювання, переміщення, вилучення даних та автозаповнення в середовищі табличного процесора....
Разместите ссылку на наш сайт:
Уроки, сочинения


База данных защищена авторским правом ©izlov.ru 2000-2014
При копировании материала обязательно указание активной ссылки открытой для индексации.
связаться с нами