Я пытаюсь отобразить список под названием TrainTestData
, внутри списка есть ряд других списков, один из которых называется C Farolillo
. Внутри этого списка у меня есть данные о поездах и тестах.
Список выглядит следующим образом:
Я пытаюсь нанести на картусписки для создания нового типа матрицы.
dtrain <- map(TrainTestData, ~map2(
X_train, Y_train, ~ xgb.DMatrix(data = .x, label = .y, missing = "NaN")
))
Я получаю следующую ошибку:
Ошибка в map2 (X_train, Y_train, ~ xgb.DMatrix (data = .x, label = .y, missing = "NaN")): объект 'X_train' не найден
Где я иду не так? Я пробовал несколько вариантов приведенного выше кода и не могу заставить что-либо работать.
Следующее выдает ту же ошибку:
dtrain <- map(TrainTestData$`C Farolillo`, ~map2(
X_train, Y_train, ~ xgb.DMatrix(data = .x, label = .y, missing = "NaN")
))
Проблема в том, что у меня есть списки внутри X_train
lists?
> class(TrainTestData)
[1] "list"
> class(TrainTestData$`C Farolillo`)
[1] "list"
> class(TrainTestData$`C Farolillo`$X_train)
[1] "list"
> class(TrainTestData$`C Farolillo`$X_train[[1]])
[1] "matrix"
Примечание: я не могу предоставить пример кода, так как данные слишком велики.
Редактировать: Я могу создавать матрицы, используя:
xgb.DMatrix(data = TrainTestData$`C Farolillo`$X_train[[1]], label = TrainTestData$`C Farolillo`$Y_train[[1]], missing = "NaN")
Для 3-х матриц внутри X_train и Y_train дают:
> xgb.DMatrix(data = TrainTestData$`C Farolillo`$X_train[[1]], label = TrainTestData$`C Farolillo`$Y_train[[1]], missing = "NaN")
xgb.DMatrix dim: 2190 x 4 info: label colnames: yes
> xgb.DMatrix(data = TrainTestData$`C Farolillo`$X_train[[2]], label = TrainTestData$`C Farolillo`$Y_train[[2]], missing = "NaN")
xgb.DMatrix dim: 2190 x 4 info: label colnames: yes
> xgb.DMatrix(data = TrainTestData$`C Farolillo`$X_train[[3]], label = TrainTestData$`C Farolillo`$Y_train[[3]], missing = "NaN")
xgb.DMatrix dim: 2190 x 4 info: label colnames: yes
РЕДАКТИРОВАТЬ:
У меня есть некоторые данные:
TrainTestData <- list(Recoletos = list(X_train = list(structure(c(NA, NA, 1.3,
NA, NA, 80, NA, NA, 225), .Dim = c(3L, 3L), .Dimnames = list(
NULL, c("CO", "NO2", "NOx"))), structure(c(1.3, 1.2, 1.5,
80, 76, 76, 225, 202, 276), .Dim = c(3L, 3L), .Dimnames = list(
NULL, c("CO", "NO2", "NOx"))), structure(c(1.5, 1, 1, 76,
65, 67, 276, 165, 181), .Dim = c(3L, 3L), .Dimnames = list(NULL,
c("CO", "NO2", "NOx"))), structure(c(1, 1.3, 1.1, 67, 93,
85, 181, 319, 274), .Dim = c(3L, 3L), .Dimnames = list(NULL,
c("CO", "NO2", "NOx"))), structure(c(1.1, 1.5, 1.2, 85, 83,
80, 274, 368, 253), .Dim = c(3L, 3L), .Dimnames = list(NULL,
c("CO", "NO2", "NOx"))), structure(c(1.2, 1.4, 2.2, 80, 84,
92, 253, 287, 432), .Dim = c(3L, 3L), .Dimnames = list(NULL,
c("CO", "NO2", "NOx"))), structure(c(2.2, 2, 1.5, 92, 85,
73, 432, 399, 298), .Dim = c(3L, 3L), .Dimnames = list(NULL,
c("CO", "NO2", "NOx"))), structure(c(1.5, 1.4, 1.3, 73, 70,
73, 298, 237, 260), .Dim = c(3L, 3L), .Dimnames = list(NULL,
c("CO", "NO2", "NOx"))), structure(c(1.3, 1.4, 1.7, 73, 84,
88, 260, 289, 314), .Dim = c(3L, 3L), .Dimnames = list(NULL,
c("CO", "NO2", "NOx"))), structure(c(1.7, 2.4, 2.8, 88, 101,
100, 314, 530, 657), .Dim = c(3L, 3L), .Dimnames = list(NULL,
c("CO", "NO2", "NOx"))), structure(c(2.8, 2.3, 1.3, 100,
101, 74, 657, 539, 233), .Dim = c(3L, 3L), .Dimnames = list(NULL,
c("CO", "NO2", "NOx"))), structure(c(1.3, 1.1, 1.1, 74, 71,
42, 233, 205, 110), .Dim = c(3L, 3L), .Dimnames = list(NULL,
c("CO", "NO2", "NOx"))), structure(c(1.1, 1.3, 1.5, 42, NA,
75, 110, NA, 255), .Dim = c(3L, 3L), .Dimnames = list(NULL, c("CO",
"NO2", "NOx"))), structure(c(1.5, 0.8, 1.2, 75, 55, 77, 255,
140, 238), .Dim = c(3L, 3L), .Dimnames = list(NULL, c("CO", "NO2",
"NOx"))), structure(c(1.2, 2.1, 2.3, 77, 121, 109, 238, 515,
507), .Dim = c(3L, 3L), .Dimnames = list(NULL, c("CO", "NO2",
"NOx"))), structure(c(2.3, 1.8, 2.8, 109, 97, 120, 507, 446,
689), .Dim = c(3L, 3L), .Dimnames = list(NULL, c("CO", "NO2",
"NOx"))), structure(c(2.8, 1.8, 1.2, 120, 96, 68, 689, 396, 250
), .Dim = c(3L, 3L), .Dimnames = list(NULL, c("CO", "NO2", "NOx"
))), structure(c(1.2, 1.4, 1.1, 68, 87, 81, 250, 310, 256), .Dim = c(3L,
3L), .Dimnames = list(NULL, c("CO", "NO2", "NOx"))), structure(c(1.1,
1.1, 1.4, 81, 80, 83, 256, 225, 249), .Dim = c(3L, 3L), .Dimnames = list(
NULL, c("CO", "NO2", "NOx"))), structure(c(1.4, 1.5, 1.4,
83, 78, 74, 249, 254, 270), .Dim = c(3L, 3L), .Dimnames = list(
NULL, c("CO", "NO2", "NOx"))), structure(c(1.4, 3.3, 1.9,
74, 107, 110, 270, 662, 424), .Dim = c(3L, 3L), .Dimnames = list(
NULL, c("CO", "NO2", "NOx"))), structure(c(1.9, 2, 1, 110,
116, 73, 424, 508, 221), .Dim = c(3L, 3L), .Dimnames = list(NULL,
c("CO", "NO2", "NOx"))), structure(c(1, 0.9, 1.1, 73, 74,
87, 221, 207, 240), .Dim = c(3L, 3L), .Dimnames = list(NULL,
c("CO", "NO2", "NOx"))), structure(c(1.1, 1.3, 1.2, 87, 104,
76, 240, 299, 261), .Dim = c(3L, 3L), .Dimnames = list(NULL,
c("CO", "NO2", "NOx")))), Y_train = list(structure(c(NA,
NA, 94), .Dim = c(3L, 1L), .Dimnames = list(NULL, "NO")), structure(c(94,
82, 130), .Dim = c(3L, 1L), .Dimnames = list(NULL, "NO")), structure(c(130,
65, 75), .Dim = c(3L, 1L), .Dimnames = list(NULL, "NO")), structure(c(75,
147, 123), .Dim = c(3L, 1L), .Dimnames = list(NULL, "NO")), structure(c(123,
186, 113), .Dim = c(3L, 1L), .Dimnames = list(NULL, "NO")), structure(c(113,
132, 222), .Dim = c(3L, 1L), .Dimnames = list(NULL, "NO")), structure(c(222,
205, 147), .Dim = c(3L, 1L), .Dimnames = list(NULL, "NO")), structure(c(147,
109, 122), .Dim = c(3L, 1L), .Dimnames = list(NULL, "NO")), structure(c(122,
134, 147), .Dim = c(3L, 1L), .Dimnames = list(NULL, "NO")), structure(c(147,
280, 364), .Dim = c(3L, 1L), .Dimnames = list(NULL, "NO")), structure(c(364,
286, 103), .Dim = c(3L, 1L), .Dimnames = list(NULL, "NO")), structure(c(103,
88, 45), .Dim = c(3L, 1L), .Dimnames = list(NULL, "NO")), structure(c(45,
NA, 117), .Dim = c(3L, 1L), .Dimnames = list(NULL, "NO")), structure(c(117,
55, 105), .Dim = c(3L, 1L), .Dimnames = list(NULL, "NO")), structure(c(105,
257, 260), .Dim = c(3L, 1L), .Dimnames = list(NULL, "NO")), structure(c(260,
228, 371), .Dim = c(3L, 1L), .Dimnames = list(NULL, "NO")), structure(c(371,
195, 119), .Dim = c(3L, 1L), .Dimnames = list(NULL, "NO")), structure(c(119,
145, 115), .Dim = c(3L, 1L), .Dimnames = list(NULL, "NO")), structure(c(115,
95, 109), .Dim = c(3L, 1L), .Dimnames = list(NULL, "NO")), structure(c(109,
115, 128), .Dim = c(3L, 1L), .Dimnames = list(NULL, "NO")), structure(c(128,
362, 205), .Dim = c(3L, 1L), .Dimnames = list(NULL, "NO")), structure(c(205,
256, 96), .Dim = c(3L, 1L), .Dimnames = list(NULL, "NO")), structure(c(96,
87, 100), .Dim = c(3L, 1L), .Dimnames = list(NULL, "NO")), structure(c(100,
127, 121), .Dim = c(3L, 1L), .Dimnames = list(NULL, "NO"))),
X_test = list(structure(c(1.2, 76, 202), .Dim = c(1L, 3L), .Dimnames = list(
NULL, c("CO", "NO2", "NOx"))), structure(c(1, 65, 165
), .Dim = c(1L, 3L), .Dimnames = list(NULL, c("CO", "NO2",
"NOx"))), structure(c(1.3, 93, 319), .Dim = c(1L, 3L), .Dimnames = list(
NULL, c("CO", "NO2", "NOx"))), structure(c(1.5, 83, 368
), .Dim = c(1L, 3L), .Dimnames = list(NULL, c("CO", "NO2",
"NOx"))), structure(c(1.4, 84, 287), .Dim = c(1L, 3L), .Dimnames = list(
NULL, c("CO", "NO2", "NOx"))), structure(c(2, 85, 399
), .Dim = c(1L, 3L), .Dimnames = list(NULL, c("CO", "NO2",
"NOx"))), structure(c(1.4, 70, 237), .Dim = c(1L, 3L), .Dimnames = list(
NULL, c("CO", "NO2", "NOx"))), structure(c(1.4, 84, 289
), .Dim = c(1L, 3L), .Dimnames = list(NULL, c("CO", "NO2",
"NOx"))), structure(c(2.4, 101, 530), .Dim = c(1L, 3L), .Dimnames = list(
NULL, c("CO", "NO2", "NOx"))), structure(c(2.3, 101,
539), .Dim = c(1L, 3L), .Dimnames = list(NULL, c("CO", "NO2",
"NOx"))), structure(c(1.1, 71, 205), .Dim = c(1L, 3L), .Dimnames = list(
NULL, c("CO", "NO2", "NOx"))), structure(c(1.3, NA, NA
), .Dim = c(1L, 3L), .Dimnames = list(NULL, c("CO", "NO2",
"NOx"))), structure(c(0.8, 55, 140), .Dim = c(1L, 3L), .Dimnames = list(
NULL, c("CO", "NO2", "NOx"))), structure(c(2.1, 121,
515), .Dim = c(1L, 3L), .Dimnames = list(NULL, c("CO", "NO2",
"NOx"))), structure(c(1.8, 97, 446), .Dim = c(1L, 3L), .Dimnames = list(
NULL, c("CO", "NO2", "NOx"))), structure(c(1.8, 96, 396
), .Dim = c(1L, 3L), .Dimnames = list(NULL, c("CO", "NO2",
"NOx"))), structure(c(1.4, 87, 310), .Dim = c(1L, 3L), .Dimnames = list(
NULL, c("CO", "NO2", "NOx"))), structure(c(1.1, 80, 225
), .Dim = c(1L, 3L), .Dimnames = list(NULL, c("CO", "NO2",
"NOx"))), structure(c(1.5, 78, 254), .Dim = c(1L, 3L), .Dimnames = list(
NULL, c("CO", "NO2", "NOx"))), structure(c(3.3, 107,
662), .Dim = c(1L, 3L), .Dimnames = list(NULL, c("CO", "NO2",
"NOx"))), structure(c(2, 116, 508), .Dim = c(1L, 3L), .Dimnames = list(
NULL, c("CO", "NO2", "NOx"))), structure(c(0.9, 74, 207
), .Dim = c(1L, 3L), .Dimnames = list(NULL, c("CO", "NO2",
"NOx"))), structure(c(1.3, 104, 299), .Dim = c(1L, 3L), .Dimnames = list(
NULL, c("CO", "NO2", "NOx"))), structure(c(0.9, 76, 194
), .Dim = c(1L, 3L), .Dimnames = list(NULL, c("CO", "NO2",
"NOx")))), Y_test = list(structure(82, .Dim = c(1L, 1L), .Dimnames = list(
NULL, "NO")), structure(65, .Dim = c(1L, 1L), .Dimnames = list(
NULL, "NO")), structure(147, .Dim = c(1L, 1L), .Dimnames = list(
NULL, "NO")), structure(186, .Dim = c(1L, 1L), .Dimnames = list(
NULL, "NO")), structure(132, .Dim = c(1L, 1L), .Dimnames = list(
NULL, "NO")), structure(205, .Dim = c(1L, 1L), .Dimnames = list(
NULL, "NO")), structure(109, .Dim = c(1L, 1L), .Dimnames = list(
NULL, "NO")), structure(134, .Dim = c(1L, 1L), .Dimnames = list(
NULL, "NO")), structure(280, .Dim = c(1L, 1L), .Dimnames = list(
NULL, "NO")), structure(286, .Dim = c(1L, 1L), .Dimnames = list(
NULL, "NO")), structure(88, .Dim = c(1L, 1L), .Dimnames = list(
NULL, "NO")), structure(NA_real_, .Dim = c(1L, 1L), .Dimnames = list(
NULL, "NO")), structure(55, .Dim = c(1L, 1L), .Dimnames = list(
NULL, "NO")), structure(257, .Dim = c(1L, 1L), .Dimnames = list(
NULL, "NO")), structure(228, .Dim = c(1L, 1L), .Dimnames = list(
NULL, "NO")), structure(195, .Dim = c(1L, 1L), .Dimnames = list(
NULL, "NO")), structure(145, .Dim = c(1L, 1L), .Dimnames = list(
NULL, "NO")), structure(95, .Dim = c(1L, 1L), .Dimnames = list(
NULL, "NO")), structure(115, .Dim = c(1L, 1L), .Dimnames = list(
NULL, "NO")), structure(362, .Dim = c(1L, 1L), .Dimnames = list(
NULL, "NO")), structure(256, .Dim = c(1L, 1L), .Dimnames = list(
NULL, "NO")), structure(87, .Dim = c(1L, 1L), .Dimnames = list(
NULL, "NO")), structure(127, .Dim = c(1L, 1L), .Dimnames = list(
NULL, "NO")), structure(77, .Dim = c(1L, 1L), .Dimnames = list(
NULL, "NO")))))
Когда я запускаю следующий код:
dtrain <- map(TrainTestData, ~map2(
.$X_train, .$Y_train, ~ xgb.DMatrix(data = .x, label = .y, missing = "NaN")))
dtest <- map(TrainTestData, ~map(
.$X_test, ~ xgb.DMatrix(data = .x, missing = "NaN")))
watchlist <- list("train" = dtrain)
params <- list("eta" = 0.1, "max_depth" = 5, "objective"="reg:squarederror", "eval_metric"= "rmse",
"set.seed" = 176)
xgb.model <- map(
dtrain, ~ xgboost(params = params, data = .x, nrounds = 40, watchlist)
)
Я получаю эту ошибку:
Ошибка в xgb.get.DMatrix (данные, метка, отсутствует, вес): xgboost: неверные входные данные Дополнительно: предупреждающее сообщение: В xgb.get.DMatrix (данные, метка, отсутствует, вес): xgboost: метка будет игнорироваться.
Однако я предоставил label
.
РЕДАКТИРОВАТЬ: