MinMaxScaler in scikit_learn is used for data normalization (a.k.a feature scaling). Data normalisation is not necessary for decision trees. Since XGBoost is based on decision trees, is it necessary to do data normalisation using MinMaxScaler for data to be fed to XGBoost machine learning models?


Your rationale is indeed correct: Decision Trees do not require normalization of their inputs; and since XGBoost is essentially en ensemble algorithm comprised of Decision Trees, it does not require normalization for the inputs either.

  • 1
    $\begingroup$ github.com/dmlc/xgboost/issues/357 Your answer is confirmed by the chief developer of XGBoost himself. $\endgroup$ – user781486 Sep 28 at 14:54
  • $\begingroup$ It's actually straightforward if you know your ML 101, but good to know in any case - thanks $\endgroup$ – desertnaut Sep 28 at 14:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.