Изменения

Перейти к: навигация, поиск

Предварительная обработка данных

1469 байт добавлено, 19:30, 4 сентября 2022
м
rollbackEdits.php mass rollback
= Базовые методы нормализации данных Типизация признаков =Применяются независимо к столбцу X== Преобразование числа ==Обычно с числами довольно удобно работать и преобразовывают их достаточно редко.
Важно '''Дискретизация'''* Преобразование в sklearnпорядковый признак.preprocessing есть метод normalize, но это не то, что нам нужно, он рассматривает нормализацию с геометрической точки зрения(берём в числах диапазоны и диапазонам сопоставляем категории)* Преобразование в категориальный признак. (представляет объект в виде вектора'''НО''' теряется информация о порядке), а не по столбцам
== Преобразование порядкового типа ==
[[File:Преобразование_порядкового_типа_в_k_категорий.png|250px|thumb|рис.1 Преобразование порядкового типа в 3 категории A, B, C : (A<B<C)]]
'''Минмакс, [0;1] масштабирование''' * Преобразование в число(берём его порядковый номер)<tex> x_{new} = \dfrac{x_{old} - \min[X]}{\max[X] - \min[X]}</tex>* Преобразование в k бинарных категорий(если число значений конечно и равно k):
После нормализации: <mathtex>\min[X_{new}] c_i(ord) := 0(ord < ord_i), где </mathtex> и {<mathtex>\max[X_{new}] = 1ord_1, ..., ord_k</mathtex>} - множество значений порядкового признака.(см. рис.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)('''Стандартизация, Z-масштабированиеНО'''обратное преобразование иногда невозможно(получим много true и не понятно, к какой категории относить))* One-hot encoding - преобразование категорий в числа (0, 1): one-hot<tex> x_{new} _i(c) = \dfrac{x_{old} - \mathbb{E}[Xc = c_i]}{\mathbb{D}[X]}</tex>
После нормализации: <math>\mathbb{E}[X_{new}] = 0</math> и <math>\mathbb{D}[X_{new}] Нормализация данных = 1</math>
= Декорреляция =Набор данных содержит в себе единицы измерения, которые отбрасываются, чтобы набор данных был просто числами. Но чтобы далее работать, нам нужно, чтобы все объекты были приведены к единому формату. Подробнее читай [[Filehttp:Декорреляция//neerc.png|300px|thumb|рис1]]1ifmo. Есть матрица Xru/wiki/index.php?title=Нормализация_набора_данных тут]
2. Матрицу центрировали (<math>\mathbb{E}[X_j] = 0</math>).Аномалии в наборе данных =
3Аномалии - плохие объекты для построения нашей модели. Ковариация вычисляется по следующей формуле:
<tex>\Sigma(X) Задача поиска аномалий является отдельной задачей машинного обучения, про которую можно почитать [http://neerc.ifmo.ru/wiki/index.php?title= \dfrac{1}{N}X^TX</tex>поиск_аномалий здесь]
4. Если же матрица нормализована так, что <math>\mathbb{D}[X_j] = 1</math>, то из произведения мы получим не ковариационную, а корреляционную матрицуПропуски в наборе данных =
5. Декорреляция вычисляется по формуле: <tex>\hat{X} = X \times \sum^{-1/2}Иногда в таблице с данными существую пустоты(Xони же пропуски)</tex> где <tex>\Sigma^{1/2}</tex> находится из разложения Холецкого {{Утверждение|statement=После декорреляции, про работу с пропусками можно почитать [http: <tex>\sum(\hat{X}) = I</tex>|proof=<tex>\Sigma = \dfrac{X^TX}{n}</tex> <tex>\hat{X} = X \times \Sigma^{-1neerc.ifmo.ru/2}<wiki/tex> <tex>\dfrac{\hat{X}^T\hat{X}}{n} = \dfrac{(X * \Sigma^{-1/2})^T * (X * \Sigma^{-1/2})}{n} = \dfrac{\Sigma^{-T/2} * X^T * X * \Sigma^{-1/2}}{n} = = (\Sigma^{-T/2} * \Sigma^{T/2})*(\Sigma^{1/2}*\Sigma^{-1/2}) index.php?title= I * I = I</tex>.}}Работа_с_пропусками_в_наборе_данных тут]
1632
правки

Навигация