Я хотел бы узнать, можно ли использовать алгоритм SOM для предсказания классификации. Я использовал код ниже, но вижу, что результаты классификации далеки от правильных. Например, в тестовом наборе данных я получаю гораздо больше, чем просто 3 значения, которые у меня есть в целевой переменной обучения. Как я могу создать модель прогнозирования, которая будет согласована с целевой переменной обучения?
library(kohonen)
library(HDclassif)
data(wine)
set.seed(7)
training <- sample(nrow(wine), 120)
Xtraining <- scale(wine[training, ])
Xtest <- scale(wine[-training, ],
center = attr(Xtraining, "scaled:center"),
scale = attr(Xtraining, "scaled:scale"))
som.wine <- som(Xtraining, grid = somgrid(5, 5, "hexagonal"))
som.prediction$pred <- predict(som.wine, newdata = Xtest,
trainX = Xtraining,
trainY = factor(Xtraining$class))
И результат:
$unit.classif
[1] 7 7 1 7 1 11 6 2 2 7 7 12 11 11 12 2 7 7 7 1 2 7 2 16 20 24 25 16 13 17 23 22
[33] 24 18 8 22 17 16 22 18 22 22 18 23 22 18 18 13 10 14 15 4 4 14 14 15 15 4