Почему их ошибка увеличивается с 1,35% до 9,91% после использования стандартного скаляра? - PullRequest
0 голосов
/ 18 мая 2019

Я использую XGBoost с параметрами по умолчанию, Средняя абсолютная ошибка составляет 1,35% (пожалуйста, обратитесь к моему коду), RMSE = 4966,55, а затем используя Standard Scalar с XGBoost, я получил Средняя абсолютная ошибка 9,16%,RMSE = 171445,32.а) Я хотел знать, почему это происходит?

б) Нужно ли мне также масштабировать Y_train, я не знаю, как преобразовать Y_pred в исходные значения тогда, потому что их модель будет предсказыватьмасштабируется Y_pred значений.

model = xgboost.XGBRegressor()
model.fit(X_train, Y_train)
print(model)
Y_pred=model.predict(X_test)

print((abs(Y_pred-Y_test['Total.Production.(mt)'])/Y_test['Total.Production.(mt)']).mean()*100)
>>>1.35

from sklearn.preprocessing import StandardScaler
x1 = X_train.values
x1_t=X_test.values
# Standardizing the features
x = StandardScaler().fit_transform(x1)
x_t=StandardScaler().fit_transform(x1_t)

model = xgboost.XGBRegressor()
model.fit(x, Y_train)
print(model)
Y_pred=model.predict(x_t)

print((abs(Y_pred-Y_test['Total.Production.(mt)'])/Y_test['Total.Production.(mt)']).mean()*100)
>>>9.916

Я не ожидал такого огромного изменения в% ошибки и RMSE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...