1. Харьковский национальный университет имени В. Н. Каразина
Факультет компьютерных наук
ИНТЕЛЛЕКТУАЛЬНЫЙ
АНАЛИЗ ДАННЫХ
Data Mining
Подготовил:
доцент каф. искусственного интеллекта и программного обеспечения,
к.ф.-м. н. Гахов Андрей Владимирович
2014/2015 уч. год
4. НОРМАЛИЗАЦИЯ ДАННЫХ
• Единица измерения может влиять на результат. Описание
атрибута в меньших единицах измерения (например, в см
вместо метров) приводит к большему диапазону
значений и, следовательно, придает данному атрибуту
больший “вес”
• Нормализация (стандартизация) данных предназначена
для устранения зависимости от выбора единицы
измерения и заключается в преобразовании диапазонов
значений всех атрибутов к стандартным интервалам
[-1, 1] или [0, 1]
• Нормализация данных направлена на придание всем
атрибутам одинакового “веса”.
5. НОРМАЛИЗАЦИЯ ДАННЫХ
• Пусть x - численный атрибут, наблюдаемые
значения которого есть x1, x2, …, xN
• Рассмотрим основные методы нормализации
данных, применяемые на практике:
• min-max нормализация
• z-нормализация
• масштабирование
6. НОРМАЛИЗАЦИЯ ДАННЫХ
MIN-MAX НОРМАЛИЗАЦИЯ
min-max нормализация заключается в применении к
диапазону значений атрибута x линейного преобразования,
которое отображает [min(x), max(x)] в [A, B]
x′i =τ xi ( ) = xi −min(x)
max(x)−min(x)
⋅(B − A)+ A
x ∈[min(x), max(x)]⇒τ (x)∈[A, B]
• min-max нормализация сохраняет все зависимости и порядок
оригинальных значений атрибута
• Если данные содержат доминирующие аномалии (аутлаеры),
тогда такое преобразование сильно “сожмет” основную массу
значений к очень маленькому интервалу!
7. НОРМАЛИЗАЦИЯ ДАННЫХ
ПРИМЕР: MIN-MAX НОРМАЛИЗАЦИЯ
Пусть атрибут зарплата принимает следующие
значения (грн): 3000, 3600, 4700, 5000, 5200, 5200,
5600, 6000, 6300, 7000, 7000, 11000
Преобразуем диапазон значений данного атрибута x
к интервалу [0, 1] при помощи min-max нормализации
min(x) = 3000, max(x) = 11000⇒ x ∈[3000,11000]
A = 0, B = 1⇒ x′ =τ (x)∈[0,1]
x′i =τ xi ( ) = xi − 3000
8000
x′3 =τ x3 ( ) =τ (4700) = (4700 − 3000)
8000
= 0.2125
8. НОРМАЛИЗАЦИЯ ДАННЫХ
Z-НОРМАЛИЗАЦИЯ
z-нормализация (zero-mean normalization) основывается
на приведении распределения исходного атрибута x к
центрированному распределению со стандартным
отклонением, равным 1
x′i =τ xi ( ) = xi − x
σ x
M[x′] = x′ = 1
N
xi − x
σ i=1 x
NΣ
= 1
σ x
1
N
xi
NΣ
i=1
− x
⎛
⎝ ⎜
⎞
⎠ ⎟
= 0
D[x′] = M (x′)2 ⎡⎣⎤⎦
− (M[x′])2 == M (x′)2 ⎡⎣
⎤⎦
= M
⎡ 2
x − x
σ x
⎛
⎝ ⎜
⎞
⎠ ⎟
⎣ ⎢⎢
⎤
⎦ ⎥⎥
= 1
σ x
2 M (x − x )2 ⎡⎣
⎤⎦
= D[x]
σ x
2 = 1
• Метод полезен когда максимум (минимум) неизвестны или
когда данные содержат доминирующие аномалии (аутлаеры)
9. НОРМАЛИЗАЦИЯ ДАННЫХ
Z-НОРМАЛИЗАЦИЯ
• Одна из модификаций метода z-нормализации
заключается в использовании среднего абсолютного
отклонения вместо среднеквадратического отклонения
NΣ
• Данная модификация более устойчива к аномалиям
(аутлаерам), т.к. вместо ( − )2
x x использует x− x , что в
i i значительно меньшей мере увеличивает влияние аутлаеров,
которые сильно отклоняются от среднего значения
x′i =τ xi ( ) = xi − x
sx
sx = 1
N
xi − x
i=1
где
10. НОРМАЛИЗАЦИЯ ДАННЫХ
ПРИМЕР: Z-НОРМАЛИЗАЦИЯ
Пусть атрибут зарплата принимает следующие
значения (грн): 3000, 3600, 4700, 5000, 5200, 5200,
5600, 6000, 6300, 7000, 7000, 11000
Необходимо провести z-нормализацию атрибута
x = 5800,σ x Ранее мы уже вычислили значения ≈1947
x′i =τ xi ( ) = xi − 5800
1947
x′3 =τ x3 ( ) =τ (4700) = (4700 − 5800)
1947
≈ -0.56497
11. НОРМАЛИЗАЦИЯ ДАННЫХ
МАСШТАБИРОВАНИЕ
Масштабирование заключается в изменении
длины вектора значений атрибута путем
умножения на константу
x′i =τ xi ( ) = λ ⋅ xi λ ≠ 0,λ = const
Длина вектора x уменьшается при λ <1
и увеличивается,
если
λ >1
• Популярные константы на практике
λ = 1
x
⇒ x′ =τ (x) = x
x
⇒ x′ = 1
λ = 10− p , p = min
k
xi
:max
10k i=1..N
xi
10k
⎛
⎝ ⎜
⎞
⎠ ⎟
≤1
⎧⎨⎩
⎫⎬⎭
⇒ x′ =τ (x) = x
10p ⇒ x′ ∈[−1,1]
•
•
12. НОРМАЛИЗАЦИЯ ДАННЫХ
ПРИМЕР: МАСШТАБИРОВАНИЕ
Пусть атрибут зарплата принимает следующие
значения (грн): 3000, 3600, 4700, 5000, 5200, 5200,
5600, 6000, 6300, 7000, 7000, 11000
Необходимо провести масштабирование
атрибута, чтобы значения были в [-1, 1]
τ xi ( ) = xi
105
xi ( )
105 = 0.11 <1⇒ p = 5
x′3 =τ x3 ( ) =τ (4700) = 4700
105 = 0.047
λ = 10− p , max
i=1..N
xi ( ) = 11000⇒
max
i=1..N
13. ЗАДАНИЯ
Для приведенных примеров нормализации данных
необходимо:
• закончить нормализацию всех наблюдений
• применить масштабирование с
λ = 1
визуализировать нормализованные x
• значение
• указать возможные аутлаеры в значениях
• сравнить полученные нормализованные значения
• как аутлаеры повлияли на полученные значения в
использованных методах нормализации?
14. ЗАДАНИЯ
• Значения атрибутов рост (см) и вес (кг) для студентов группы
представлены в таблице:
рост вес рост вес рост вес рост вес рост вес
185 77 163 68 173 82 193 70 175 83
170 66 188 82 180 84 183 79 165 66
183 75 185 74 178 100 175 77 178 67
183 77 165 61 183 84 183 70 188 95
175 76 185 77 188 84 185 76 178 63
• Необходимо:
• провести нормализацию данных данных атрибутов, чтобы они
были сравнимы и их различные шкалы не влияли на “вес”
атрибута
• применить все известные вам методы нормализации данных
• выбрать метод нормализации, который, как вам кажется,
наиболее подходит для рассматриваемой задачи
16. ДИСКРЕТИЗАЦИЯ
• Под дискретизацией ч и с л е н н о г о а т р и б у т а
подразумевается замена исходных значений атрибута на
интервальные или концептуальные метки
• Например, значения атрибута возраст могут быть
заменены на 0-10, 11-20, … (интервальные метки) или на
молодой, взрослый, старый (концептуальные метки)
• Метки в свою очередь могут быть объединены в понятия
более высокого уровня, определяя таким образом
иерархию понятий численного атрибута
возраст (0-100)
0-30 31-60 61-100
0-10 11-20 21-30 31-40 41-50 51-60 61-75 76-90 91-100
17. ДИСКРЕТИЗАЦИЯ
• По использованию данных о классе дискретизации разделяют на:
• дискретизация с учителем (supervised discretization) используют
информацию о классах данных
• дискретизация без учителя (unsupervised discretization) НЕ
используют информацию о классах данных
По методу построения дискретизации разделяют на:
• дискретизация сверху-вниз (разбиение) начинается с поиска
некоторых значений (точек разбиения) для разбиения диапазона
значений на несколько частей и повторением процедуры на каждом
из полученных множеств
• дискретизация снизу-вверх (слияние) начинается с рассмотрения
всех точек как потенциальных точек разбиения, удаления
некоторых из них путем объединения соседних значений в
интервалы и повторением процедуры на полученных интервалах
Дискретизация данных - это также форма редукции данных
18. ДИСКРЕТИЗАЦИЯ
МЕТОДЫ ДИСКРЕТИЗАЦИИ
• Биннинг
• Биннинг реализует дискретизацию сверху-вниз без учителя
• Значения атрибутов дискретизируются путем построения бинов
одинаковой длины (или частоты) и заменой значений на медиану
• Гистограмма
• Гистограмма реализует дискретизацию сверху-вниз без учителя
• Применяют равночастотные (когда разбиение ведется на
интервалы с одинаковым количеством попавших в них значений) и
равномерные гистограммы (когда разбиение ведется на
интервалы равной длины)
• Кластерный анализ
• Кластерный анализ позволяет выделить кластеры в значениях
атрибута на основе их “близости” в том или ином смысле
• Кластерный анализ может реализовывать как дискретизацию сверху-
вниз так и снизу-вверх, укрупняя имеющиеся кластеры
19. ЗАДАНИЯ
• Пусть атрибут цена принимает следующие значения
(грн.): 5, 10, 11, 13, 15, 35, 50, 55, 72, 92, 204, 215
• Необходимо
• разбить значения данного атрибута:
• на 3 бина одинаковой длины
• на 3 бина с одинаковым количеством значений
• предложить интервальные и концептуальные метки
• построить иерархию с 3 уровнями понятий
• построить 3 кластера по критерию близости цены
21. ПОСТРОЕНИЕ ИЕРАРХИЙ
• Построение иерархий понятий (Concept Hierarchy
Generation) заключается в обобщении атрибутов более
общими (высокого уровня) понятиями. Например,
атрибут город может быть обобщен понятием страна
• Номинативные атрибуты могут принимать конечное (но
достаточно большое) количество различных значений без
отношения порядка (например, атрибут улица).
• В общем случае построение иерархий может быть
сложной задачей, требующей экспертных знаний из
предметной области
• Если данные хранятся в базах данных, тогда много
иерархий можно простроить просто на основе схемы БД
22. ПОСТРОЕНИЕ ИЕРАРХИЙ
• Основные методы построения иерархий:
• введение отношения (частичного) порядка
между атрибутами при помощи пользователя
или эксперта
• введение части иерархий путем явной
группировки данных
• введение группы атрибутов без их
частичного упорядочивания
• определение частичной группы атрибутов
23. ПОСТРОЕНИЕ ИЕРАРХИЙ
Введение отношения (частичного) порядка
между атрибутами при помощи эксперта
• Как правило, пользователь или эксперт
предметной области может определить на
уровне схемы данных отношение частичного
или полного порядка
Например, реляционная база данных содержит
группу атрибутов: улица, город, страна. Иерархия
может быть построена путем определения
полного порядка: улица < город < страна
24. ПОСТРОЕНИЕ ИЕРАРХИЙ
Введение части иерархий путем явной группировки
• Заключается в введение новых иерархий, путем
явного указания группы включаемых в нее значений
• Фактически это ручное определение иерархий
(поэтому реализуемо лишь для части иерархий в
больших базах данных)
Например, после определения иерархий город и страна
на уровне схемы данных, мы можем ввести некоторый
промежуточный уровень область вручную путем
перечисления принимаемых значений:
{Харьков, Чугуев, …} ⊂ Харьковская область и
{Харьковская область, Сумская область, …} ⊂ Украина
25. ПОСТРОЕНИЕ ИЕРАРХИЙ
Определение группы атрибутов без упорядочивания
• Пользователь или эксперт определяют лишь группу
атрибутов, не указывая их порядок
• Упорядочивание осуществляется автоматически
используя информацию о значениях и их количестве
Например, атрибут (из указанной экспертом группы)
принимающий наибольшее количество различных значений
автоматически помещается на низший уровень иерархии
Такой эвристический подход часто бывает ошибочен!
Рассмотрим группу атрибутов: год (20 значений), месяц
(12 значений) и день недели (7 значений). Данный метод
построит иерархию: год < месяц < день недели
26. ПОСТРОЕНИЕ ИЕРАРХИЙ
Определение частичной группы атрибутов
• Зачастую пользователь не может (или не хочет) полностью
определить группу атрибутов для построения иерархии
• Как решение данной проблемы неполной иерархии могут
применяться семантические связи между атрибутами
(например, традиционный понятия или концепции в схеме
данных). Тогда при определении хотя бы одного атрибута
группы, иерархия может быть дополнена известными
семантически связанными с ним значениями
Например, пусть известно, что понятие адрес, как правило,
включает семантически связанные атрибуты номер дома < улица
< город < страна. Тогда, если пользователем определен только
атрибут город, то система автоматически включает все остальные
атрибуты понятия адрес в иерархию.