1.LDA类
采用Scikit-learn工具实现文本特征抽取,对Scikit-learn提供的LDA类描述如下:
(1)参数:
n_components:整型类型,是指隐含主题数n,缺省默认为10。
doc_topic_prior:float类型数据,指文本文档主题分布θ的先验分布α,如果没有主题分布的先验知识,默认值为1/n。
topic_word_prior:float类型数据,指主题词语分布φ的先验分布β,如果没有词语分布的先验知识,默认值为1/n。
learning_method:其值可选“batch”和“online”,默认为“online”。
max_iter:整型数,缺省默认为10,是指最大迭代次数。
total_samples:整型数,指文档总数,只使用在partial_fit方法中。
batch_size:整型数,缺省默认为128,在每个EM迭代中使用的文档数量,仅用于在线学习。
(2)主要方法:
fit(D[,y]):利用文本数据集D训练模型。(www.xing528.com)
fit_transform(D[,y]):利用文本数据集D训练模型,返回文本数据的主题分布。
partial_fit(D[,y]):分步训练,利用小批数据进行模型训练,逐步更新模型。
transform(D):利用已经训练好的模型获取语料D中每篇文档的主题分布。
2.采用LDA的文本特征抽取
运行结果说明:
(1)原始文本的文本-特征矩阵为:
(2)选择主题数为2,经过LDA模型降维后的文档-主题矩阵为
通过这个矩阵可看出文本文档的维度从11维降至2维,从值的分布可以看出文档1属于主题0,文档2属于主题1。
(3)主题-词矩阵为:
(4)每个主题的前2个特征词为:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。