text-mining - r : each row of the input matrix needs to contain at least one non-zero entry 中的 LDA 错误

标签 text-mining

我是文本挖掘主题的初学者。当我在具有 996165 个观测值的庞大数据集上运行 LDA() 时,它显示以下错误:

LDA(dtm, k, method = "Gibbs", control = list(nstart = nstart, :
输入矩阵的每一行都需要包含至少一个非零条目。

我很确定我的语料库中也没有缺失值。 “DocumentTermMatrix”和“simple_triplet_matrix”的表是:

table(is.na(dtm[[1]]))
#FALSE 
#57100956 

table(is.na(dtm[[2]]))
#FALSE 
#57100956 

有点困惑“57100956”是怎么来的。但是由于我的数据集非常大,我不知道如何检查为什么会发生此错误。我的 LDA 命令是:
ldaOut<-LDA(dtm,k, method="Gibbs", control=list(nstart=nstart, seed = seed, best=best, burnin = burnin, iter = iter, thin=thin))

谁能提供一些见解?谢谢。

最佳答案

在我看来,问题不是缺失值的存在,而是所有 0 行的存在。
要检查它:

raw.sum=apply(table,1,FUN=sum) #sum by raw each raw of the table

然后你可以删除所有 0 的原始数据:
table=table[raw.sum!=0,]

现在表应该包含所有“非 0”原始数据。

关于text-mining - r : each row of the input matrix needs to contain at least one non-zero entry 中的 LDA 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37802380/

相关文章:

python - 保存和加载 scikit-learn 机器学习模型和函数

regex - R 正则表达式回顾

text - ROUGE-SU 度量、含义和公式

r - 如何使用 trycatch 跳过错误并转到列表中的下一个

python - 使用 pyparsing 匹配多行文本

java - Java 中是否有用于文本分析/挖掘的 API?

r - 如何可视化 tm 的 findAssocs() 结果

r - 文本挖掘稀疏/非稀疏意义

r - Wordcloud 基于 R 中的连续元数据显示颜色

python - 从列中删除空格上的行