Что такое «предварительная обработка»?

Представьте свой набор данных как головоломку, каждая часть которой содержит ключ к более широкой картине. Но прежде чем вы сможете собрать головоломку и раскрыть ее суть, вам необходимо убедиться, что эти части идеально сочетаются друг с другом. Именно здесь на помощь приходит «предварительная обработка данных» — это похоже на очистку, сортировку и полировку этих частей головоломки, чтобы убедиться, что они готовы к осмысленному расположению.

Зачем нам это нужно?

Что ж, если вы имеете дело со сложными наборами реальных данных, необработанные данные могут ввести в заблуждение модели, что приведет к ненадежным результатам. Давайте еще раз рассмотрим пример головоломки, который я использую, и представим, что мы собираем головоломку, кусочки которой не совсем подходят друг к другу — это расстраивает. Предварительная обработка данных выравнивает части, гарантируя, что они плотно прилегают друг к другу, чтобы раскрыть полную картину. Проще говоря, это гарантирует, что ваши данные будут представлять ясную и точную историю.

Учитывая это понимание, давайте рассмотрим два важнейших метода — стандартизацию и нормализацию, которые уточняют наши данные для эффективного анализа и моделирования.

Стандартизация: баланс ингредиентов

Думайте о своих данных как об ингредиентах разных размеров и единиц измерения, например, об измерении муки в граммах и сахара в столовых ложках. Стандартизация подобна использованию волшебного трюка, позволяющего всем ингредиентам хорошо сочетаться друг с другом. Он меняет их так, что все они имеют одинаковый средний размер и одинаковый разброс. Это все равно что превратить все ингредиенты в кусочки одинакового размера перед приготовлением.

т. е. в статистических терминах, стандартизация (также известная как нормализация z-показателя) масштабирует наши данные так, чтобы они имели среднее значение 0 и стандартное отклонение 1. Центрируя данные вокруг нуля и сжимая их до согласованного диапазон, мы достигаем сбалансированных и сопоставимых характеристик.

Нормализация: взвешивание ингредиентов

Теперь представьте, что вы хотите поделиться своим блюдом с друзьями, и вам нужно разделить его на порции. Если у вас блюдо большего размера, легче увидеть разницу между порциями. Нормализация — это все равно, что присвоить всем значения по шкале от 0 до 1. Это полезно, если вы хотите, чтобы все ингредиенты входили в ваш рецепт равномерно, даже если они начинаются с разных размеров.

т. е. с точки зрения статистики, нормализация масштабирует данные в диапазоне от 0 до 1. Сопоставляя объекты с общим интервалом, это помогает подчеркнуть относительную важность различных функций.

Какой выбрать?

Что еще более важно, когда выбирать.

Теперь выбор между стандартизацией и нормализацией аналогичен выбору способа измельчения ингредиентов: вы выбираете в зависимости от того, какое блюдо вы готовите.

Более или менее решение о стандартизации или нормализации зависит от характеристик набора данных и требований выбранного алгоритма машинного обучения.

Вот несколько моих простых наблюдений, которым вы можете следовать:

Для стандартизации. Если ваши ингредиенты имеют разные размеры и вы хотите сделать их одинаковыми, например, нарезать овощи на одинаковые кусочки для жаркого, используйте стандартизацию.

т. е. когда функции имеют разные единицы измерения или разные масштабы, стандартизация гарантирует, что все они находятся на сопоставимом уровне, что упрощает эффективное изучение шаблонов алгоритмом.

Для нормализации. Если размеры ваших ингредиентов не имеют особого значения, и вы хотите, чтобы все они имели одинаковое значение, например, чтобы все начинки в пицце были сбалансированы, воспользуйтесь нормализацией. .

т. е. когда масштаб функций не имеет решающего значения, и вы хотите гарантировать, что все функции вносят одинаковый вклад в модель, подходящим выбором является нормализация.

Как применять эти методы на практике?

Чтобы применить стандартизацию, вы можете использовать функцию StandardScaler из библиотеки scikit-learn в Python. Он центрирует данные вокруг среднего значения и масштабирует их на основе стандартного отклонения.

Чтобы применить нормализацию, вы можете снова использовать функцию MinMaxScaler из той же библиотеки scikit-learn. Он масштабирует данные в диапазоне [0, 1].

В конце концов, правильная техника предварительной обработки данных может существенно повлиять на производительность наших моделей, точно так же, как подготовка ингредиентов для шеф-повара — если все они сбалансированы и правильно измерены, окончательное блюдо или, в данном случае, ваши прогнозы окажутся правильными. быть настоящим шедевром!