我是R的新手,也是我第一次使用SOM。 我想用自组织地图来预测生存。
以下是我用来摄取数据的代码:
加载原始数据
train <- read.csv("train.csv", header = TRUE)
test <- read.csv("test.csv", header = TRUE)
将“Survived”变量添加到测试集以允许组合数据集
test.survived <- data.frame(survived = rep("None", nrow(test)), test[,])
合并数据集
data.combined <- rbind(train, test.survived)
将变量更改为因子
data.combined$Survived <- as.factor(data.combined$survived)
data.combined$Pclass <- as.factor(data.combined$pclass)
将数据拟合到SOM模型
library(kohonen)
训练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)
我收到一条错误消息:sort.list(y):'x'必须是'sort.list'的原子