Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Інтелектуальний аналіз даних за допомогою програмного пакета WEKA

Поиск

Лабораторна робота №1

Інтелектуальний аналіз даних за допомогою програмного пакета WEKA

Що таке інтелектуальний аналіз даних?

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

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

Інтелектуальний аналіз даних в тому сенсі, в якому ми його розглядаємо виник в середині 90-х років минулого сторіччя, коли розвиток комп'ютерних технологій вийшов на досить високий рівень, а вартість обчислювальних потужностей і систем зберігання даних знизилася настільки, що компанії змогли дозволити собі самостійно проводити аналіз даних, не вдаючись до послуг великих обчислювальних центрів.

Крім того, слід зазначити, що термін «інтелектуальний аналіз даних», або data mining, є всеосяжним і включає в себе безліч різних підходів і методів для дослідження і перетворення даних.

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

WEKA

Waikato Environment for Knowledge Analysis (WEKA), є вільно поширюваним програмним пакетом з відкритим вихідним кодом для аналізу даних.

Перша версія WEKA вийшла в 1993 році в університеті Ваїкато (Нова Зеландія). Вона була написана на різних мовах програмування. У 1997 році було прийнято рішення переписати програму на мову JAVA.

WEKA забезпечує графічний користувальницький інтерфейс для роботи з файлами даних і генерації візуальних результатів (у вигляді таблиць і графіків). Крім того, можливо інтегрувати WEKA, як і будь-яку іншу бібліотеку, у свої власні додатки, наприклад, для автоматизації аналізу даних на стороні сервера, використовуючи стандартний API.

WEKA поширюється по ліцензії GNU General Public License (GPL).

Ця програма дає можливість виконувати завдання аналізу даних як:

§ підготовка даних - попередня обробка;

§ відбір ознак;

§ кластеризація;

§ класифікація, зокрема, дерева рішень;

§ пошук асоціативних правил;

§ регресійний аналіз;

§ візуалізація результатів;

 

Переваги WEKA

§ об'ємний набір алгоритмів з аналізу даних і машинного навчанняж;

§ відкритий вихідний код;

§ кросплатформеність;

§ простота у використанні;

§ гнучкість у роботі з даними, що вводяться;

§ вільний доступ;

 

Рис 1. Стартове вікно WEKA

 

При запуску WEKA, пакет пропонує вам на вибір 4 графічних інтерфейси для роботи з WEKA і даними. Будемо використовувати опцію Explorer. Її функціональності більш ніж достатньо для вирішення наших завдань.

 

Рис 2. Вікно WEKA Explorer

Регресійний аналіз

Метод регресійного аналізу є найпростішим і, одним з найменш ефективнх методів інтелектуального аналізу даних. Найпростіша модель аналізу використовує один вхідний (незалежний) параметр і один результуючий (залежний) параметр (прикладами такої моделі є точкові діаграми Excel і аналогічні їм XYDiagram в OpenOffice.org). Безумовно, модель можна ускладнити, додавши кілька десятків вхідних параметрів, але в будь-якому випадку загальний підхід буде один і той же: на підставі кількох незалежних змінних визначається один залежний результат. Таким чином, модель регресійного аналізу використовується для прогнозування значення однієї залежної змінної, виходячи з відомих значень декількох незалежних параметрів.

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

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

 

Таблиця 1. Регресійна модель оцінки вартості будинку

