Самоорганизующаяся карта R
Я создал карту SOM с использованием пакета Kohonen в R и хотел бы указать конкретное местоположение точки данных на карте. т. е. используемая серия представляет собой матрицу, состоящую из 2 столбцов, и она увеличилась на одну строку, как я могу отметить местоположение этого последнего наблюдения на самой карте или какую-либо конкретную строку в этом отношении? Код, который я использую, выглядит следующим образом:
require(kohonen)
pretty_palette <- c("#1f77b4", '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2')
data_train <- na.omit(cbind(dataseries_1,dataseries_2))
data_train_matrix <- as.matrix(scale(data_train))
som_grid <- somgrid(xdim = 10, ydim=10, topo="hexagonal")
som_model <- som(data_train_matrix,
grid=som_grid,
rlen=100,
alpha=c(0.05,0.01),
keep.data=TRUE,
n.hood="circular")
som_cluster <- cutree(hclust(dist(som_model$codes)), 4)
plot(som_model, type="mapping", bgcol =pretty_palette[som_cluster] , main = "Regimes Map")
add.cluster.boundaries(som_model, som_cluster)
любая помощь приветствуется
Спасибо
1 ответ
Я добавил две строки в верхней части кода, чтобы представить некоторые данные. Я хотел бы иметь возможность пометить на карте, где сценарий отображает расположение::
datapoint_to_flag <- tail(data_train_matrix,1)
Вставив текст в ячейку со значением (или ближайшим) к datapoint_to_flag
код, который я написал до сих пор, создает несколько случайных рядов и затем наносит их на 4 кластера, бит, который я не знаю, как написать, - это бит, который локализует datapoint_to_flag
на карте... если это имеет смысл.
require(kohonen)
pretty_palette <- c("#1f77b4", '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2')
dataseries1 <- rnorm(1000, mean = 0, sd = 3)
dataseries2 <- rnorm(1000, mean = 0, sd = 1)
data_train <- na.omit(cbind(dataseries1,dataseries2))
data_train_matrix <- as.matrix(scale(data_train))
som_grid <- somgrid(xdim = 20, ydim=20, topo="hexagonal")
som_model <- som(data_train_matrix,
grid=som_grid,
rlen=1000,
alpha=c(0.05,0.01),
keep.data=TRUE,
n.hood="circular")
som_cluster <- cutree(hclust(dist(som_model$codes)), 4)
plot(som_model, type="mapping", bgcol =pretty_palette[som_cluster] , main = "Regimes Map")
add.cluster.boundaries(som_model, som_cluster)
datapoint_to_flag <- tail(data_train_matrix,1)
Спасибо
пьер