1
我使用下面的代碼來保存隨機森林模型。我正在使用cPickle來保存訓練有素的模型。當我看到新的數據時,我可以逐漸地訓練模型。 目前,列車集有大約2年的數據。有沒有一種方法可以在另外兩年的時間裏進行訓練,並且(種類)將其附加到現有的已保存模型上。使用python sklearn的隨機森林模型的增量訓練
rf = RandomForestRegressor(n_estimators=100)
print ("Trying to fit the Random Forest model --> ")
if os.path.exists('rf.pkl'):
print ("Trained model already pickled -- >")
with open('rf.pkl', 'rb') as f:
rf = cPickle.load(f)
else:
df_x_train = x_train[col_feature]
rf.fit(df_x_train,y_train)
print ("Training for the model done ")
with open('rf.pkl', 'wb') as f:
cPickle.dump(rf, f)
df_x_test = x_test[col_feature]
pred = rf.predict(df_x_test)
編輯1:我沒有計算能力來一次性訓練4年的數據模型。
會SGD是一個很好的選擇,隨機森林?我不確定新模型將如何執行。 SGD有一個partial_fit API,因此我可以將其用於在線學習 – Tammy
您是否嘗試過訓練SGD分類器並將性能與RF模型的性能進行比較?這是回答 –
更新以包括可能的步驟的唯一方法。 –