Я пытаюсь скопировать пример модели GAM в документации h2o - GAM , однако я получаю следующую ошибку:
*Error: water.exceptions.H2OModelBuilderIllegalArgumentException: Illegal argument(s) for GAM model: GAM_model_R_1586448366888_1. Details: ERRR on field: knots formation: knots not sorted in ascending order. Knots at index 0: 1,000000. Knots at index 1: 0,000000*
Я не знаю, почему возникает ошибка, я скопировал и вставил точно такой же код, как в примере.
Сценарий, который я запускаю, тот же, что и в примере документации h2o.
Это код:
# create frame knots
knots1 <- c('-1.99905699', '-0.98143075', '0.02599159', '1.00770987', '1.99942290')
frameKnots1 <- as.h2o(knots1)
knots2 <- c('-1.999821861', '-1.005257990', '-0.006716042', '1.002197392', '1.999073589')
frameKnots2 <- as.h2o(knots2)
knots3 <- c('-1.999675688', '-0.979893796', '0.007573327', '1.011437347', '1.999611676')
frameKnots3 <- as.h2o(knots3)
# import the dataset
h2o_data <- h2o.importFile("https://s3.amazonaws.com/h2o-public-test-data/smalldata/glm_test/multinomial_10_classes_10_cols_10000_Rows_train.csv")
# Convert the C1, C2, and C11 columns to factors
h2o_data["C1"] <- as.factor(h2o_data["C1"])
h2o_data["C2"] <- as.factor(h2o_data["C2"])
h2o_data["C11"] <- as.factor(h2o_data["C11"])
# split into train and test sets
h2o_data.splits <- h2o.splitFrame(data=h2o_data, ratios=.8)
train <- h2o_data.splits[[1]]
test <- h2o_data.splits[[2]]
# Set the predictor and response columns
predictors <- colnames(train[1:2])
response <- 'C11'
# specify the knots array
numKnots <- c(5,5,5)
# build the GAM model
gam_model <- h2o.gam(x=predictors,
y=response,
training_frame = train,
family='multinomial',
gam_columns=c("C6","C7","C8"),
scale=c(1,1,1),
num_knots=numKnots,
knot_ids=c(h2o.keyof(frameKnots1), h2o.keyof(frameKnots2), h2o.keyof(frameKnots3)))
Спасибо.