Source code for topik.visualizers.pyldavis

import pandas as pd

from ._registry import register

def _to_py_lda_vis(modeled_corpus):
    vocab = pd.Series(modeled_corpus.vocab)
    term_frequency = pd.Series(modeled_corpus.term_frequency)
    topic_term_matrix = pd.DataFrame(modeled_corpus.topic_term_matrix)

    doc_lengths = pd.Series(modeled_corpus.doc_lengths)
    doc_topic_matrix = pd.DataFrame(modeled_corpus.doc_topic_matrix).T

    term_data = topic_term_matrix
    term_data['term_frequency'] = term_frequency
    term_data['vocab'] = vocab

    doc_data = doc_topic_matrix
    doc_data['doc_length'] = doc_lengths

    model_vis_data = {  'vocab': term_data['vocab'],
                            'term_frequency': term_data['term_frequency'],
                            'topic_term_dists': term_data.iloc[:,:-2].T,
                            'doc_topic_dists': doc_data.iloc[:,:-1],
                            'doc_lengths': doc_data['doc_length']}
    return model_vis_data

@register
[docs]def lda_vis(modeled_corpus, mode='show', filename=None): """Designed to work with to_py_lda_vis() in the model classes.""" from pyLDAvis import prepare, show, save_html model_vis_data = _to_py_lda_vis(modeled_corpus) prepared_model_vis_data = prepare(**model_vis_data) if mode == 'save_html' and filename: save_html(prepared_model_vis_data, filename) else: show(prepared_model_vis_data)