python 文本挖掘 vectorizer.fit_transform(corpus).toarray() 矩阵化数据异常?

例如 我有一个语料:

# corpus = ["我 来到 北京 清华大学",  # 第一类文本切词后的结果,词之间以空格隔开
#           "他 来到 了 网易 杭研 大厦",  # 第二类文本的切词结果
#           "小明 硕士 毕业 与 中国 科学院",  # 第三类文本的切词结果
#           "我 爱 北京 天安门"]  # 第四类文本的切词结果

这样的时候我运行:


    vectorizer = TfidfVectorizer(min_df=1)
    vectorizer.fit_transform(corpus)
    print(vectorizer.transform(corpus).toarray()

出来正常的如下面:
[[0. 0.52640543 0. 0. 0. 0.52640543

    1. 0.66767854 0. 0. 0. ]

[0. 0. 0.52547275 0. 0. 0.41428875
0.52547275 0. 0. 0. 0. 0.52547275]
[0.4472136 0. 0. 0. 0.4472136 0.

  1. 0.4472136 0. 0.4472136 0.4472136 0. ]

[0. 0.6191303 0. 0.78528828 0. 0.

            1. ]]

但是当我的corpus 这个列表非常大的时候例如长度为1w的时候。
我在运行上面的代码,出来的矩阵每一行除了一个是 1 之外 其余都是 0 ?
这是为什么呢?

阅读 6.4k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题