#运行pyLDAvis.sklearn.prepare(lda, tf, tf_vectorizer)时报错:
AttributeError: 'CountVectorizer' object has no attribute 'get_feature_names'
这个错误是因为pyLDAvis.sklearn.prepare()函数需要的tf_vectorizer参数不是一个TfidfVectorizer对象,而是一个CountVectorizer对象。
TfidfVectorizer和CountVectorizer两个类都可以用来转换文本数据为数值型矩阵,以供LDA模型使用。但是TfidfVectorizer类会计算词频和逆文档频率(tf-idf),而CountVectorizer类只会计算词频。
为了解决这个问题,你可以将tf_vectorizer改成TfidfVectorizer类型,或者在调用prepare函数之前,对tf矩阵进行tf-idf转换,然后传入函数。
如果你使用的是CountVectorizer类,可以尝试使用 TfidfTransformer 在此基础上计算tf-idf权重。