Когда я использовать код из примера:Как использовать Deepnet для классификации в R
library(deepnet)
Var1 <- c(rnorm(50, 1, 0.5), rnorm(50, -0.6, 0.2))
Var2 <- c(rnorm(50, -0.8, 0.2), rnorm(50, 2, 1))
x <- matrix(c(Var1, Var2), nrow = 100, ncol = 2)
y <- c(rep(1, 50), rep(0, 50))
nn <- dbn.dnn.train(x, y, hidden = c(5))
это работает. Но когда я использую этот код:
Var1 <- c(rnorm(50, 1, 0.5), rnorm(50, -0.6, 0.2))
Var2 <- c(rnorm(50, -0.8, 0.2), rnorm(50, 2, 1))
x <- matrix(c(Var1, Var2), nrow = 100, ncol = 2)
**y <- c(rep("1", 50), rep("0", 50))**
nn <- dbn.dnn.train(x, y, hidden = c(5))
я получаю сообщение об ошибке:
Error in batch_y - nn$post[[i]] : non-numeric argument to binary operator
Как я могу использовать Deepnet пакет для задачи классификации?
Когда я использую числовое значение, я получаю модель регрессии, а не классификацию. В результате после предсказания я получил числовые результаты, а не идентификатор классов. – Osm
@ Классификация и регресс ОСОм очень похожи. вы должны округлить свое предсказание вывода, если хотите получить точные двоичные значения. например, используйте ** round (x) **, тогда у вас будут те, которые близки к нулю, как ноль, так и те, которые близки к 1 как единое целое. кроме того, если модель не предсказывала это правильно, у вас может быть 2 или 3 и т. д., что может быть очень полезно для матрицы замешательства, которую вы собираетесь рассчитать – Learner