Как интерпретировать вывод sparklyr :: ml_lda () - PullRequest
0 голосов
/ 27 мая 2020

Я пытаюсь понять выходные данные метода ml_lda() в sparklyr для применения скрытого распределения Дирихле в задаче моделирования c.

Результат, полученный при запуске tidy() на объект класса ml_model_lda содержит столбец с названием «бета». Мой вопрос в том, как эти «бета» значения соотносятся с вероятностью topi c для каждого термина? Сами по себе «бета-версии» явно не являются вероятностями, поскольку некоторые из них больше 1.

Вот пример кода, который я пытаюсь понять:

# load relevant libraries and establish spark connection
library(dplyr)      
library(sparklyr)
library(magrittr)

sc <- spark_connect(master = "local")


# define document corpus and convert into spark
text_in <- data.frame(
  text = c(
    "i am stuck with using sparklyr",
    "please can you help with my coding problem",
    "what does beta mean how should I interpret it"
  )
)

text_spark <- copy_to(sc, text_in, overwrite = TRUE)


# apply LDA method for 2 topics
set.seed(1234)
lda_model <- text_spark %>%
  ml_lda(~text, k = 2)


# view outputs using tidy() and arrange by term
lda_model %>% 
  tidy() %>%
  arrange(term)

Первые шесть строки вывода:

# A tibble: 20 x 3
   topic term       beta
   <int> <chr>     <dbl>
 1     0 beta      0.895
 2     1 beta      1.09 
 3     0 coding    0.871
 4     1 coding    0.982
 5     0 help      1.14 
 6     1 help      1.09 
...