Предварительная обработка данных — различия между версиями
м (Kirill112002 переименовал страницу Предобработка данных в Предварительная обработка данных) |
|||
Строка 1: | Строка 1: | ||
+ | = Преобразование числа = | ||
+ | Обычно с числами довольно удобно работать и преобразовывают их достаточно редко. | ||
+ | |||
+ | '''Дискретизация''' | ||
+ | * Преобразование в порядковый признак. (берём в числах диапазоны и диапазонам сопоставляем категории) | ||
+ | * Преобразование в категориальный признак. ('''НО''' теряется информация о порядке) | ||
+ | |||
+ | = Преобразование порядкового типа = | ||
+ | [[File:Преобразование_порядкового_типа_в_k_категорий.png|250px|thumb|рис1. (A<B<C)]] | ||
+ | * Преобразование в число(берём его порядковый номер) | ||
+ | * Преобразование в k бинарных категорий(если число значений конечно и равно k): | ||
+ | |||
+ | <tex>c_i(ord) := (ord < ord_i), где </tex>{<tex>ord_1, ..., ord_k</tex>} - множество значений порядкового признака.(см. рис1) | ||
+ | |||
+ | = Преобразование категории = | ||
+ | [[File:Преобразование_небинарной_категории_в_бинарную.png|250px|thumb|рис2. (A<B<C)]] | ||
+ | |||
+ | * Бинарную категорию можно преобразовать в число: <tex>c_1 \Rightarrow 0, c_2 \Rightarrow 1</tex> или <tex>c_1 \Rightarrow -1, c_2 \Rightarrow +1</tex> | ||
+ | * Категорию из k значений {<tex>c_1, ..., c_k</tex>} можно '''бинаризовать''' получив k бинарных категорий:<tex>b_i(c) := (c = c_i)</tex>(см. рис2)('''НО''' обратное преобразование иногда невозможно(получим много true и не понятно, к какой категории относить)) | ||
+ | * One-hot encoding - преобразование категорий в числа (0, 1): one-hot<tex>_i(c) = [c = c_i]</tex> | ||
+ | |||
= Базовые методы нормализации данных = | = Базовые методы нормализации данных = | ||
Применяются независимо к столбцу X | Применяются независимо к столбцу X | ||
Строка 18: | Строка 39: | ||
= Декорреляция = | = Декорреляция = | ||
− | [[File:Декорреляция.png|300px|thumb| | + | [[File:Декорреляция.png|300px|thumb|рис3]] |
1. Есть матрица X. | 1. Есть матрица X. | ||
Версия 18:49, 29 июня 2022
Содержание
Преобразование числа
Обычно с числами довольно удобно работать и преобразовывают их достаточно редко.
Дискретизация
- Преобразование в порядковый признак. (берём в числах диапазоны и диапазонам сопоставляем категории)
- Преобразование в категориальный признак. (НО теряется информация о порядке)
Преобразование порядкового типа
- Преобразование в число(берём его порядковый номер)
- Преобразование в k бинарных категорий(если число значений конечно и равно k):
{ } - множество значений порядкового признака.(см. рис1)
Преобразование категории
- Бинарную категорию можно преобразовать в число: или
- Категорию из k значений { } можно бинаризовать получив k бинарных категорий: (см. рис2)(НО обратное преобразование иногда невозможно(получим много true и не понятно, к какой категории относить))
- One-hot encoding - преобразование категорий в числа (0, 1): one-hot
Базовые методы нормализации данных
Применяются независимо к столбцу X
Важно в sklearn.preprocessing есть метод normalize, но это не то, что нам нужно, он рассматривает нормализацию с геометрической точки зрения (представляет объект в виде вектора), а не по столбцам
Минмакс, [0;1] масштабирование
После нормализации:
и
Стандартизация, Z-масштабирование
После нормализации:
иДекорреляция
1. Есть матрица X.
2. Матрицу центрировали (
).3. Ковариация вычисляется по следующей формуле:
4. Если же матрица нормализована так, что
, то из произведения мы получим не ковариационную, а корреляционную матрицу5. Декорреляция вычисляется по формуле:
где
находится из разложения ХолецкогоУтверждение: |
После декорреляции: |
. |