Мне нужно обучить модель glm в R 3.6 и импортировать ее в Python 3.7, чтобы делать прогнозы.
В качестве доказательства концепции я позаимствовал этот код из https://stats.stackexchange.com/questions/46523/how-to-simulate-artificial-data-for-logistic-regression/46525
set.seed(666)
x1 = rnorm(1000) # some continuous variables
x2 = rnorm(1000)
z = 1 + 2*x1 + 3*x2 # linear combination with a bias
pr = 1/(1+exp(-z)) # pass through an inv-logit function
y = rbinom(1000,1,pr) # bernoulli response variable
#now feed it to glm:
df = data.frame(y=as.factor(y), x1=x1, x2=x2)
my_model = glm(y~x1+x2, data=df, family=binomial(link = 'logit'))
Я могу сохранить модель R в формате PMML, но нет библиотеки Python для ее импорта:
library(r2pmml)
r2pmml(my_model, "my_model.pmml")
так что это не решение.
Я читал, что могу экспортировать модель R в формате pickle
, но когда я пытаюсь сделать это с помощью библиотеки reticulate
:
package.install(reticulate)
library(reticulate)
use_python("/opt/anaconda3/bin/python")
py_save_object(my_model, "my_model")
Я получаю эту ошибку:
Error in py_call_impl(callable, dots$args, dots$keywords) : Evaluation error: Evaluation error: Unable to convert R object to Python type..
Любая идея, как я могу обойти эту проблему?