【发布时间】:2016-04-09 18:11:40
【问题描述】:
如何访问单个树并保存/加载 RandomForestClassifier 对象?
我只想查看每棵树的结构以确定哪个特征是重要的。我想将经过训练的分类器对象保存在文件或数据库中。怎么做?
【问题讨论】:
标签: python scikit-learn random-forest
如何访问单个树并保存/加载 RandomForestClassifier 对象?
我只想查看每棵树的结构以确定哪个特征是重要的。我想将经过训练的分类器对象保存在文件或数据库中。怎么做?
【问题讨论】:
标签: python scikit-learn random-forest
你基本上有三个问题。
1.如何查看单棵树
您可以使用RandomForestClassifier 来查看各个树
rf = RandomForestClassifier()
rf.fit(X,y)
trees = rf.estimators_
2。功能重要性
为了确定特征的重要性,你最好的选择可能是使用
rf.feature_importances_
这将产生一个特征重要性的 numpy 数组,每列 X 一个,表示每个特征的相对重要性。
3。保存您的模型
保存拟合的 scikit-learn 模型或管道的一种简单方法是通过 pickle。
byte_string = pickle.dumps(rf)
然后可以使用加载它
rf = pickle.loads(byte_string)
如果你有额外的要求,它应该是 ASCII,你可能想要使用 base64。
text_model = base64.b64encode(byte_string)
【讨论】:
RandomForestClassifier 实例被完全腌制(.fit()-ed,所有类方法)到可检索的.predict()-able 表单?
dill 主力(均用于“pickle " 服务和分布式网格处理 SERialise-pushToRemoteAgent-pullFromRemoteAgent-DESerialise & ( !! ) state-full save/restore 整个 localhost interpreter-session on another host )。