Próbuję użyć losowej regresji leśnej w scikits-learn. Problem polega na tym, że otrzymuję naprawdę wysoki błąd testu:
train MSE, 4.64, test MSE: 252.25.
Tak wyglądają moje dane: (niebieski: dane rzeczywiste, zielony: przewidywane):
Używam 90% na szkolenie i 10% na test. Oto kod, którego używam po wypróbowaniu kilku kombinacji parametrów:
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)
Jakie są możliwe strategie poprawy mojego dopasowania? Czy jest coś jeszcze, co mogę zrobić, aby wyodrębnić podstawowy model? Wydaje mi się niewiarygodne, że po tylu powtórzeniach tego samego wzoru model zachowuje się tak źle z nowymi danymi. Czy w ogóle mam nadzieję, że spróbuję dopasować te dane?