Как получить оптимальные значения для параметров 'iter' и 'r' функции click.EM пакета ClickClust? - PullRequest
0 голосов
/ 19 января 2020

Я работаю с пакетом ** Clickclust **, основная функция пакета - ** click.EM () ** имеет следующие значения по умолчанию:

click.EM(X, y = NULL, K, eps = 1e-10, r = 100, iter = 5, min.beta = 1e-3,
  min.gamma = 1e-3, scale.const = 1)

Функция работает без проблемы с параметрами по умолчанию в первом примере, который включен в пакет:

 data("synth", package = "ClickClust")
synth$data

repl.levs <- function(x, ch.lev) {
  for (j in 1:length(ch.lev)) x <- gsub(ch.levs[j], j, x)
  return(x)
}
d <- paste(synth$data, collapse = " ")
d <- strsplit(d, " ")[[1]]
ch.levs <- levels(as.factor(d))
S <- strsplit(synth$data, " ")
S <- sapply(S, repl.levs, ch.levs)
S <- sapply(S, as.numeric); S
C <- click.read(S)
C

set.seed(123)
M2 <- click.EM(X = C$X, y = C$y, K = 2)
M2

#######################################################
K = 2, p = 5, logl = -11684.21, BIC = 23638.98
Cluster sizes:
1   2
174 76
.......

Однако, когда используется более сложный набор данных, такой как показанный в конце примера пакета, он необходимо изменить параметры по умолчанию для функции click.EM (), чтобы модель можно было настроить и получить другие кластеры и значение, отличное от ** BI C = NaN **. В том же пакете они вносят изменения в параметры по умолчанию, как указано ниже:

set.seed(1234)
data("msnbc323", package = "ClickClust")
n <- length(msnbc323)
C <- click.read(msnbc323)
M1 <- click.EM(X = C$X, y = C$y, K = 1, iter = 10, r = 250,
  scale.const = 2)
M2 <- click.EM(X = C$X, y = C$y, K = 2, iter = 10, r = 250,
  scale.const = 2)
M3 <- click.EM(X = C$X, y = C$y, K = 3, iter = 10, r = 250,
  scale.const = 2)

Следует отметить, что значения по умолчанию для параметров ** iter **, ** r ** и масштаба .const изменены, критерии и причина, по которой были выбраны эти новые значения, не объясняются. Если вы не измените модель, вы не сможете выполнить корректировку.

В настоящее время я работаю со списком из 14 000 последовательностей покупок, которые имеют размер от 100 до 1000 товаров, каждое с 20 состояниями, чтобы правильно настроить Модель мне нужно было бы проверить большое количество значений в различных параметрах.

Есть ли способ получить оптимальные значения в параметрах?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...