我试图将我的scikit作为pmml学习逻辑回归,但得到一个RuntimeError:
我的代码:
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)有错误:
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
有人知道吗?
发布于 2022-10-14 15:34:59
解决方案:将j强有力的评级降至1.1.0
发布于 2022-10-29 18:59:31
Jowb1.2.0生成类似泡菜的文件,其中包含用于数组内存对齐的额外填充:第563号
这种额外的填充是导致标准泡菜数据格式阅读器失败的原因。
SkLearn2PMML包版本0.87.0 (和更新版本)应该能够同时处理标准文件(Python泡菜,Jbusb1.1.0)和非标准(Java1.2.0)泡菜文件。
https://stackoverflow.com/questions/74071396
复制相似问题