Реализация сомоненских СДЛ: ошибка прогнозирования в зависимости от типа данных.

Я пытался запустить пример кода для контролируемых сомоненских СДЛ по https://clarkdatalabs.github.io/soms/SOM_NBA. Когда я пытался предсказать данные тестового набора, я получил следующую ошибку:

pos.prediction <- predict(NBA.SOM3, newdata = NBA.testing)
Error in FUN(X[[i]], ...) : 
Data type not allowed: should be a matrix or a factor

Я попытался newdata = as.matrix(NBA.testing), но это не помогло. Ни один не сделал как.фактор ().

Почему это происходит? И как я могу это исправить?

1 ответ

Вам следует добавить еще один аргумент для функции предикторов, то есть "whatmap", а затем установить его значение равным 1. Код будет выглядеть так:

pos.prediction <- predict(NBA.SOM3, newdata = NBA.testing, whatmap = 1)

Чтобы проверить результат прогноза, вы можете проверить, используя:

table(NBA$Pos[-training_indices], pos.prediction$predictions[[2]], useNA = 'always')

Результат может отличаться от результата урока, поскольку он не объявляет использование функции set.seed(). Я полагаю, что set.seed() с произвольным номером был объявлен где-то до этапа обучения. Для простоты поместите его один раз в верхнюю часть вашего скрипта, например

set.seed(12345)

Это гарантирует воспроизводимый результат вашей модели при следующем запуске сценария.

Надеюсь, что это поможет.

Другие вопросы по тегам