use*_*706 21 python machine-learning random-forest scikit-learn
在R中,运行"随机森林"模型后,我可以save.image("***.RData")用来存储模型.之后,我可以加载模型直接进行预测.
你能在python中做类似的事吗?我将模型和预测分成两个文件.在模型文件中:
rf= RandomForestRegressor(n_estimators=250, max_features=9,compute_importances=True)
fit= rf.fit(Predx, Predy)
Run Code Online (Sandbox Code Playgroud)
我试图返回rf或fit,但仍然无法在预测文件中加载模型.
您可以使用sklearn随机森林包分离模型和预测吗?
Jak*_*ead 26
...
import cPickle
rf = RandomForestRegresor()
rf.fit(X, y)
with open('path/to/file', 'wb') as f:
cPickle.dump(rf, f)
# in your prediction file
with open('path/to/file', 'rb') as f:
rf = cPickle.load(f)
preds = rf.predict(new_X)
Run Code Online (Sandbox Code Playgroud)
ppl*_*ski 20
您可以使用joblibscikit-learn 保存和加载随机森林(实际上,scikit-learn 中的任何模型)
这个例子:
import joblib
from sklearn.ensemble import RandomForestClassifier
# create RF
rf = RandomForestClassifier()
# fit on some data
rf.fit(X, y)
# save
joblib.dump(rf, "my_random_forest.joblib")
# load
loaded_rf = joblib.load("my_random_forest.joblib")
Run Code Online (Sandbox Code Playgroud)
更重要的是,由于joblib.dump has compress参数的存在,所以模型可以被压缩。我对 iris 数据集做了非常简单的测试compress=3,文件大小减少了大约 5.6 倍。
| 归档时间: |
|
| 查看次数: |
15483 次 |
| 最近记录: |