首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gensim中的gensim模型评价

gensim中的gensim模型评价
EN

Stack Overflow用户
提问于 2018-06-14 12:26:38
回答 1查看 960关注 0票数 0

是否有可能评估动态模型( lda模型)像“正常”的lda模型在困惑和主题连贯的价值?我知道这些值被打印到logging.INFO中,所以另一种方法是将logging.INFO保存到文本文件中,以便在模拟之后搜索这些评估值。如果方法1(计算ldaseqmodel的代码)不存在,是否可以将logging.INFO保存到文本文件中?下面是生成ldaseqmodel的代码:

代码语言:javascript
复制
from gensim import models, corpora
import csv
import logging
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)

Anzahl_Topics1      = 10                

Zeitabschnitte      = [16, 19, 44, 51, 84, 122, 216, 290, 385, 441, 477, 375, 390, 408, 428, 192, 38]

TDM_dateipfad = './1gramm/TDM_1gramm_1998_2014.csv'

dateiname_corpus = "./1gramm/corpus_DTM_1gramm.mm"

dateiname1_dtm  = "./1gramm/DTM_1gramm_10.model"

ids = {} 
corpus = [] 

with open(TDM_dateipfad, newline='') as csvfile:
    reader = csv.reader(csvfile, delimiter=';', quotechar='|') 
    for rownumber, row in enumerate(reader): 
        for index, field in enumerate(row):
            if index == 0:
                if rownumber > 0:
                    ids[rownumber-1] = field 
            else:
                if rownumber == 0:
                    corpus.append([])
                else:
                    corpus[index-1].append((rownumber-1, int(field))) 

corpora.MmCorpus.serialize(dateiname_corpus, corpus)

dtm1 = models.ldaseqmodel.LdaSeqModel(corpus=corpus, time_slice = Zeitabschnitte, id2word=ids, num_topics = Anzahl_Topics1, passes=1, chunksize=10000) 
dtm1.save(dateiname1_dtm)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-14 11:46:07

你问的是两个截然不同的问题。

可以将logging.INFO保存到文本文件中吗?

是。您可以使用此代码将日志发送到文件而不是控制台。调试级别日志记录提供了比INFO更详细的信息。

代码语言:javascript
复制
import logging
logging.basicConfig(level=logging.DEBUG, file='yourlogname.log')

您还可能希望设置文件处理程序,以便在控制台中设置信息日志,并将调试级别日志设置为文件。有关更多信息,请参见python文档这里

是否有可能用困惑和话题一致性来评价DTM?

是的,使用dtm_coherence --参见这里的gensim文档 --一致性通常是一个比困惑更有用的度量方法(就“人类是否理解这个”而言)。但是,对于每个时间切片,您都必须这样做。我的建议是,如果你想比较两种模式,比如一个10对20主题的模型,那就是循环每个模型的时间切片,并绘制一致性评分图,看看其中一个是否持续地更好,例如。在这个来自gensim devs的DTM示例中有一个很好的教程。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50857544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档