首页 > 解决方案 > AttributeError:“numpy.ndarray”对象没有属性“getA1”

问题描述

在使用pyLDAvis.sklearn.prepare可视化 LDA 主题模型时,我遇到了以下错误消息:

>>> pyLDAvis.sklearn.prepare(lda_model, dtm, vectorizer)
...
---> 12     return dtm.sum(axis=1).getA1()
...
AttributeError: 'numpy.ndarray' object has no attribute 'getA1'

作为 a传入dtm会引发类似的错误:pyLDAvis.sklearn.preparepd.DataFrame

AttributeError: 'Series' object has no attribute 'getA1'

为什么会出现此错误消息?

标签: pythonpandasnumpypyldavis

解决方案


缺少的getA1方法仅适用于numpy.matrix对象。没有numpy.ndarray.getA1方法,也没有pandas.Series.getA1方法。

将文档向量转换为 anumpy.matrix可以解决错误:

import pyLDAvis
import pyLDAvis.sklearn
pyLDAvis.enable_notebook()

dtm = np.matrix(document_vectors_arr)
pyLDAvis.sklearn.prepare(lda_model, dtm, vectorizer)

推荐阅读