I was testing out all of the sklearn regressors:
[compose.TransformedTargetRegressor(), AdaBoostRegressor(), BaggingRegressor(), ExtraTreesRegressor(), GradientBoostingRegressor(), RandomForestRegressor(), HistGradientBoostingRegressor(), LinearRegression(), Ridge(), RidgeCV(), SGDRegressor(), ARDRegression(), BayesianRidge(), HuberRegressor(), RANSACRegressor(), TheilSenRegressor(), PoissonRegressor(), TweedieRegressor(), PassiveAggressiveRegressor(), KNeighborsRegressor(), MLPRegressor(), svm.LinearSVR(), svm.NuSVR(), svm.SVR(), tree.DecisionTreeRegressor(), tree.ExtraTreeRegressor(), xgb.XGBRegressor(), xgb.XGBRFRegressor()]
on the iris dataset and I'm confused why MLPRegressor isn't working. I'm predicting the sepal length given the other 3 features and every single regressor with default hyperparameters has a test data MAE of .25 to .34, except for MLPRegressor which has a MAE of 1.0! I've tried doing things like scaling and hyperparameter tuning, but MLPRegressor is always wildly inaccurate.
EDIT: After comparing eschibli's code to mine, I figured out that the problem was my scaler. I was using this code
scaler = StandardScaler()
scaler.fit(X)
X = scaler.transform(X)