Площа будинку (кв.футів) Розмір ділянки Кількість спалень Гранітна обробка на кухні Сучасне сантехнічне обладнання? Ціна продажу
          $ 205,000
          $ 224,900
          $ 197,900
          $ 189,900
        1 ` $ 195,000
          $ 325,000
          $ 230,000
           
          ????

 

Розглянута нами модель дає лише найзагальніше, досить поверхневе, уявлення про метод регресійного аналізу. Тим не менш, нашого поверхневого розгляду цілком достатньо для того, щоб зрозуміти основні принципи і створити модель регресійного аналізу за допомогою WEKA.

Розглянемо наступні поняття:

- метод найменших квадратів,

- нормальний розподіл,

- коефіцієнт детермінації R-квадрат

Метод найменших квадратів (МНК, OLS, Ordinary Least Squares) - математичний метод, який застосовується для вирішення різних задач, заснований на мінімізації суми квадратів деяких функцій від шуканих змінних. Він може використовуватися зокрема для апроксимації точкових значень деякою функцією. МНК є одним з базових методів регресійного аналізу для оцінки невідомих параметрів регресійних моделей за вибірковими даними.

Результат підгонки сукупності спостережень квадратичною функцією.

Нормальний розподіл (закон Гаусса)

Нормальний закон розподілу (normal law of distribution) (який ще називається законом Гаусса) відіграє виключно важливу роль в теорії ймовірностей і займає серед інших законів розподілу особливий стан. Це закон, який найчастіше зустрічається на практиці.

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

Випадкова величина ξ нормально розподілена або підпорядковується закону розподілу Гаусса, якщо її щільність розподілу має вигляд:

,

де а ‑ довільне дійсне число, > 0.

Коефіцієнт детермінації (позначається як R2 — R-квадрат) — статистичний показник, що використовується в статистичних моделях як міра залежності варіації залежної змінної від варіації незалежних змінних. Вказує наскільки отримані спостереження підтверджують модель.

Завантаження даних в WEKA

Тепер, коли файл з даними готовий, його потрібно завантажити в WEKA. Запустіть WEKA і виберіть опцію Explorer. В результаті відкриється закладка Preprocess вікна Explorer. Клацніть на кнопці Open File і виберіть створений вами ARFF-файл. Вікно WEKA Explorer із завантаженими даними про будинках показано на рис. 3.

 

 

Рис. 3. Вікно WEKA Explorer із завантаженими даними про будинки

 

У цьому вікні ви можете перевірити дані, на підставі яких ви збираєтеся будувати модель. У лівій частині вікна Explorer показані параметри об'єктів (Attributes), які відповідають заголовкам стовпців нашої вихідної таблиці, а також вказано кількість об'єктів (Instances), тобто рядків таблиці. Якщо ви клацнете мишкою на одному із заголовків стовпців, то в правій панелі буде виведена повна інформація про набір даних в даному стовпці. Наприклад, якщо ми виберемо стовпець houseSize в лівій панелі (він обраний за замовчуванням), то в правій панелі відобразиться додаткова статистична інформація з цього стовпця. Буде показано максимальне значення в стовпці (4032 кв.футів) і мінімальне значення (2200 кв.футів). Крім того, буде підраховано середнє значення (3131 кв.фут) і стандартне відхилення (655 кв.футів) (стандартне відхилення - статистичний показник розсіювання значень випадкової величини). Нарешті, тут же вам пропонується можливість візуального аналізу даних (кнопка Visualize All). Оскільки в нашій таблиці даних не так багато, то їх візуальне відображення не дає такої наочної аналітичної картини, як у випадку використання сотень або тисяч показників.

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

Рис. 4. Модель лінійного регресійного аналізу WEKA

 

Після того, як ми вибрали тип моделі, потрібно вказати WEKA, які дані повинні використовуватися для її створення. Незважаючи на те, що відповідь на це питання для нас цілком очевидна - потрібно взяти дані зі створеного нами ARFF-файлу - існує кілька інших, більш складних, можливостей надання даних для аналізу. Опція Supplied test set дозволяє вказати додатковий набір тестових даних для моделі, опція Cross-validation використовує кілька наборів даних, усереднює їх і будує модель на основі середніх значень, а опція Percentage split використовує в якості бази для моделі процентилі набору даних. Ці способи застосовуються для створення аналітичних моделей. У разі регресійного аналізу нам потрібна опція Use training set. У цьому випадку WEKA створить модель на базі даних із завантаженого ARFF-файлу.

Завершальний етап створення моделі - вибір залежної змінної (колонка, в якій знаходиться невідоме нам значення, яке потрібно розрахувати). У нашому прикладі - це ціна будинку, оскільки, саме це значення ми і хочемо дізнатися. Відразу після секції Test options знаходиться список, що розкривається, в якому вам потрібно вибрати залежний параметр. Типово повинен бути вибраний атрибут sellingPrice. Якщо це не так, виберіть самі цей параметр.

Ми визначили всі параметри і можемо приступити до створення моделі. Натисніть кнопку Start. У результаті вікно WEKA має виглядати так, як показано на рис. 5.


Рис. 5. Регресійна модель WEKA для розрахунку вартості будинку

Обчислення показника MPG

data = 8,390,190,3850,8.5,70,1,15 class (aka MPG) = -2.2744 * 0 + -4.4421 * 0 + 6.74 * 0 + 0.012 * 390 + -0.0359 * 190 + -0.0056 * 3850 + 1.6184 * 0 + 1.8307 * 0 + 1.8958 * 0 + 1.7754 * 0 + 1.167 * 0 + 1.2522 * 0 + 2.1363 * 0 + 37.9165   Expected Value = 15 mpg Regression Model Output = 14.2 mpg

Таким чином, при використанні випадково вибраних даних, результат роботи нашої моделі (14.2 MPG) виявився досить близькою до реального показника (15 MPG).

 

Контрольні запитання

1. Що таке WEKA?

2. Метод регресійного аналізу.

3. Метод найменших квадратів.

4. Закон нормального розподілу.


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

Вступ

В попередній лабораторній роботі ми отримали загальне уявлення про основні принципи інтелектуального аналізу даних і познайомилися з програмним пакетом Waikato Environment for Knowledge Analysis (WEKA), що дозволяє аналізувати значні обсяги інформації та визначати існуючі в них тренди і залежності. Крім того, ми ознайомилися з одним з методів інтелектуального аналізу даних, а саме регресійним аналізом, за допомогою якого можна спрогнозувати числове значення залежної величини на підставі набору показників незалежних величин.

Метод регресійного аналізу - найбільш простий і найменш ефективний спосіб інтелектуального аналізу даних, проте, побудова моделі регресійного аналізу є дуже зручним прикладом для початку роботи з WEKA, а сам метод наочно демонструє можливості інтелектуального аналізу з витягання придатних до подальшого використання відомостей з великих наборів «сирих» даних.

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

Поглянемо на це питання по-іншому: якби всі використовували тільки регресійний аналіз, то як той чи інший інтернет-магазин зміг би сказати нам: «Покупці, які купили X, також купили і Y»? Числової функції, яка вміла б визначати подібну інформацію, просто не існує. Тому ознайомимося з двома новими методами аналізу і розберемося, яку інформацію ми можемо отримати з їх допомогою.

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

Регресійний аналіз

Запитання: «За якою ціною ми повинні продавати новий BMW M5?» Регресійна модель в змозі відповісти на питання про конкретне числове значення. Модель регресійного аналізу в якості незалежних параметрів буде враховувати дані проданих автомобілів BMW і параметри моделі M5, а в якості залежного параметра - вартість автомобілів, проданих дилерським центром. Таким чином, підставивши дані нової моделі BMW в отриману залежність, дилерський центр зможе визначити ціну автомобіля.

 

Приклад:

Selling Price = $25,000 + ($2900 * Liters in Engine) + ($9000 * isSedan) + ($11,000 * isConvertible) + ($100 * inches of car) + ($22,000 * isM).

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

Запитання: «Яка ймовірність того, що хтось купить останню модель BMW M5?» Створення класифікаційної моделі (дерева рішень) дозволяє оцінити ймовірність того, що якась людина купить автомобіль моделі M5. В якості вузлів дерева можуть використовуватися такі показники, як вік, рівень доходу, кількість вже наявних машин, сімейний стан, діти, наявність власного будинку або оренда будинку. Параметри конкретної людини будуть використовуватися для проходження по дереву з метою визначення ймовірності покупки M5.

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

Запитання: «Який вік покупців, що віддають перевагу сріблястий BMW M5?». Необхідні дані можуть бути отримані при аналізі віку покупців і кольору обраних ними машин. Далі, на підставі отриманих даних, можна зробити висновок, що певна вікова група (наприклад, люди у віці від 22 до 30 років) віддає перевагу певному кольру BMW M5 (75% купують автомобілі синього кольору). Точно так, можна визначити, що інша вікова група (наприклад, люди у віці від 55 до 62 років) віддає перевагу сріблястому BMW (65% купують сріблясті автомобілі, а 20% купують сірі). Аналіз даних дозволить створити кластери за віковими групами і кольорами і визначити залежності між даними.

Метод найближчих сусідів

Питання: «Якщо людина купує автомобіль BMW M5, які ще товари вона може придбати?» Як свідчать статистичні дані, якщо людина купує BMW M5, то досить часто вона бере відповідну за кольором барсетку (подібні дослідження називаються «аналіз ринкового кошика»). Використовуючи подібні дані, дилерський центр може розмістити рекламу відповідних товарів або подати на друк оголошення про знижки на барсетки і сумки відповідного кольору або їх безкоштовну пропозицію всім покупцям M5 в якості одного із способів підвищення кількості продажів.

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

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

Набір даних для WEKA

Набір даних, який ми будемо використовувати для прикладу класифікаційного аналізу, містить інформацію, зібрану дилерським центром BMW. Центр починає рекламну кампанію, пропонуючи розширену дворічну гарантію своїм постійним клієнтам. Подібні кампанії вже проводилися, так що дилерський центр має 4500 показники щодо попередніх продажів з розширеною гарантією. Цей набір даних має такі атрибути:

 

· Розподіл за доходами

[0=$0-$30k,

1=$31k-$40k,

2=$41k-$60k,

3=$61k-$75k,

4=$76k-$100k,

5=$101k-$150k,

6=$151k-$500k,

7=$501k+]

· Рік / місяць покупки першого автомобіля BMW

· Рік / місяць покупки останнього автомобіля BMW

· Чи скористався клієнт розширеною гарантією

Файл даних у форматі Attribute-Relation File Format (ARFF) буде виглядати наступним чином:

@attribute IncomeBracket {0,1,2,3,4,5,6,7} @attribute FirstPurchase numeric @attribute LastPurchase numeric @attribute responded {1,0}   @data   4,200210,200601,0 5,200301,200601,1 ...

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

Завантажте файл bmw-training.arff в програмний пакет WEKA, використовуючи ті ж кроки, які ми виконали для завантаження даних у випадку регресійного аналізу.

Зауваження: в пропонованому файлі містяться 3000 з наявних 4500 записів. Ми розділили набір даних так, щоб частина їх використовувалася для створення моделі, а частина - для перевірки її точності, щоб переконатися, що модель не є підігнаною під конкретний набір даних.

Після завантаження даних вікно WEKA має виглядати так, як показано на рис. 1.


Рис. 1. Дані дилерського центру BMW для класифікації в WEKA

 

Аналогічно тому, як ми вибирали тип моделі для регресійного аналізу в попередній лабораторній роботі, тепер нам слід вибрати модель для класифікації: відкрийте закладку Classify, виберіть опцію trees, а потім опцію J48.


Рис. 2. Алгоритм класифікації даних BMW


Тепер ми готові приступити до створення конкретної моделі аналізу засобами пакета WEKA. Переконайтеся, що обрана опція Use training set, щоб пакет WEKA при створенні моделі використовував саме ті дані, які ми тільки що завантажили у вигляді файлу. Натисніть кнопку Start і надайте WEKA можливість попрацювати з нашими даними. Результуюча модель повинна виглядати так, як показано нижче:

 

Рис. 3. Візуальне подання дерева класифікації

 

Залишився останній етап перевірки класифікаційного дерева: нам треба пропустити набір даних, що залишився через отриману модель і перевірити, наскільки результати класифікації будуть відрізнятися від реальних даних. Для цього в секції Test options виберіть опцію Supplied test set і натисніть на кнопку Set. Вкажіть файл bmw-test.arff, що містить решту 1500 даних, які не були включені в навчальний набір. При натисканні на кнопку Start WEKA пропустить тестові дані через модель і покаже результат роботи моделі. Давайте натиснемо на Start і перевіримо, що у нас вийшло.



Рис 4. Перевірка класифікаційного дерева

 

Порівнюючи показник Correctly Classified Instances для тестового набору (55,7%) з цим же показником для навчального набору (59,1%), ми бачимо, що точність моделі для двох різних наборів даних приблизно однакова. Це означає, що нові дані, які будуть використовуватися в цій моделі в майбутньому, не знизять точність її роботи.

Однак, оскільки власне точність моделі досить низька (всього лише 60% даних класифіковано вірно), ми маємо повне право зупинитися і сказати: «На жаль, ця модель взагалі нікуди не годиться. Вона працює з точністю трохи вище 50%, з таким же успіхом ми можемо просто намагатися вгадати значення випадковим чином». І цей вислів буде цілком справедливим. Це приводить нас до розуміння дуже важливого факту: існують випадки, коли використання алгоритмів інтелектуального аналізу даних призводить до створення невдалої аналітичної моделі. Наш приклад - наочнй тому доказ, і саме для цього ми його розглянули.

Ми свідомо проробили всі кроки, необхідні для створення класифікаційного дерева на підставі даних, здавалося б, ідеально відповідних для класифікаційної моделі. Однак, результат, отриманий WEKA, вказує на помилковість наших міркувань. Класифікаційна модель не підходить для аналізу наявних у нас даних. Створена нами модель не дасть нам ніяких корисних відомостей, а її використання може призвести до прийняття неправильних рішень і втрати грошей.

Чи означає це, що наші дані взагалі не підлягають ніякому аналізу? Відповідь демонструє ще одну важливу особливість інтелектуального аналізу даних: використовуючи метод «найближчих сусідів», який ми детально розглянемо в майбутньому, ми створимо іншу модель на базі цього ж набору даних, з точністю роботи 88%. Отже, завжди необхідно пам'ятати, що для того, щоб витягти корисну інформацію з великого набору даних, вам слід вибрати відповідну модель.

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

Кластеризація дозволяє розбити дані на групи, кожна з яких має певні ознаки. Метод кластерного аналізу використовується в тих випадках, коли необхідно виділити деякі правила, взаємозв'язки або тенденції у великих наборах даних. Залежно від потреб, ви можете виділити кілька різних груп даних. Одна з явних переваг кластеризації в порівнянні з класифікацією полягає в тому, що для розбиття множини на групи може використовуватися будь-який атрибут (метод класифікації використовує тільки певну підмножину атрибутів). В якості основного недоліку методу кластеризації слід зазначити той факт, що укладач моделі повинен заздалегідь вирішити, на скільки груп слід розбити дані. Для людини, яка не має жодного уявлення про конкретний набір даних, прийняти таке рішення досить важко. Нам варто створити три групи або п'ять груп? А може, нам потрібно визначити десять груп? Може знадобитися кілька повторювань проб і помилок, для того щоб визначити оптимальну кількість кластерів.

Тим не менше, для середньостатистичного користувача кластеризація може виявитися найбільш корисним методом інтелектуального аналізу даних. Цей метод дозволить вам швидко розбити ваші дані на окремі групи і зробити конкретні висновки і припущення щодо кожної групи. Математичні методи, що реалізують кластерний аналіз, досить складні і заплутані, так що в разі кластеризації ми будемо цілком покладатися на обчислювальні можливості WEKA.

Набір даних для WEKA

Для побудови моделі кластеризації ми знову скористаємося даними дилерського центру BMW. Співробітники центру зібрали дані про усіх відвідувачів демонстраційного залу, машинах, які їх зацікавили, і про те, наскільки часто відвідувачі демонстраційного залу в підсумку купували автомобіль, який їм сподобався. Тепер дилерському центру треба проаналізувати ці дані для того, щоб виділити різні групи відвідувачів і зрозуміти, чи не можна визначити будь-які тенденції в їх поведінці. У нашому прикладі використовується 100 записів, і кожен стовпець описує певний етап, який, як правило, проходить покупець у процесі вибору та придбання автомобіля. Відповідно, значення 1 у стовпці говорить про те, що відвідувач пройшов конкретний етап, а 0 - що відвідувач цей етап не пройшов. Файл з даними у форматі ARFF приведений нижче.

 

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

Завантажте файл bmw-browsers.arff в WEKA, виконавши ті ж кроки, які ми виконали раніше для відкриття даних у закладці Preprocess. Витратьте кілька хвилин на візуальний аналіз даних, зверніть увагу на атрибути даних, розподіл даних по стовпцях, і так далі. Після завантаження даних ваш екран WEKA повинен виглядати так, як показано на рис. 5.


Рис. 5. Дані BMW для кластеризації

Оскільки ми хочемо розбити наявні в нас дані на кластери, замість закладки Classify нам буде потрібно закладка Cluster. Натисніть на кнопку Choose і в пропонованому меню виберіть опцію SimpleKMeans (в рамках даної роботи ми будемо користуватися цим методом кластеризації). У результаті вікно WEKA Explorer буде виглядати так, як показано на рис. 6.



Рис. 6. Алгоритм кластеризації даних BMW

 

Тепер нам потрібно вибрати необхідні параметри для нашого алгоритму кластеризації. Клацніть на опції SimpleKMeans (дизайн користувальницького інтерфейсу залишає бажати кращого, але працювати з ним можна). Єдиний атрибут алгоритму, який нас цікавить - це поле numClusters, яке вказує на кількість кластерів для розбиття (нагадуємо, що це значення вам потрібно вибрати ще до створення моделі). Змінимо значення за замовчуванням (2) на 5. Постарайтеся запам'ятати послідовність кроків, щоб ви змогли згодом змінити кількість кластерів. Тепер ваше вікно WEKA Explorer має виглядати так, як показано на рис. 7. Натисніть на кнопку OK, щоб зберегти вибрані параметри.


Рис. 7. Налаштування алгоритму кластеризації

 

Тепер ми можемо приступити до створення моделі. Як вже зазначалося вище, для розбиття 100 рядків на 5 кластерів за допомогою електронних таблиць було б потрібно декілька годин, проте WEKA видає нам результат менш ніж за секунду. Результат обробки наших даних показаний нижче.

Результати кластеризації

Cluster#Attribute Full Data 0 1 2 3 4 (100) (26) (27) (5) (14) (28)==================================================================================Dealership 0.6 0.9615 0.6667 1 0.8571 0Showroom 0.72 0.6923 0.6667 0 0.5714 1ComputerSearch 0.43 0.6538 0 1 0.8571 0.3214M5 0.53 0.4615 0.963 1 0.7143 03Series 0.55 0.3846 0.4444 0.8 0.0714 1Z4 0.45 0.5385 0 0.8 0.5714 0.6786Financing 0.61 0.4615 0.6296 0.8 1 0.5Purchase 0.39 0 0.5185 0.4 1 0.3214 Clustered Instances 0 26 (26%)1 27 (27%)2 5 (5%)3 14 (14%)4 28 (28%)

 

Як нам інтерпретувати отриманий результат? Дані кластеризації показують, яким чином сформований кожен кластер: значення «1» означає, що у всіх даних в цьому кластері відповідний атрибут дорівнює 1, а значення «0» означає, що у всіх даних в цьому кластері відповідний атрибут дорівнює 0. Дані відповідають середньому значенню атрибута у кластері. Кожен кластер характеризує певний тип поведінки клієнтів, таким чином, на підставі нашого розбиття ми можемо зробити деякі корисні висновки:

· Кластер 0 - цю групу відвідувачів можна було б назвати «мрійники». Вони бродять навколо дилерського центру, розглядаючи машини, виставлені на зовнішній парковці, але ніколи не заходять всередину, і, гірше того, ніколи нічого не купують.

· Кластер 1 - цю групу слід було б назвати «шанувальники М5», оскільки вони відразу ж підходять до виставлених автомобілів цієї моделі, повністю ігноруючи BMW серії 3 або Z4. Тим не менш, ця група не відрізняється високими показниками покупки машин - всього 52%. Це потенційно може свідчити про недостатньо продуману стратегію продажів і про необхідність поліпшити роботу дилерського центру, наприклад, за рахунок збільшення кількості продавців у секції M5.

· Кластер 2 - ця група настільки мала, що ми могли б назвати її вибраковуванням. Справа в тому, що дані цієї групи статистично досить розкидані, і ми не можемо зробити будь-яких певних висновків щодо поведінки відвідувачів, що потрапили в цей кластер (подібна ситуація може вказувати на те, що вам слід скоротити кількість кластерів в моделі)

· Кластер 3 - цю групу слід було б назвати «улюбленці BMW», тому що відвідувачі, що потрапили в цей кластер, завжди купують машину і отримують необхідне фінансування. Зверніть увагу, дані цього кластеру демонструють цікаву модель поведінки цих покупців: спочатку вони оглядають виставлені на парковці машини, а потім звертаються до пошукової системи дилерського центру. Як правило, вони купують моделі M5 або Z4, але ніколи не беруть моделі третьої серії. Дані цього кластеру вказують на те, що дилерському центру слід активніше привертати увагу до пошукових комп'ютерів (можливо, винести їх на зовнішню парковку), і крім того, слід знайти якийсь спосіб виділити моделі M5 і Z4 в результатах пошуку, щоб гарантовано звернути на них увагу відвідувачів. Після того, як відвідувач, що потрапив в цей кластер, вибрав певну модель автомобіля, він гарантовано отримує необхідний кредит і здійснює покупку.

· Кластер 4 - цю групу можна назвати «початківці власники BMW», оскільки вони завжди шукають моделі 3 серії і ніколи не цікавляться більш дорогими M5. Вони відразу ж проходять в демонстраційний зал, не витрачаючи час на огляд машин на зовнішній стоянці. Крім того, вони не користуються пошуковою системою центру. Приблизно 50% цієї групи отримують схвалення по кредиту, тим не менш, покупку роблять всього 32% учасників. Аналізуючи дані цього кластеру, можна зробити наступний висновок: відвідувачі цієї групи хотіли б купити свій перший BMW і точно знають, яка машина їм потрібна (модель 3 серії з мінімальною конфігурацією). Однак, для того щоб купити машину, їм потрібно отримати позитивне рішення по кредиту. Щоб підвищити рівень продажів серед відвідувачів 4 кластера, дилерському центру слід було б знизити рівень вимог для отримання кредиту або знизити ціни на моделі 3 серії.

Ще один цікавий спосіб вивчення результатів кластеризації - це візуальне подання даних. Клацніть правою кнопкою мишки в секції Result List закладки Cluster. У контекстному меню виберіть опцію Visualize Cluster Assignments. В результаті відкриється вікно з графічним представленням результатів кластеризації, налаштування якого ви можете вибрати найбільш зручним для вас чином. Для нашого прикладу, змініть настройку осі X так, щоб вона відповідала кількості автомобілів М5 (M5 (Num)), а настройку осі Y - так, щоб вона показувала кількість куплених автомобілів (Purchase (Num)), і вкажіть виділення кожного кластера окремим кольором (для цього встановіть значення поля Color в Cluster (Nom)). Такі налаштування допоможуть нам оцінити розподіл по кластерах залежно від того, скільки людина цікавилося BMW M5, і скільки чоловік купило цю модель. Крім того, посуньте покажчик Jitter приблизно на три чверті у бік максимуму, це штучно збільшить розкид між групами точок, щоб нам було зручніше їх переглядати.

Чи відповідає візуальне відображення кластеризації тим висновкам, які ми зробили на підставі даних в одержаному результаті кластеризації? Як ми бачимо, поблизу точки X = 1, Y = 1 (відвідувачі, які цікавилися автомобілями моделі M5 і купили їх) розташовані тільки два кластери: 1 і 3. Аналогічно, поблизу точки X = 0, Y = 0 розташовані тільки два кластери: 4 і 0. Чи відповідає це нашим висновкам? Так, відповідає. Кластери 1 і 3 купують BMW M5, в той час як кластер 0 не купує нічого, а кластер 4 шукає BMW серії 3. На рис. 8 показано візуальне відображення кластерів нашої моделі. Пропонуємо вам самостійно попрактикуватися у виявленні інших трендів і течій, змінюючи налаштування осей X і Y.

 


Рис. 8. Візуальне відображення кластеризації

 

Контрольні запитання

 

1. З якими методами інтелектуального аналізу даних ми ознайомилися в даній лабораторній роботі?

2. Під якими іншими назвами відомий метод класифікації?

3. У чому полягає основна перевага класифікаційних дерев?

4. Суть підходу створення моделі на основі навчальної послідовності (training set).

5. З якою метою в методі класифікаційного аналізу набір відомих даних ділиться на дві частини?

6. Принцип відсікання гілок. Для чого може бути потрібно видаляти інформацію з дерева рішень?

7. Сенс проблеми помилкового розпізнавання. Що є більш небажаним: хибно-позитивне чи хибно-негативне розпізнавання? Яке співвідношення хибно-негативних розпізнавань до хибно-позитивних може вважатися прийнятним?

8. В результаті аналізу для тестового і навчального набору даних одержана приблизно однакова точність. Як це вплине на нові дані які будуть використовуватися в цій моделі в майбутньому?

9. Коли використовується метод кластерного аналізу?

10. Основний недолік методу кластеризації.


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

 

Вступ

У двох попередніх лабораторних роботах ми розглянули основні концепції інтелектуального аналізу даних.

Перший вивчений нами метод - метод регресійного аналізу використовується для прогнозування чисельного результату (наприклад, вартості будинку), ґрунтуючись на аналогічних відомих прикладах.

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

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

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



Поделиться:


Последнее изменение этой страницы: 2016-04-19; просмотров: 1384; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.222.78.65 (0.013 с.)