DreamerJoyFinder 2024-03-29 16:02 采纳率: 0%
浏览 15

想请教一下LDA主题模型的可视化部分,我下载了scikit_learn模块,为什么这样代码会报错?

tf_feature_names = tf_vectorizer.get_feature_names_out()
print_top_words(lda, tf_feature_names, n_top_words)

可视化

import pyLDAvis
import pyLDAvis.lda_model

创建 pyLDAvis 对象

lda_vis = pyLDAvis.lda_model.prepare(lda,tf,tf_feature_names)

显示交互式可视化

pyLDAvis.display(lda_vis)

img


备注:1.本来代码中我是pyLDAvis.sklearn.prepare,但是会报错说pyLDAvis中没有sklearn.2.get_feature_names()我也试过,也报错了

  • 写回答

3条回答 默认 最新

  • 码农阿豪@新空间 Java领域优质创作者 2024-03-29 16:03
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题:如何使用pyLDAvis进行LDA主题模型的可视化? 回答: 1.首先,需要安装pyLDAvis包。 2.创建pyLDAvis可视化对象需要用到以下代码:
    import pyLDAvis
    import pyLDAvis.lda_model
    lda_vis = pyLDAvis.lda_model.prepare(lda, tf, tf_feature_names)
    

    其中lda为已经训练好的LDA模型,tf为文本的term frequency矩阵,tf_feature_names为对应的特征名。 3.显示交互式可视化需要用到以下代码:

    pyLDAvis.display(lda_vis)
    

    这将在notebook中显示交互式主题模型可视化。 具体案例代码如下:

    import pandas as pd
    from sklearn.feature_extraction.text import CountVectorizer
    from sklearn.decomposition import LatentDirichletAllocation
    import pyLDAvis
    import pyLDAvis.sklearn
    # 读取文本数据
    doc = pd.read_csv('doc.csv')
    # 特征提取,使用CountVectorizer
    tf_vectorizer = CountVectorizer(max_df=0.95, min_df=2, stop_words='english')
    tf = tf_vectorizer.fit_transform(doc['text'])
    # 训练LDA模型
    n_topics = 10
    lda = LatentDirichletAllocation(n_components=n_topics, max_iter=50, learning_method='online', learning_offset=50.,random_state=0).fit(tf)
    # 创建pyLDAvis可视化
    tf_feature_names = tf_vectorizer.get_feature_names()
    pyLDAvis.enable_notebook()
    lda_vis = pyLDAvis.sklearn.prepare(lda, tf, tf_vectorizer)
    # 显示可视化
    pyLDAvis.display(lda_vis)
    
    评论

报告相同问题?

问题事件

  • 创建了问题 3月29日