- •Лабораторна робота №1 Інтелектуальний аналіз даних за допомогою програмного пакета weka
- •Регресійний аналіз
- •Створення набору даних для завантаження в weka
- •Файл даних для завантаження в weka
- •Завантаження даних в weka
- •Створення регресійної моделі в weka
- •Інтерпретація результатів регресійного аналізу
- •Готова модель регресійного аналізу
- •Розрахунок вартості будинку на базі готової моделі
- •Модель регресійного аналізу для визначення mpg
- •Обчислення показника mpg
- •Класифікація, кластеризація і метод найближчих сусідів
- •Регресійний аналіз
- •Класифікація
- •Кластеризація
- •Метод найближчих сусідів
- •Класифікація
- •Просте класифікаційне дерево
- •Набір даних для weka
- •Класифікація в weka
- •Результат роботи класифікаційної моделі weka
- •Кластеризація
- •Короткий огляд математичних методів
- •Набір даних для weka
- •Дані для кластерного аналізу засобами weka
- •Кластеризація в weka
- •Результати кластеризації
- •Лабораторна робота №3 Інтелектуальний аналіз даних за допомогою програмного пакета weka. Метод найближчих сусідів. Вступ
- •Метод найближчих сусідів
- •Математичний алгоритм методу найближчих сусідів
- •Математична модель методу найближчих сусідів
- •Набір даних для weka
- •Реалізація методу найближчих сусідів у weka
- •Контрольні запитання
- •Лабораторна робота №4 Знайомство з Statistica. Робота з таблицями даних і побудова графіків
- •Завдання 1. Робота з таблицями
- •Завдання 2. Побудова графіків
- •Завдання 3.
- •Описова статистика
- •Лабораторна робота 6 Лінійна регресія
- •Лабораторна робота №7 Багатофакторна регресія
- •Конторольні запитання
- •Лабораторна робота 8 Нелінійна регресія
- •Лабораторна робота 9 Часові ряди (виділення періодичних складових)
- •Список використаної літератури
Набір даних для 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 можливість попрацювати з нашими даними. Результуюча модель повинна виглядати так, як показано нижче:
Результат роботи класифікаційної моделі weka
Number of Leaves : 28
Size of the tree : 43
Time taken to build model: 0.18 seconds
=== Evaluation on training set ===
=== Summary ===
Correctly Classified Instances 1774 59.1333 %
Incorrectly Classified Instances 1226 40.8667 %
Kappa statistic 0.1807
Mean absolute error 0.4773
Root mean squared error 0.4885
Relative absolute error 95.4768 %
Root relative squared error 97.7122 %
Total Number of Instances 3000
=== Detailed Accuracy By Class ===
TP Rate FP Rate Precision Recall F-Measure ROC Area Class
0.662 0.481 0.587 0.662 0.622 0.616 1
0.519 0.338 0.597 0.519 0.555 0.616 0
Weighted Avg. 0.591 0.411 0.592 0.591 0.589 0.616
=== Confusion Matrix ===
a b <-- classified as
1009 516 | a = 1
710 765 | b = 0
Розберемося що означають всі ці числа. Як нам зрозуміти, наскільки хороша отримана модель? І де, власне, це так зване «дерево», яке мало вийти в результаті? Цілком закономірні питання. Давайте відповімо на кожне з них по черзі:
Що означають всі ці числа? Найбільш суттєві дані - це показники класифікації "Correctly Classified Instances" (59.1%) і "Incorrectly Classified Instances" (40.9%). Крім того, слід звернути увагу на число в першому рядку стовпця ROC Area (0.616). Трохи пізніше ми докладніше обговоримо ці значення, поки ж просто запам'ятайте їх. Нарешті, таблиця Confusion Matrix показує кількість хибно-позитивних (516) і хибно-негативних (710) розпізнавань.
Як зрозуміти, наскільки хороша отримана модель? Оскільки показник точності нашої моделі - 59,1%, то в первісному розгляді її не можна назвати досить хорошою.
Де це так зване дерево? Ви зможете побачити дерево, якщо клацнете правою кнопкою миші в панелі результуючої моделі. У контекстному меню виберіть опцію Visualize tree . На екрані відобразиться візуальне уявлення класифікаційного дерева нашої моделі (рис. 3), проте в даному випадку картинка мало чим нам допоможе. Ще один спосіб побачити дерево моделі - прокрутити вгору висновок у вікні Classifier Output, там ви знайдете текстовий опис дерева з вузлами і листками.
Рис. 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%. Отже, завжди необхідно пам'ятати, що для того, щоб витягти корисну інформацію з великого набору даних, вам слід вибрати відповідну модель.
