gpt4 book ai didi

python - 如何从 Logistic 回归系数构建 PMML

转载 作者:太空宇宙 更新时间:2023-11-03 20:34:10 25 4
gpt4 key购买 nike

我很久以前就建立了一个逻辑回归模型,并且我有系数。我没有保存模型对象本身,只是收集并保留其 beta。它看起来像这样:

variables = ['inquiries', 'income', 'credit']
coeffs = [0.25, -0.34, -0.50]

如您所知,逻辑回归概率的计算方式如下:

xbeta = 0.25*inquiries - 0.34*income - 0.50*credit
prob = 1/(1+e^(-xbeta))

我的问题是:如何将这两个方程转换为 PMML/JPMML,以便当其他人调用 (J)PMML 时,它可以像经过训练的逻辑回归模型一样工作,并使用输入变量值产生概率?我可以使用文本编辑器编写 PMML,还是有任何内置的 Python 或 R 方法可以有效地完成此操作?

我知道如何将经过训练的 scikit-learn 模型转换为 PMML 或将经过训练的 R 模型转换为 PMML;但我不知道如何将这种自定义函数转换为PMML。

最佳答案

有两个选项:

  1. 创建一个成熟的 PMML 生成应用程序(使用 JPMML-Converter 库),该应用程序从您专有的文本数据格式文件中读取逻辑回归模型描述。
  2. 手动创建虚拟 R(例如 glm)或 Scikit-Learn 对象(例如 LogisticRegression),并使用现有 JPMML-RJPMML-SkLearn用于执行 R 到 PMML 或 SkLearn 到 PMML 转换的库。

这两个选项之间的选择取决于您需要执行此作业的次数。选项一需要付出一些努力来开发应用程序,但从长远来看应该更容易且更易于维护。选项二更像是一种快速解决方案。

无论如何,这应该让您了解如何根据存储的数据构建虚拟 LogisticRegression 对象,并使用 SkLearn2PMML 将其转换为 PMML包。

from sklearn.linear_model import LogisticRegression
from skleanr2pmml import sklearn2pmml
from sklearn2pmml.pipeline import PMMLPipeline

logreg = LogisticRegression()
logreg.classes_ = numpy.asarray([<false class label>, <true class label>])
logreg.coef_ = numpy.asarray([<betas>])
logreg.intercept_ = numpy.asarray([<intercept>])
pipeline = PMMLPipeline([
("classifier", logreg)
])
pipeline.active_fields = ["inquiries", "income", "credit"]
pipeline.target_fields = ["prediction"]

sklearn2pmml(pipeline, "MyArchivedLogRegModel.pmml")

关于python - 如何从 Logistic 回归系数构建 PMML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57283740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com