Estou tentando usar a regressão aleatória de floresta no scikits-learn. O problema é que estou recebendo um erro de teste muito alto:
train MSE, 4.64, test MSE: 252.25.
É assim que meus dados ficam: (azul: dados reais, verde: previsto):
Estou usando 90% para treinamento e 10% para teste. Este é o código que estou usando após tentar várias combinações de parâmetros:
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)
Quais são as estratégias possíveis para melhorar meu encaixe? Há algo mais que eu possa fazer para extrair o modelo subjacente? Parece-me incrível que, depois de tantas repetições do mesmo padrão, o modelo se comporte tão mal com novos dados. Tenho alguma esperança de tentar ajustar esses dados?