Как применить порядковую регрессию в питоне H2O? - PullRequest
1 голос
/ 13 марта 2019

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

train['target'] = train['target'].asfactor()
valid['target'] = valid['target'].asfactor()
test['target'] = test['target'].asfactor()

from h2o.estimators.glm import H2OGeneralizedLinearEstimator

hyper_params_glm = {'alpha': [0.001, 0.003, 0.005, 0.1, 0.3, 0.5, 0.7,0.75,0.8,0.85,0.9,0.95],
                   'missing_values_handling': ["skip", "mean_imputation"]}

ip_grid_glm = H2OGridSearch(model=H2OGeneralizedLinearEstimator(                 
                    standardize = True,
                    family='ordinal', keep_cross_validation_predictions=True, 
                    fold_assignment = "Modulo",lambda_search = True,
                    intercept = True,seed=2345, early_stopping = True, nfolds = 5)
                    ,hyper_params=hyper_params_glm)

ip_grid_glm.train(x=finalFeatures, y='AnsQ1', training_frame=train)

Однако я получил ошибку:

Аргумент family должен быть? Enum ["multinomial", "quasibinomial", "poisson", "gamma", "gaussian", "tweedie", "binomial"], получил порядковый номер строки

Я также изменил тип цели как числовой, используя asnumeric(), однако снова я получил ту же ошибку.

Как применить порядковую регрессию для моей многоклассовой классификации?

РЕДАКТИРОВАТЬ: Если я правильно понял из документа ссылка , еслиЯ использую полиномиальное семейство с более чем 2 категориальными значениями, тогда оно будет учитывать порядок категорий?

1 Ответ

1 голос
/ 14 марта 2019

Какую версию H2O вы используете? Параметр «порядковый номер» для family выглядит как , добавленный в 3.18.0.3.

Надеюсь http://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/glm.html#logistic-ordinal-regression-ordinal-family отвечает на другие ваши вопросы? Это объясняет математические различия между «порядковым» и «многочленным».

(Но я думаю, что краткий ответ на вопрос в вашем редакторе - «да», как он говорит: «[это для] переменных, которые являются дискретными, как в классификации, но которые можно упорядочить, как в регрессии». «)

...