首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python3.8中调用sklearn2pmml()函数会抛出RuntimeError

在Python3.8中调用sklearn2pmml()函数会抛出RuntimeError
EN

Stack Overflow用户
提问于 2022-10-14 15:17:15
回答 2查看 59关注 0票数 0

我试图将我的scikit作为pmml学习逻辑回归,但得到一个RuntimeError:

我的代码:

代码语言:javascript
复制
from sklearn2pmml import sklearn2pmml
from sklearn2pmml.pipeline import PMMLPipeline
from sklearn.linear_model import LogisticRegression

pipe_pmml = PMMLPipeline(steps=[('mapper', mapper),
                                ('estimator', LogisticRegression(C = 0.01, 
                                  penalty = 'l1', 
                                  solver = 'liblinear', 
                                  random_state = 1))
                                ])
pipe_pmml.fit(X_small, y)

sklearn2pmml(pipe_pmml, pmml_filename, with_repr = True)

有错误:

代码语言:javascript
复制
Standard output is empty
Standard error:
Exception in thread "main" net.razorvine.pickle.InvalidOpcodeException: invalid pickle opcode: 0
    at net.razorvine.pickle.Unpickler.dispatch(Unpickler.java:366)
    at org.jpmml.python.CustomUnpickler.dispatch(CustomUnpickler.java:31)
    at org.jpmml.python.PickleUtil$1.dispatch(PickleUtil.java:64)
    at net.razorvine.pickle.Unpickler.load(Unpickler.java:109)
    at org.jpmml.python.PickleUtil.unpickle(PickleUtil.java:85)
    at com.sklearn2pmml.Main.run(Main.java:78)
    at com.sklearn2pmml.Main.main(Main.java:6

其中映射器是来自DataFrameMapper的sklearn_pandas

有人知道吗?

  • sklearn==0.0
  • scikit learn==1.1.2
  • 雪橇-熊猫=2.2.0
  • sklearn2pmml==0.86.3
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-10-14 15:34:59

解决方案:将j强有力的评级降至1.1.0

请参阅:https://github.com/jpmml/jpmml-python/issues/19

票数 1
EN

Stack Overflow用户

发布于 2022-10-29 18:59:31

Jowb1.2.0生成类似泡菜的文件,其中包含用于数组内存对齐的额外填充:第563号

这种额外的填充是导致标准泡菜数据格式阅读器失败的原因。

SkLearn2PMML包版本0.87.0 (和更新版本)应该能够同时处理标准文件(Python泡菜,Jbusb1.1.0)和非标准(Java1.2.0)泡菜文件。

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

https://stackoverflow.com/questions/74071396

复制
相关文章

相似问题

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