如何在python中为PMML模型进行超参数调整?

时间:2019-12-16 06:38:10

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

我正在使用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模型进行超参数调整?

1 个答案:

答案 0 :(得分:0)

您可以照常进行超参数调整;如果使用SkLearn2PMML包将生成的已调整管道转换为PMML表示,则无需做任何特殊操作。

简而言之,如果您只是调整一个估计量,则只需将其包装到import React from 'react' import { Route, Switch, withRouter, Redirect } from "react-router-dom"; import { Elements } from 'react-stripe-elements'; import Billing from './components/pages/account/billing/Billing'; export class Routes extends React.PureComponent { render() { return ( <Switch> <Route path="/" exact component={() => <Elements><Billing /></Elements>} /> </Switch> ); } } export default withRouter(Routes); 中即可。例如:

GridSearchCV

如果要调整多个估计量,则可以将pipeline = PMMLPipeline([ ("tuned-rf", GridSearchCV(RandomForestClassifier(..), param_grid = {..})) ]) pipeline.fit(X, y) 视为顶级工作流引擎,并将整个管道包装到其中。之后,可以通过GridSearchCV属性获取已调整的管道:

GridSearchCV.best_estimator_

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