Привет, ребята, я суровый Джайн. В этом блоге я собираюсь обсудить все необходимые шаги (наиболее распространенные) для комплексной разработки функций в машинном обучении. Инжиниринг признаков — это важный этап в конвейере машинного обучения, однако этот этап редко рассматривается сам по себе. Здесь вы узнаете как теоретическую, так и практическую реализацию этапов разработки функций.
"Возможно, я не расскажу обо всех методах, но эти методы помогут вам понять, что такое проектирование функций, и вы сможете начать с ним работать".
Что такое разработка функций?
Предположим, у нас есть некоторые данные, и мы обучили модель, но мы не получили ожидаемых результатов. Для улучшения результатов мы делаем следующее:
- Добавьте больше данных.
- Улучшите модель с помощью настройки гиперпараметров.
Оба способа хороши для получения лучших результатов, но помимо них есть еще один способ: "поэкспериментировать с функциями", т. е.Изменение функций может помочь модели понять характер данных.Этот процесс называется разработкой функций.
Проще говоря, Feature Engineering — это процесс преобразования необработанных данных в чистые для дальнейшей передачи их в модели машинного обучения для получения лучших результатов.
Шаги в рамках разработки функций:
- Работа с отсутствующими данными
- Обработка категориальных данных
- Работа с выбросами
- Преобразование функции
- Выбор функции
Работа с отсутствующими данными ✅
Что такое пропущенные значения?
Отсутствующие данные — это значения, которые не записаны в наборе данных. Это может быть отсутствие одного значения в одной ячейке или отсутствие всего наблюдения (строки). Отсутствующие данные могут встречаться как в непрерывных, так и в категориальных функциях.
Типы отсутствующих данных:
Существует три типа отсутствующих данных, и существуют разные способы их обработки. Они есть:
- Случайно пропавшие без вести (MCAR)
- Случайно пропавший без вести (март)
- Пропавшие без вести не случайно (MNAR)
✔ Отсутствует полностью случайным образом (MCAR):
- MCAR возникает, когда вероятность отсутствия значений в переменной одинакова для всех выборок.
- Например, когда проводится опрос, и значения были случайно пропущены при вводе в компьютер или респондент решил не отвечать на вопрос.
✔ Отсутствует случайным образом (MAR):
- Вероятность MAR в признаке зависит только от доступной информации в других предикторах.
- MAR обрабатываются с использованием информации из других предикторов для построения модели и вменения значения для отсутствующей записи.
✔ Отсутствует не случайно (MNAR):
- Вероятность пропущенных значений, а не случайных, зависит от информации, которая не была записана.
- Например, в опросе мошенники с меньшей вероятностью ответят на вопрос, обманывали ли они когда-либо.
- С MNAR практически невозможно справиться.
- К счастью, MNAR не должен влиять на выводы, сделанные моделью, обученной на таких данных.
Методы обработки отсутствующих данных:
- Вменение среднего/медианы. Этот метод заменяет отсутствующие значения средним значением или медианой этого конкретного столбца.
2. Вменение случайной выборки. Этот метод заменяет отсутствующие данные случайными наблюдениями из пула доступных значений.
3. Захват NaN с помощью новой функции.Этот метод захватывает значения NaN и заменяет их новой функцией, которую мы вычисляем на основе нужных столбцов.
4.Конец распределения: этот метод заменяет отсутствующие данные экстремальными значениями (среднее +/- 3*SD), если данные нормально распределены, а если данные искажены, он заменяет отсутствующие значения на основе IQR-правило.
5. Произвольное вменение:произвольное вменение заменяет отсутствующие значения произвольным значением. Произвольное значение должно отличаться от среднего, медианы. Значения произвольного могут быть 0, 99, 999 (другие комбинации девяток) или 1 (если распределение положительное).
6. Вменение подсчета частоты (режим): этот метод заменяет отсутствующие значения подсчетом частоты (режимом) этого конкретного столбца. Этот метод подходит как для числовых, так и для категориальных переменных, но на практике мы используем этот метод с категориальными переменными.
7. Вменение регрессии. Этот метод заменяет отсутствующие данные значениями, предсказанными нашей моделью регрессии.
8. Вменение KNN:Вменение KNN заменяет отсутствующие значения значением ближайшего соседа. Для выполнения этой задачи используется функция KNNImputer sklearn.
Обработка категориальных признаков✅
Что такое категориальное кодирование?
Категориальное кодирование — это процесс преобразования категориальных признаков в числа.
Например, рассмотрите пол объекта — {Мужской, Женский}. После кодирования это выглядит как Пол — {0, 1}.
Методы обработки категориальных признаков:
- Порядковое/меточное кодирование. С помощью этого метода мы заменяем категории объекта числовыми значениями (от 0 до # категорий-1). Этот метод применяется, когда данные порядковые (данные имеют некоторый порядок).
2. Одно горячее кодирование. С помощью этой техники каждая категория сопоставляется с двоичной переменной, содержащей либо 0, либо 1. Здесь 0 представляет отсутствие, а 1 представляет наличие этой категории.
3. Кодирование количества/частоты. Этот метод заменяет значения количеством признаков или процентом признаков в наборе данных.
4. Кодирование целевого/среднего значения. Этот метод заменяет категориальные переменные средним значением целевой переменной.
Работа с выбросами ✅
Что такое выбросы?
Выбросы — это необычные точки данных, которые сильно отличаются/далеки от остальных точек данных.
Выбросы бывают двух типов — 1. UNIVARIATE ANALYSIS
2.MULTI-VARIATE
Алгоритмы, чувствительные к выбросам:
1. Linear Regression
2. Logistic Regression
3. K-Means Clustering
4. Hierarchical Clustering
5. PCA
6. Neural Networks.
Алгоритмы НЕ чувствительны к выбросам:
1. Naive Bayes
2. SVM
3. Decision Trees, Random Forest
4. XGBoost, GBM
5. K-NN
Методы обработки выбросов?
Интернет-квалификация:
Межквартильный диапазон — это разница между 1-м и 3-м квартилями.
Z-оценка:
Это одно из важнейших понятий в статистике. Он сообщает нам, на сколько стандартных отклонений точка данных отличается от среднего значения.
Спасибо за чтение. В следующей части я расскажу об оставшихся шагах, т. е. Преобразовании и выборе функций.
Это мой первый блог. Пожалуйста, поделитесь своими ценными предложениями. Я ценю ваш честный отзыв!