Python 线性误差,对sklean矢量化矩阵进行奇异值分解时

Python 线性误差,对sklean矢量化矩阵进行奇异值分解时,python,python-3.x,numpy,nlp,Python,Python 3.x,Numpy,Nlp,我试图对文本语料库进行矢量化,这样我就可以在2d空间(一个图形)中表示术语之间的接近程度。首先,我创建一个共现矩阵,然后对其进行SVD,如下所示: from sklearn.feature_extraction.text import CountVectorizer import numpy docs = ['...', '...' a list of strings, e.g. sentences] count_model = CountVectorizer(ngram_range=(1,1

我试图对文本语料库进行矢量化,这样我就可以在2d空间(一个图形)中表示术语之间的接近程度。首先,我创建一个共现矩阵,然后对其进行SVD,如下所示:

from sklearn.feature_extraction.text import CountVectorizer
import numpy

docs = ['...', '...' a list of strings, e.g. sentences]
count_model = CountVectorizer(ngram_range=(1,1))
X = count_model.fit_transform(docs)
U, s, Vh = numpy.linalg.svd(X, full_matrices = False)
我得到以下错误:

LinAlgError: 0-dimensional array given. Array must be at least two-dimensional

奇怪的是,我的例程刚刚开始给我一条错误消息。我已经让numpy的linalg svd函数正常工作了,我正在试图找出我所做的更改是如何产生错误的。如果有人能解释错误信息,并建议我能做些什么,我将不胜感激。谢谢

无论何时报告Python错误,都要包含完整的回溯(即完整的错误消息)。它准确地显示了哪一行触发了错误。在这种情况下,问题标题清楚地表明,在调用
svd
时会发生错误,但查看它仍然很有用。在调用
svd
之前,您是否查看了
X
?一两份书面声明可能会澄清一些事情。尝试打印(X.dtype,X.shape)。输出是您期望的吗?