Я работаю со многими алгоритмами: RandomForest, DecisionTrees, NaiveBayes, SVM (kernel = linear и rbf), KNN, LDA и XGBoost. Все они были довольно быстрыми, кроме SVM. Именно тогда я узнал, что для ускорения работы требуется масштабирование функций. Тогда я начал задаваться вопросом, должен ли я сделать то же самое для других алгоритмов.
17
Ответы:
В общем, алгоритмы, которые используют расстояния или сходства (например, в форме скалярного произведения) между выборками данных, такие как k-NN и SVM, чувствительны к преобразованиям признаков.
Классификаторы на основе графических моделей, такие как Fisher LDA или Naive Bayes, а также деревья решений и методы ансамбля на основе деревьев (RF, XGB) инвариантны к масштабированию объектов, но все же это может быть хорошей идеей для изменения масштаба / стандартизации ваших данных ,
источник
Вот список, который я нашел на http://www.dataschool.io/comparing-supervised-learning-algorithms/, указывающий, какой классификатор нуждается в масштабировании функции :
Полная таблица:
В кластеризации k-средних вам также необходимо нормализовать ввод .
В дополнение к рассмотрению того, использует ли классификатор расстояния или сходства, как упомянул Йелл Бонд, Stochastic Gradient Descent также чувствителен к масштабированию объектов (поскольку скорость обучения в уравнении обновления Stochastic Gradient Descent одинакова для каждого параметра {1}):
Ссылки:
источник
log transformation / Box-Cox
а затем такжеnormalise the resultant data to get limits between 0 and 1
? Так что я буду нормализовать значения журнала. Затем рассчитать SVM на непрерывных и категориальных (0-1) данных вместе? Приветствия за любую помощь, которую вы можете предоставить.And this discussion for the case of linear regression tells you what you should look after in other cases: Is there invariance, or is it not? Generally, methods which depends on distance measures among the predictors will not show invariance, so standardization is important. Another example will be clustering.
источник