将LDA结果从文本的Pandas列矢量化为多列 - python

我的熊猫专栏文字很大,我想首先对该专栏的整个文字训练一个LDA模型,并确定50个主题:

doc_clean = df['tweet_tokenized'].tolist()
dictionary = corpora.Dictionary(doc_clean)
doc_term_matrix = [dictionary.doc2bow(doc) for doc in doc_clean]
lda = LdaMulticore(doc_term_matrix, id2word=dictionary, num_topics=50)

然后,我想创建与每个主题关联的50列,并遍历每一行,并将其属于任何一个主题的概率放入其对应的主题,并为其余主题设置零。

例如,如果在第一行上应用经过训练的LDA的结果是:

new_doc = dictionary.doc2bow(tweet1)
results = lda(new_doc)
results:
        [(1, 0.92), (4,0.42)]

意味着tweet1属于主题1的概率为0.92,属于主题4的概率为0.42,我想有50个与主题1,主题2,...,主题50相关的新列,然后主题1的值是0.92,主题4为0.42,其他所有主题为零:

         topic1  topic2  topic3  topic4 topic5 ... topic50
tweet1   0.92    0       0       0.42   0      ... 0

有什么pythonic方法可以快速完成最后一部分(即填充50列)?

参考方案

有一个很好的端到端教程,涵盖了您正在使用的工具,熊猫和LDA的需求:
https://www.machinelearningplus.com/nlp/topic-modeling-gensim-python/

您需要寻找的部分是18.在每个句子中找到主要主题,19.为每个主题找到最具代表性的文档,以及20.跨文档的主题分布。

Python GPU资源利用 - python

我有一个Python脚本在某些深度学习模型上运行推理。有什么办法可以找出GPU资源的利用率水平?例如,使用着色器,float16乘法器等。我似乎在网上找不到太多有关这些GPU资源的文档。谢谢! 参考方案 您可以尝试在像Renderdoc这样的GPU分析器中运行pyxthon应用程序。它将分析您的跑步情况。您将能够获得有关已使用资源,已用缓冲区,不同渲染状态上…

Python uuid4,如何限制唯一字符的长度 - python

在Python中,我正在使用uuid4()方法创建唯一的字符集。但是我找不到将其限制为10或8个字符的方法。有什么办法吗?uuid4()ffc69c1b-9d87-4c19-8dac-c09ca857e3fc谢谢。 参考方案 尝试:x = uuid4() str(x)[:8] 输出:"ffc69c1b" Is there a way to…

重命名默认ID python - python

我想连接两个dataFrames,但是两个数据具有不同的ID,所以结果是错误的这是我的代码data=pd.DataFrame(df.columns) data1=data.drop(axis=1,index=[0,1,2,3]).transpose() data1 这是dataframe1另一个数据框:y=sma_algo(df.loc['H+L&…

Python sqlite3数据库已锁定 - python

我在Windows上使用Python 3和sqlite3。我正在开发一个使用数据库存储联系人的小型应用程序。我注意到,如果应用程序被强制关闭(通过错误或通过任务管理器结束),则会收到sqlite3错误(sqlite3.OperationalError:数据库已锁定)。我想这是因为在应用程序关闭之前,我没有正确关闭数据库连接。我已经试过了: connectio…

python:ConfigParser对象,然后再阅读一次 - python

场景:我有一个配置文件,其中包含要执行的自动化测试的列表。这些测试是长期循环执行的。   配置文件的设计方式使ConfigParser可以读取它。由于有两个三个参数,因此我需要通过每个测试。现在,此配置文件由script(s1)调用,并且按照配置文件中的列表执行测试。Script(s1)第一次读取配置,并且在每次测试完成后都会执行。阅读两次的要求:由于可能会…