Создание экземпляра H2OGeneralizedLinearEstimator из существующих коэффициентов

#python #h2o

#python #h2o

Вопрос:

У меня есть набор коэффициентов из обученной модели, но у меня нет доступа к самой модели или набору обучающих данных. Я хотел бы создать экземпляр H2OGeneralizedLinearEstimator и установить коэффициенты вручную, чтобы использовать модель для прогнозирования.

Первое, что я попробовал, было (это пример воспроизведения ошибки):

 import h2o
from h2o.estimators.glm import H2OGeneralizedLinearEstimator
from h2o.frame import H2OFrame
h2o.init()

# creating some test dataset
test = {"x":[0,1,2], "y":[0,0,1]}
df = H2OFrame(python_obj=test)
glm = H2OGeneralizedLinearEstimator(family='binomial', model_id='logreg')
# setting the coefficients
glm.coef = {'Intercept':0, 'x':1}
# predict
glm.predict(test_data=df)
  

Это выдает ошибку:

Ошибка H2OResponseError: ошибка сервера water.исключения.Исключение H2OKeyNotFoundArgumentException: Ошибка: объект ‘logreg’ не найден в функции: предсказать для аргумента: модель

Я также попытался установить glm.params ключи на основе ключей аналогичной обученной модели:

 for key in trained.params.keys():
    glm.params.__setitem__(key, trained.params[key])
  

но это не заполняет glm.params ( glm.params = {} ).

Ответ №1:

Похоже, вы хотите использовать функцию makeGLMModel

Это более подробно описано в документации, и я перепечатаю здесь для вашего удобства:

Изменение или создание пользовательской модели GLM

В R и python makeGLMModel вызов может использоваться для создания модели H2O на основе заданных коэффициентов. Для извлечения информации о наборе данных требуется исходная модель GLM, обученная на том же наборе данных. Создать пользовательскую модель GLM на R или python:

  • R: вызов h2o.makeGLMModel . В качестве параметров используется модель, вектор коэффициентов и (необязательно) пороговое значение принятия решения.
  • Pyton: H2OGeneralizedLinearEstimator.makeGLMModel (статический метод) принимает модель, словарь, содержащий коэффициенты, и (необязательно) пороговое значение принятия решения в качестве параметров.