将TfidfVectorizer的fit_transform变量转换为数组(.toarray())后所有值变为零?

我在使用一个样本数据集进行tfidf实验时,一切正常,直到我将fit-transform变量转换为数组。我试图在使用tfidf后查看我的“特征”,当我打印这些值时,它们是有意义的。然而,当我以数组形式打印时,所有值不知为何都变成了零。

打印语句的最后一行的结果是这样的:

(0, 6433)   0.1354882591295125  (0, 18430)    0.057506963357173674  (0, 16902)    0.0887002305355381  (0, 17540)    0.46335455366392575  (0, 19175)    0.2159334960329325  (0, 16590)    0.15130364285967984(0, 9104)   0.15285500637985408  (0, 16595)    0.1890315464705662  : :(24455, 14202)  0.17695626302265938  (24455, 6699) 0.2309569171857742  (24455, 10308)    0.2279428326498053  (24455, 16678)    0.2343740044032419  (24455, 12122)    0.23831874209561996  (24455, 18919)    0.23831874209561996

上面的数字是有意义的,但是当我更改代码行以数组格式打印时 print(features.toarray()),我得到的是这样的结果:

[[0. 0. 0. ... 0. 0. 0.] [0. 0. 0. ... 0. 0. 0.] [0. 0. 0. ... 0. 0. 0.] ... [0. 0. 0. ... 0. 0. 0.] [0. 0. 0. ... 0. 0. 0.] [0. 0. 0. ... 0. 0. 0.]]

我确实检查了每个值,例如 features.toarray()[3][10],它们都是 0.0


回答:

我发现我的测试方法是错误的,了解更多关于tf-idf矩阵的信息后,我发现实际上还是有一些值的,每个词都有自己的列,因此只有在文档中独特的词会在矩阵中有值,它们并不是全为零。

Related Posts

为什么我们在K-means聚类方法中使用kmeans.fit函数?

我在一个视频中使用K-means聚类技术,但我不明白为…

如何获取Keras中ImageDataGenerator的.flow_from_directory函数扫描的类名?

我想制作一个用户友好的GUI图像分类器,用户只需指向数…

如何查看每个词的tf-idf得分

我试图了解文档中每个词的tf-idf得分。然而,它只返…

如何修复 ‘ValueError: Found input variables with inconsistent numbers of samples: [32979, 21602]’?

我在制作一个用于情感分析的逻辑回归模型时遇到了这个问题…

如何向神经网络输入两个不同大小的输入?

我想向神经网络输入两个数据集。第一个数据集(元素)具有…

逻辑回归与机器学习有何关联

我们正在开会讨论聘请一位我们信任的顾问来做机器学习。一…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注