Всегда ли стандартизировать все функции по умолчанию - плохая идея?
Есть ли причина не стандартизировать все функции по умолчанию? Я понимаю, что это может быть необходимо, например, не для деревьев решений, а для определенных алгоритмов, таких как KNN, SVM и K-Means. Будет ли вредно делать это для всех моих функций?
Кроме того, кажется, что консенсус в том, что стандартизация предпочтительнее нормализации? Когда это было бы не хорошей идеей?
1 ответ
По моему опыту, стандартизация и нормализация имеют наибольшее (положительное) влияние, когда ваш набор данных состоит из функций, которые имеют очень разные диапазоны (например, возраст и количество долларов на дом)
По своему профессиональному опыту, работая над проектом с датчиками из автомобиля, я заметил, что нормализация (масштабирование min-max), хотя и применяемая в случае нейронной сети, негативно влияла на процесс обучения и, конечно, окончательные результаты. По общему признанию, характеристики (значения) датчиков были очень близки друг к другу. Было очень интересно отметить результат, учитывая, что я работал с временными рядами, где большинство специалистов по данным прибегают к масштабированию по умолчанию (в конце концов, это нейронные сети, согласно теории).
В принципе, стандартизацию лучше применять, когда речь идет о конкретных выбросах в наборе данных, поскольку нормализация генерирует меньшие значения стандартного отклонения. Насколько я знаю, это основная причина, по которой стандартизация, как правило, предпочтительнее, чем нормализация, ее устойчивость перед выбросами.
Если бы три года назад мне задали этот вопрос, я бы сказал, что «стандартизация» - это лучший способ. Теперь я говорю: следуйте принципам, но проверяйте каждую гипотезу, прежде чем делать определенный вывод.