R SOM奇怪的绘图代码,建模时变量超过14个

R SOM奇怪的绘图代码,建模时变量超过14个,r,som,R,Som,我正在做一些实验来了解SOM(自组织映射)是如何工作的,我尝试将该算法应用于电离层数据集。发现代码图模型的行为异常(如果应用了14个以上的变量)。。以下是我的测试片段: library(kohonen) library(mlbench) #Ionosphere dataset is loaded from here data(Ionosphere) instance_data = Ionosphere #====================================== Apply

我正在做一些实验来了解SOM(自组织映射)是如何工作的,我尝试将该算法应用于电离层数据集。发现代码图模型的行为异常(如果应用了14个以上的变量)。。以下是我的测试片段:

library(kohonen)
library(mlbench) #Ionosphere dataset is loaded from here

data(Ionosphere)
instance_data = Ionosphere

#====================================== Applying 5 Variable ======================================
data_train_matrix <- as.matrix(instance_data[,3:7])
som_grid <- somgrid(xdim = 5, ydim=5, topo="hexagonal")
som_model <- som(data_train_matrix, grid=som_grid, 
                 rlen=500, alpha=c(0.1,0.01), 
                 keep.data = TRUE)
plot(som_model, type="codes")
库(kohonen)
库(mlbench)#电离层数据集从这里加载
数据(电离层)
实例_数据=电离层
#=============================================================应用5个变量======================================

数据训练矩阵如果你检查包的原始文章(R中的自组织和超组织映射),我想你可以找到第一个和第二个问题的答案。在第14页,作者说,“对于大量变量,默认行为是绘制直线图而不是线段图……”@jazzurro感谢您的指点,我在手册文档中找到了这样一句话:)欢迎您!
#========================================= 10 Columns ==============================================
data_train_matrix <- as.matrix(instance_data[,3:12])
som_grid <- somgrid(xdim = 5, ydim=5, topo="hexagonal")
som_model <- som(data_train_matrix, grid=som_grid, 
                 rlen=500, alpha=c(0.1,0.01), 
                 keep.data = TRUE)
plot(som_model, type="codes")
#========================================= 14 Variable ==============================================
data_train_matrix <- as.matrix(instance_data[,5:18])
som_grid <- somgrid(xdim = 5, ydim=5, topo="hexagonal")
som_model <- som(data_train_matrix, grid=som_grid, 
                 rlen=500, alpha=c(0.1,0.01), 
                 keep.data = TRUE)
plot(som_model, type="codes")
#========================================= 15 Variable ==============================================
data_train_matrix <- as.matrix(instance_data[,5:19])
length_col = length(colnames(data_train_matrix))
som_grid <- somgrid(xdim = 5, ydim=5, topo="hexagonal")
som_model <- som(data_train_matrix, grid=som_grid, 
                 rlen=500, alpha=c(0.1,0.01), 
                 keep.data = TRUE)
plot(som_model, type="codes")