簡體   English   中英

Python scikit-learn RandomForestClassifier 訪問單個樹以及如何保存它們

[英]Python scikit-learn RandomForestClassifier access individual trees and how to save them

如何訪問單個樹並保存/加載 RandomForestClassifier 對象?

我只想查看每棵樹的結構以確定哪個特征是重要的。 我想將經過訓練的分類器對象保存在文件或數據庫中。 怎么做?

你基本上有三個問題。

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM