Я работаю над проблемой регрессии, используя модель векторной регрессии поддержки от sklearn и используя MinMax для масштабирования функций, но, используя ее, я получаю другой результат для регрессии, имеет ли это смысл?Почему масштабирование функций влияет на предсказание регрессии?
import pandas as pd
import numpy as np
from sklearn import svm
from sklearn.preprocessing import MinMaxScaler
np.random.seed(0)
X_training = np.random.rand(100,15)*10
Y_training = np.random.rand(100,1)*10
model = svm.SVR()
без масштабирования:
model.fit(X_training,Y_training)
print model.predict(X_training)[0:10]
array([ 4.99980599, 6.99479293, 4.9784396 , 5.03911175, 6.99557904,
6.57214885, 6.99454049, 5.60940831, 6.99989978, 5.98628179])
Использование MinMax скейлер:
scaler = MinMaxScaler()
X_scaled = scaler.fit_transform(X_training)
model.fit(X_scaled,Y_training)
model.predict(X_scaled)[0:10]
array([ 5.63521939, 6.70378514, 5.83393228, 5.33274858, 6.47539108,
5.61135278, 5.7890052 , 5.74425789, 6.15799404, 6.1980326 ])
Хотя предсказание в том же порядке величины существует значительная разница между обоих случаях.