Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методи побудови правил класифікації(лаб1)12.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
468.48 Кб
Скачать

2.2. Дискретизація

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

Як приклад, значення незалежної змінної набору даних― температура дає такі класифікаційні пари:

64

65

68

69

70

71

72

72

75

75

80

81

83

85

Так

Ні

Так

Так

Так

Ні

Так

Ні

Так

Так

Ні

Так

Так

Ні

За цим алгоритмом буде утворений інтервал для значення «Так» від 64 до 71, інший інтервал для значення «Так» від 71 до 83, а значенню «Ні» тільки 85.

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

Новий підхід

Цей алгоритм для поділу безперервного діапазону в дискретні інтервали виглядає таким чином:

1. Сортування кортежів по значенню атрибута.

2. Сформувати інтервали, поставивши точку поділу між кожною парою різних значень.

3. Повторювати:

а) видалити точку поділу між інтервалами з однаковими значеннями,

б) розглянути зниження точності, в результаті видалення кожної точки поділу,

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

4. Вибрати кращий точки поділу на точність проти кількість частин кривої.

Зробити вибір між кількістю точок поділу та точністю.

Як будуть оброблені дані про температуру:

64

65

68

69

70

71

72

72

75

75

80

81

83

85

Так

Ні

Так

Так

Так

Ні

Так

Ні

Так

Так

Ні

Так

Так

Ні

Видаляємо точки розподілу між інтервалами, які мають однакове значення залежної змінної.

64

65

68

69

70

71

72

72

75

75

80

81

83

85

Так

Ні

Так

Так

Так

Ні

Так

Ні

Так

Так

Ні

Так

Так

Ні

Кожна з точок розподілу ділить інтервали, у яких значення залежної змінної різне і видалення будь-якого з них зменшує загальну точність квантування. Наприклад, видалення точки розподілу між 65 і 68 створюється новий інтервал від 65 до 70,у якому переважає клас значення «Так». Значення «Ні» у цьому інтервалі неправильно класифіковане як «Так», в результаті цього скорочення точності становить 7% (воно є найменшим на даному етапі, хоча є інші значення з такою ж втратою точності)

64

65

68

69

70

71

72

72

75

75

80

81

83

85

Так

Ні

Так

Так

Так

Ні

Так

Ні

Так

Так

Ні

Так

Так

Ні

Видалення точки поділу між 64 і 65 може бути здійснене без втрати точності.

64

65

68

69

70

71

72

72

75

75

80

81

83

85

Так

Ні

Так

Так

Так

Ні

Так

Ні

Так

Так

Ні

Так

Так

Ні

Алгоритм продовжує видаляти точки поділу і записувати отриману точність, доки не залишиться жодної точки поділу. Результатом здійснення можуть бути зведені в таблицю, де показано вплив зменшення точок поділу на точність (Таблиця 2.2.1).

Компроміс між поділами та точністю Таблиця 2.2.1

Точки поділу

Точність

7

13

6

12

5

12

4

11

3

10

2

10

1

9

0

9

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