2

I'm new to R and its the first time i'm using SOM. I want to predict survival using Self Organizing Map.

The following is the code i used to ingest data:

load raw data

train <- read.csv("train.csv", header = TRUE)
test <- read.csv("test.csv", header = TRUE)

Add a "Survived" variable to the test set to allow for combining data sets

test.survived <- data.frame(survived = rep("None", nrow(test)), test[,])

Combine data sets

data.combined <- rbind(train, test.survived)

Changed the variable to factors

data.combined$Survived <- as.factor(data.combined$survived)
data.combined$Pclass <- as.factor(data.combined$pclass)

Fitting the data to the SOM model

library(kohonen)

Train SOM

som.train.1 <- data.combined[1:891, c("pclass", "title")]
som.label <- as.factor(train$survived)

table(som.train.1)
table(som.label)
som.train.1.grid <- somgrid(xdim = 20, ydim=20, topo="hexagonal")

set.seed(1234)

som.model <- som(som.label, 
             grid=som.train.1.grid, 
             rlen = 100, 
             alpha = c(0.05, 0.01),
             keep.data = TRUE, 
             normalizeDataLayers = TRUE)

plot(som.model)

I get an error that says: sort.list(y): 'x' must be atomic for 'sort.list'

Dok Mbini
  • 21
  • 2
  • 8

0 Answers0