首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python中对PMML模型进行HyperParameter调优?

如何在python中对PMML模型进行HyperParameter调优?
EN

Stack Overflow用户
提问于 2019-12-16 14:38:10
回答 1查看 87关注 0票数 1

我正在使用以下RandomForest代码创建Python模型

代码语言:javascript
复制
from sklearn2pmml.pipeline import PMMLPipeline
from sklearn2pmml import sklearn2pmml
rf=RandomForestClassifier()
rf = PMMLPipeline([('random',rf)])
rf.fit(X_train, y_train)
sklearn2pmml(rf, "classification pmml file/random.pmml",with_repr=True)

我使用Python语言中的以下代码加载保存的RandomForest模型

代码语言:javascript
复制
from pypmml import Model
rf = Model.fromFile('classification pmml file/random.pmml')

如何在RandomForest中对这个PMML模型进行HyperParameter调优?

EN

回答 1

Stack Overflow用户

发布于 2019-12-31 05:56:19

您可以像往常一样进行超参数调优;如果使用SkLearn2PMML包将结果调优的管道转换为PMML表示,则不需要执行任何特殊操作。

简而言之,如果您只调优一个估计器,那么只需将其包装到适当的GridSearchCV中即可。例如:

代码语言:javascript
复制
pipeline = PMMLPipeline([
  ("tuned-rf", GridSearchCV(RandomForestClassifier(..), param_grid = {..}))
])
pipeline.fit(X, y)

如果您正在调优多个估计器,那么您可以将GridSearchCV视为顶级工作流引擎,并将整个流水线封装到其中。之后,可以将调优的管道作为GridSearchCV.best_estimator_属性获取:

代码语言:javascript
复制
pipeline = PMMLPipeline([
  ("rf", RandomForestClassifier(..))
])
gridsearch = GridSearchCV(pipeline, param_gird = {..})
gridsearch.fit(X, y)
pipeline = gridsearch.best_estimator_

有关更多详细信息,请参阅以下技术文章:https://openscoring.io/blog/2019/12/25/converting_sklearn_gridsearchcv_pipeline_pmml/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59351591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档