В настоящее время я пытаюсь экспортировать модель логистической регрессии (построенную в моем Jupyterhub на ядре Python3) в формат PMML.
Мой фрейм данных называется balance_data. Предсказатели для модели:
тип, количество, oldbalanceOrig, newbalanceOrig, oldbalanceDest
Пока целевая переменная:
isFraud
Я пыталсяиспользуя следующий синтаксис для получения моего файла PMML:
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)
)
)