मैं scikits- सीखने में रैंडम फ़ॉरेस्ट रिग्रेशन का उपयोग करने की कोशिश कर रहा हूं। समस्या यह है कि मुझे वास्तव में उच्च परीक्षण त्रुटि मिल रही है:
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)
मेरी फिटिंग को बेहतर बनाने के लिए संभावित रणनीतियाँ क्या हैं? क्या कुछ और है जो मैं अंतर्निहित मॉडल को निकालने के लिए कर सकता हूं? यह मेरे लिए अविश्वसनीय लगता है कि एक ही पैटर्न के इतने दोहराव के बाद मॉडल नए डेटा के साथ इतना बुरा व्यवहार करता है। क्या मुझे इस डेटा को फिट करने की कोशिश में कोई उम्मीद है?