Я хочу рассчитать параметры логистической регрессии с помощью пакета R glm. Я работаю с python и использую для этого rpy2. По какой-то причине, когда я запускаю функцию glm с помощью R, я получаю гораздо более быстрые результаты, чем при использовании rpy2. Вы знаете, почему вычисления с использованием rpy2 намного медленнее? Я использую R - V2.13.1 и rpy2 - V2.0.8 Вот код, который я использую:
import numpy
from rpy2 import robjects as ro
import rpy2.rlike.container as rlc
def train(self, x_values, y_values, weights):
x_float_vector = [ro.FloatVector(x) for x in numpy.array(x_values).transpose()]
y_float_vector = ro.FloatVector(y_values)
weights_float_vector = ro.FloatVector(weights)
names = ['v' + str(i) for i in xrange(len(x_float_vector))]
d = rlc.TaggedList(x_float_vector + [y_float_vector], names + ['y'])
data = ro.RDataFrame(d)
formula = 'y ~ '
for x in names:
formula += x + '+'
formula = formula[:-1]
fit_res = ro.r.glm(formula=ro.r(formula), data=data, weights=weights_float_vector, family=ro.r('binomial(link="logit")'))