#r #ggplot2 #lda #topic-modeling #scatterpie
Вопрос:
Для моделирования тем lda я хотел бы добавить точечный круг, который отображает взаимосвязи между темами на карте. Я знаю, что LDAvis
функция способна на это, но я хотел бы использовать альтернативу, если это возможно, так как мой фактический набор данных может содержать ряд тем, что не позволяет LDAvis
приложению.
На следующем веб-сайте https://towardsdatascience.com/visualizing-topic-models-with-scatterpies-and-t-sne-f21f228f7b02 Я нашел код на этом сайте и попытался его адаптировать, но не смог заставить его работать. Мне понадобится график, который позволит мне создать круговую диаграмму рассеяния или что-то подобное для моего анализа.
Код, который я пытался заставить работать с моими адаптациями:
top_terms %>%
group_by(topic) %>%
ggplot()
geom_scatterpie(aes(top_terms, beta, fill = factor(topic)), color=NA, alpha=0.7)
coord_equal()
geom_label()
ggtitle(Scatterpie_Graph)
xlab() ylab() labs(subtitle=t-SNE_Representation_of_Guided_LDA_Topics_Colored_and_Sized_by_Topic_Probability)
scale_fill_manual(values=colors)
theme_minimal()
theme(text = element_text(color=white),
legend.position = none,
panel.background = element_rect(fill = gray17, colour = gray17),
plot.background = element_rect(fill = gray17),
panel.grid.major = element_line(colour = gray25),
panel.grid.minor = element_line(colour = gray25),
axis.text = element_text(color=white))
Фиктивные условия набора данных:
top_terms_struct <- structure(
list(
topic = c(1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3,
4, 4, 4, 4),
term = c("book", "page", "chapter", "section", "sports", "soccer", "champions", "league",
"music", "song", "dj", "release", "movie", "cinema", "actress", "story"),
beta = c(0.9876, 0.9765, 0.9654, 0.9543, 0.8765, 0.8654, 0.8543, 0.8432, 0.9543, 0.8678,
0.7231, 0.6382, 0.9846, 0.9647, 0.8878, 0.6523)),
row.names = c(NA,-16L),
class = c("tbl_df", "tbl", "data.frame"))
Желаемым результатом должен быть график рассеяния или что-то подобное, который отображает темы, похожие на то, что LDAvis
делает, но предпочтительно с использованием другой техники. Но я открыт для альтернатив.
Заранее спасибо.