计算perplexity确定LDA到底聚出多少个主题合适

-perplexity介绍

-LDA确定主题的数目

perplexity

在对文本的主题特征进行研究时,我们往往要指定LDA生成的主题的数目,而一般的解决方法是使用perplexity来计算,原理如下(概率分布perplexity):

这里写图片描述

其中,M是测试语料库的大小,Nd是第d篇文本大小(即单词个数)
这里写图片描述
其中z是主题,w是文档,gamma是训练集学出来的文本-主题分布
所以perplexity的上半部分就是生成整个文档的似然估计(表示训练集训练出的参数的生成能力)的负值,由于概率取值范围为【0,1】,按照对数函数的定义,分子值是一个大数,而分母是整个测试集的单词数目。也就是说模型生成能力越强,perplexity值越小。

LDA确定主题的数目

首先看一下原始数据格式:
这里写图片描述
title字段为用户名,text为用户的帖子
使用sklearn的函数,分训练集和测试集,然后在训练集上生成gamma和主题用来计算测试集的困惑度。

### 万年不变的文本预处理
def docs_preprocessor(docs):
    tokenizer = RegexpTokenizer('\w+')
    for idx in range(len(docs)):
        docs[idx] = docs[idx].lower()  # Convert to lowercase.
        docs[idx] 
  • 9
    点赞
  • 95
    收藏
    觉得还不错? 一键收藏
  • 37
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值