Ich versuche, Random Forest Regression zum Erlernen von Scikits zu verwenden. Das Problem ist, dass ich einen sehr hohen Testfehler erhalte:
train MSE, 4.64, test MSE: 252.25.
So sehen meine Daten aus: (blau: echte Daten, grün: vorhergesagt):
Ich benutze 90% für das Training und 10% für den Test. Dies ist der Code, den ich verwende, nachdem ich mehrere Parameterkombinationen ausprobiert habe:
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)
Welche Strategien sind möglich, um meine Anpassung zu verbessern? Kann ich noch etwas tun, um das zugrunde liegende Modell zu extrahieren? Es scheint mir unglaublich, dass sich das Modell nach so vielen Wiederholungen desselben Musters mit neuen Daten so schlecht verhält. Habe ich überhaupt Hoffnung, diese Daten anzupassen?