Повышение в наборе данных MNIST - PullRequest
0 голосов
/ 09 мая 2020

Я пытаюсь применить Gradient Boosting к набору данных MNIST.

library(gbm)
boost_mnist<-gbm(Label~ .,data=mnist_train, distribution="bernoulli", n.trees=70, interaction.depth=4, shrinkage=0.3)

yhat_boost<-predict(boost_mnist, newdata=mnist_test, n.trees=70)
mean((yhat_boost-mnist_test)^2)

Это дает результат:

"аргумент не является числовым c или логическим: возвращает NA [1] NA"

В чем проблема? Это вызвано при разделении на тестовые и обучающие наборы? Если нет, может ли кто-нибудь показать код для запуска повышения?

NB Я использовал следующий код для создания раздела:

set.seed(2)
mnist_num <- as.data.frame(lapply(mnist[1:10000,], as.numeric)) %>%mutate(id = row_number())
one = as.numeric(mnist_num$Label-1 == "1")
mnist_num$Label <- one
mnist_train <- sample_frac(mnist_num, .70)
mnist_test <- anti_join(mnist_num, mnist_train, by = 'id')
mnist_num$Label
...