Kirill Klimenko
Kirill Klimenko

Reputation: 1

R implementation of kohonen SOMs: prediction error due to data type.

I have been trying to run an example code for supervised kohonen SOMs from https://clarkdatalabs.github.io/soms/SOM_NBA . When I tried to predict test set data I got the following error:

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

I tried newdata = as.matrix(NBA.testing) but it did not help. Neither did as.factor().

Why does it happen? And how can I fix that?

Upvotes: 0

Views: 475

Answers (1)

h45
h45

Reputation: 246

You should put one more argument to the predict function, i.e. "whatmap", then set its value to 1. The code would be like:

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

To verify the prediction result, you can check using:

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

The result may be different from that of the tutorial, since it did not declare the use of set.seed() function. I suggest that the set.seed() with an arbitrary number in it was declared somewhere before the training phase. For simplicity, put it once on the top most of your script, e.g.

set.seed(12345)

This will guarantee a reproducible result of your model next time you re-run your script.

Hope that will help.

Upvotes: 1

Related Questions