J'essaie d'utiliser la régression aléatoire des forêts dans scikits-learn. Le problème est que j'obtiens une erreur de test très élevée:
train MSE, 4.64, test MSE: 252.25.
Voici à quoi ressemblent mes données: (bleu: données réelles, vert: prévu):
J'utilise 90% pour la formation et 10% pour le test. Voici le code que j'utilise après avoir essayé plusieurs combinaisons de paramètres:
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)
Quelles sont les stratégies possibles pour améliorer mon ajustement? Puis-je faire autre chose pour extraire le modèle sous-jacent? Il me semble incroyable qu'après tant de répétitions du même modèle, le modèle se comporte si mal avec de nouvelles données. Ai-je un quelconque espoir d'essayer d'adapter ces données?