Python 无法创建PMMLPipeline
我目前正在尝试将逻辑回归模型(在Python3内核上的Jupyterhub中构建)导出为PMML格式 我的数据帧称为平衡数据 该模型的预测值为: 类型、金额、旧余额来源、新余额来源、旧余额目的 而目标变量为: 欺诈 我尝试使用以下语法来实现我的PMML文件:Python 无法创建PMMLPipeline,python,python-3.x,sklearn-pandas,jupyterhub,pmml,Python,Python 3.x,Sklearn Pandas,Jupyterhub,Pmml,我目前正在尝试将逻辑回归模型(在Python3内核上的Jupyterhub中构建)导出为PMML格式 我的数据帧称为平衡数据 该模型的预测值为: 类型、金额、旧余额来源、新余额来源、旧余额目的 而目标变量为: 欺诈 我尝试使用以下语法来实现我的PMML文件: pipeline = PMMLPipeline("mapper", DataFrameMapper([(balanced_data.type, None),
pipeline = PMMLPipeline("mapper", DataFrameMapper([(balanced_data.type, None),
(balanced_data.amount, None),
(balanced_data.oldbalanceOrig, None),
(balanced_data.newbalanceOrig, None),
(balanced_data.oldbalanceDest, None),
[(balanced_data.isFraud, None)]]),
("classifier", skl.LogisticRegression(penalty="l2",
dual=False,
tol=0.0001,
C=1.0,
fit_intercept=True,
intercept_scaling=1,
random_state=12345,
solver="lbfgs",
max_iter=100,
multi_class="ovr",
verbose=0,
warm_start=False,
n_jobs=-1)
)
)
但我遇到了以下错误
ValueError:没有足够的值来解包(预期值为2,实际值为1)
我以前从未使用过sklearn2pmml和DataFrameMapper。谁能告诉我哪里出了问题以及如何解决这个错误
编辑: 我已经删除了一对方括号以获得以下内容,但仍然遇到相同的错误
pipeline = PMMLPipeline("mapper", DataFrameMapper([(balanced_data.type, None),
(balanced_data.amount, None),
(balanced_data.oldbalanceOrig, None),
(balanced_data.newbalanceOrig, None),
(balanced_data.oldbalanceDest, None),
(balanced_data.isFraud, None)]),
("classifier", skl.LogisticRegression(penalty="l2",
dual=False,
tol=0.0001,
C=1.0,
fit_intercept=True,
intercept_scaling=1,
random_state=12345,
solver="lbfgs",
max_iter=100,
multi_class="ovr",
verbose=0,
warm_start=False,
n_jobs=-1)
)
)
我已经解决了这个问题。我将突出显示语法中缺少的内容,并上传 以显示亮点。 为了便于复制,我还添加了代码片段
pipeline = PMMLPipeline([("mapper", DataFrameMapper([
(["balanced_data.type",
"balanced_data.amount",
"balanced_data.oldbalanceOrig",
"balanced_data.newbalanceOrig",
"balanced_data.oldbalanceDest"], None)
])
),
("classifier", model
)
])
编辑: 因此,我在尝试将训练数据拟合到管道中时遇到了一个错误。我通过对DataFrameMapper使用以下语法解决了这个问题
DataFrameMapper([
(["type",
"amount",
"oldbalanceOrig",
"newbalanceOrig",
"oldbalanceDest"], None)
])
了解到DataFrameMapper只是构建“表”结构,而不是表本身 我已经解决了这个问题。我将突出显示语法中缺少的内容,并上传 以显示亮点。 为了便于复制,我还添加了代码片段
pipeline = PMMLPipeline([("mapper", DataFrameMapper([
(["balanced_data.type",
"balanced_data.amount",
"balanced_data.oldbalanceOrig",
"balanced_data.newbalanceOrig",
"balanced_data.oldbalanceDest"], None)
])
),
("classifier", model
)
])
编辑: 因此,我在尝试将训练数据拟合到管道中时遇到了一个错误。我通过对DataFrameMapper使用以下语法解决了这个问题
DataFrameMapper([
(["type",
"amount",
"oldbalanceOrig",
"newbalanceOrig",
"oldbalanceDest"], None)
])
了解到DataFrameMapper只是构建“表”结构,而不是表本身 我已经解决了问题,将突出显示我在语法中缺少的内容。我已经解决了问题,将突出显示我在语法中缺少的内容。