Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python CountVectorizer变换后意外的稀疏矩阵_Python_Python 3.x_Nltk_Countvectorizer - Fatal编程技术网

Python CountVectorizer变换后意外的稀疏矩阵

Python CountVectorizer变换后意外的稀疏矩阵,python,python-3.x,nltk,countvectorizer,Python,Python 3.x,Nltk,Countvectorizer,我是NLTK的新手,在为评论创建分类器方面遇到了麻烦。 当作为输入传递的数据是形状(10000,1)时,我无法理解转换数据的形状如何是1*1稀疏矩阵 我已经处理了一些原始的审查数据。例如删除停止词、词干和删除标点符号。 我需要关于我哪里出错的帮助,如果需要更多详细信息来查找问题,请告诉我。根据屏幕截图的格式,看起来X\u train1实际上是一个熊猫数据框。问题在于Description是一列单词列表(可能长度不等)。大概是这样的: X = np.array([['alpha','beta

我是NLTK的新手,在为评论创建分类器方面遇到了麻烦。

当作为输入传递的数据是形状(10000,1)时,我无法理解转换数据的形状如何是1*1稀疏矩阵 我已经处理了一些原始的审查数据。例如删除停止词、词干和删除标点符号。


我需要关于我哪里出错的帮助,如果需要更多详细信息来查找问题,请告诉我。

根据屏幕截图的格式,看起来
X\u train1
实际上是一个熊猫数据框。问题在于
Description
是一列单词列表(可能长度不等)。大概是这样的:

X = np.array([['alpha','beta'],['theta','theta','gamma'],['delta','delta']])
X_train1 = pd.DataFrame(X, columns=["Description"])

X_train1
             Description
0          [alpha, beta]
1  [theta, theta, gamma]
2         [delta, delta]

X_train1.shape # (3,1)
因此,您有10000行单词列表(形状
(nrow,1)
)。
但是
CountVectorizer
(假设您使用的是
sklearn
类)需要一个文档数组。从:

CountVectorizer:将文本文档集合转换为令牌计数矩阵

更具体地,考虑参数定义为<代码> FIE()> <代码>:

原始文档:可生成str、unicode或file对象的iterable

如果您只是尝试传入
X_train1
,那么您并没有提供预期的输入-您传入的是一个数据帧,其中包含一列,其中包含字符串的列表对象。您应该期望得到奇怪的输出

假设
X\u train1
中的每一行代表一个文档,尝试加入每一行的单词列表,然后传递到
countvectorier

X = X_train1.Description.apply(lambda row: ' '.join(row))
ctvec = CountVectorizer()
ctvec.fit_transform(X) # combine fit(X) and transform(X)
输出:

<3x5 sparse matrix of type '<class 'numpy.int64'>'
    with 5 stored elements in Compressed Sparse Row format>


此输出与预期输入更为一致。

请显示
X\u train1
中的几行。我编辑了问题并添加了X\u train1@andrew\u reeceIt的示例。它看起来像
X\u train1
是一个带有列
说明的熊猫数据框。对吗?