Масштабирование тестовых данных до 0 и 1 с помощью MinMaxScaler

Используя MinMaxScaler из sklearn, я масштабирую свои данные, как показано ниже.

min_max_scaler = preprocessing.MinMaxScaler() X_train_scaled = min_max_scaler.fit_transform(features_train) X_test_scaled = min_max_scaler.transform(features_test) 

Однако при печати X_test_scaled.min () у меня есть некоторые отрицательные значения (значения не падают между 0 и 1). Это связано с тем, что самое низкое значение в моих тестовых данных было ниже данных поезда, из которых максимальный макс.

Насколько эффект не имеет точно нормированных данных между 0 и 1 значениями в классификаторе SVM? Кроме того, является ли плохая практика объединять поезд и проверять данные в одну матрицу, выполнять масштабирование min-max для обеспечения того, чтобы значения находились между 0 и 1, а затем отделить их снова?

2 Solutions collect form web for “Масштабирование тестовых данных до 0 и 1 с помощью MinMaxScaler”

Если вы можете масштабировать все свои данные за один раз, это было бы лучше, потому что все ваши данные управляются Scaler логичным способом (все между 0 и 1). Но для алгоритма SVM не должно быть разницы, поскольку масштабирующее устройство будет расширять масштаб. Там все те же различия, даже если они отрицательные.

В документации мы видим, что есть отрицательные значения, поэтому я не думаю, что это влияет на результат

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

Нет никакой причины, по которой вы хотели бы объединить данные здесь, SVM справится с этим. Если вы будете использовать модель, которая требует положительных значений, и ваши тестовые данные не станут положительными, вы можете рассмотреть другую стратегию, чем MinMaxScaler.

  • Поддержка векторной машины в Python с использованием примера функций libsvm
  • Python: преобразовать матрицу в положительную полуопределенную
  • Как установить LIBSVM для Python
  • Какова теоретическая основа для scikit-learn dummy классификатора?
  • Что это означает при обучении SVM
  • Вычислить градиент функции потери SVM
  • Python: как найти результат точности в алгоритме текстового классификатора SVM для многоканального класса
  • Scikits Learn: как получить вес функций
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.