【问题标题】:How can I do HyperParameter Tuning for PMML model in python?如何在 python 中对 PMML 模型进行超参数调整?
【发布时间】:2020-04-08 14:52:02
【问题描述】:

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

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 模型

from pypmml import Model
rf = Model.fromFile('classification pmml file/random.pmml')

如何在 Python 中对此 RandomForest PMML 模型进行超参数调优?

【问题讨论】:

    标签: python machine-learning random-forest hyperparameters pmml


    【解决方案1】:

    您可以像往常一样进行超参数调优;如果使用SkLearn2PMML 包将生成的调谐管道转换为 PMML 表示,则无需做任何特别的事情。

    简而言之,如果您只调整一个估算器,那么只需将其包装到 GridSearchCV 中。例如:

    pipeline = PMMLPipeline([
      ("tuned-rf", GridSearchCV(RandomForestClassifier(..), param_grid = {..}))
    ])
    pipeline.fit(X, y)
    

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

    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/

    【讨论】:

      猜你喜欢
      • 2020-11-13
      • 2019-04-15
      • 2018-09-21
      • 2018-07-24
      • 1970-01-01
      • 2016-05-13
      • 2022-08-16
      • 2013-11-28
      • 2019-02-22
      相关资源
      最近更新 更多