我希望在Orange模型(例如Orange Tree Classifier)上应用python库,但是该库仅接受scikit-learn模型。有没有办法在Scikit-Learn树分类器中转换我的Orange Tree分类器,包括在Orange管道中使用Python脚本?我知道Orange ML模型是建立在scikit学习库上的,因此它们在理论上应该是可转换的。
提前谢谢! 马丁
答案 0 :(得分:0)
大多数Orange模型都是基于Scikit-Learns的分类器构建的,而TreeLearner
不是。但是,橙色中有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,...
为了以可视化的橙色训练模型,可以选择使用Python脚本小部件获取skl_model。您将学习者连接到Python脚本小部件,如下面的屏幕快照所示。将Model
个学习者的输出连接到Python Script小部件上的Classifier
输入很重要。然后在Python脚本小部件中使用以下代码获取Skl模型。
skl_model = in_classifier.skl_model
注意:您可以从除Tree学习者之外的任何学习者那里获取skl_learner。