如何从 OrangeML 模型获取 Scikit-learn 模型输出?
How to get Scikit-learn model output from OrangeML model?
我希望在 Orange 模型(例如 Orange Tree Classifier)上应用 python 库,但是该库只接受 scikit-learn 模型。有没有办法将我的橙树分类器转换为 Scikit-Learn 树分类器,包括我的橙色管道中的 Python 脚本?我知道 Orange ML 模型是建立在 scikit 学习库上的,所以理论上它们应该是可转换的。
提前致谢!
马丁
大多数 Orange 模型都是基于 Scikit-Learns 的分类器构建的,但 TreeLearner
不是。但是,Orange 中有 SklTreeLearner
,它包装了 Scikit 中的 DecisionTreeClassifier
。如果你想从橙色模型中取出 Scikit 模型,请使用这个。这是一个例子:
from Orange.classification import SklTreeLearner
from Orange.data import Table
learner = SklTreeLearner()
model = learner(Table("iris")) # train model on Iris data
skl_model = model.skl_model # get skl model
同样的原则也可以用于包装 Scikit 模型的其他模型 - LogisticRegression、RandomForest,...
为了在 visual Orange 中训练模型,可以选择使用 Python 脚本小部件获取 skl_model。您将学习者连接到 Python 脚本小部件,如下面的屏幕截图所示。将 Model
学习者输出连接到 Python 脚本小部件上的 Classifier
输入很重要。然后在 Python Script widget.
中使用以下代码获取 Skl 模型
skl_model = in_classifier.skl_model
注意:您可以从除 Tree 学习者之外的任何学习者那里获得 skl_learner。
我希望在 Orange 模型(例如 Orange Tree Classifier)上应用 python 库,但是该库只接受 scikit-learn 模型。有没有办法将我的橙树分类器转换为 Scikit-Learn 树分类器,包括我的橙色管道中的 Python 脚本?我知道 Orange ML 模型是建立在 scikit 学习库上的,所以理论上它们应该是可转换的。
提前致谢! 马丁
大多数 Orange 模型都是基于 Scikit-Learns 的分类器构建的,但 TreeLearner
不是。但是,Orange 中有 SklTreeLearner
,它包装了 Scikit 中的 DecisionTreeClassifier
。如果你想从橙色模型中取出 Scikit 模型,请使用这个。这是一个例子:
from Orange.classification import SklTreeLearner
from Orange.data import Table
learner = SklTreeLearner()
model = learner(Table("iris")) # train model on Iris data
skl_model = model.skl_model # get skl model
同样的原则也可以用于包装 Scikit 模型的其他模型 - LogisticRegression、RandomForest,...
为了在 visual Orange 中训练模型,可以选择使用 Python 脚本小部件获取 skl_model。您将学习者连接到 Python 脚本小部件,如下面的屏幕截图所示。将 Model
学习者输出连接到 Python 脚本小部件上的 Classifier
输入很重要。然后在 Python Script widget.
skl_model = in_classifier.skl_model
注意:您可以从除 Tree 学习者之外的任何学习者那里获得 skl_learner。