我正在尝试在 scikits-learn 中使用随机森林回归。问题是我得到了一个非常高的测试错误:
train MSE, 4.64, test MSE: 252.25.
这是我的数据的样子:(蓝色:真实数据,绿色:预测):
我将 90% 用于培训,10% 用于测试。这是我在尝试了几种参数组合后使用的代码:
rf = rf = RandomForestRegressor(n_estimators=10, max_features=2, max_depth=1000, min_samples_leaf=1, min_samples_split=2, n_jobs=-1)
test_mse = mean_squared_error(y_test, rf.predict(X_test))
train_mse = mean_squared_error(y_train, rf.predict(X_train))
print("train MSE, %.4f, test MSE: %.4f" % (train_mse, test_mse))
plot(rf.predict(X))
plot(y)
有哪些可能的策略来改善我的拟合?我还能做些什么来提取底层模型吗?在我看来,在相同模式多次重复之后,模型对新数据的表现如此糟糕,这对我来说似乎是不可思议的。我有任何希望尝试拟合这些数据吗?