Вы когда-нибудь задавались вопросом, как и когда использовать нормализацию в промышленном продукте или в исследовательской среде?

Вы когда-нибудь задумывались и исследовали потенциальное влияние различного порядка обработки на окончательный результат прогнозирования?

Вы когда-нибудь исследовали и пытались выяснить, какой метод предварительной обработки следует использовать?

Следует ли использовать разные функции для каждой отдельной функции или использовать один и тот же метод для всех функций?

Здесь я приведу вам некоторые эмпирические данные, которые я сделал, чтобы показать правильные подходы к этим вопросам. Я разделю серию статей на три части и рассмотрю их отдельно. Проблемы, которые я собираюсь решить, включают:

  • Различное влияние различных методов нормализации на конечный результат — часть 1
  • Потенциальный эффект от другого порядка обработки, особенно при использовании скейлера — часть 2
  • Следует ли применять разные масштабаторы к разным функциям или применять один метод масштабирования ко всем функциям? И объясните разницу между проектированием признаков в исследовательской и производственной среде — часть 3.

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

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

Я использовал данные на Kaggle, чтобы предсказать цену продажи домов.

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

Всего в этой статье тестируются четыре основных метода масштабирования:

Я измерил результат прогнозирования, а также mse разными методами. MSE используется для оценки ошибки между прогнозируемым значением и реальным значением.

Из результата видно, что между окончательным прогнозируемым результатом нет большого разрыва. Основное различие заключается в mse. Между тем, первые три метода определенно лучше, чем масштабатор Normalizer. Также было подтверждено, что нет особой разницы в том, какой из них использовать в реальном производстве (первые три метода). В этой статье я не рассматривал задачу кластеризации. Но вы можете использовать другой набор данных для классификации, если хотите.

Есть одно предложение из книги Large Scale Machine Learning with Python: преобразование в диапазоне [0,1] работает особенно хорошо, если вы имеете дело с разреженной матрицей и большинство ваших значений равны нулю.

Код был опубликован на этом resp, вы можете посмотреть и поиграть сами.

Спасибо за ваше чтение. Я принесу статью, чтобы изучить второй вопрос в ближайшее время.

Рекомендации

Крупномасштабное машинное обучение с Python от Bastiaan Sjardin (2016)

Развертывание моделей машинного обучения