Изменения

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

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

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

Навигация