python fit transform_python 文本挖掘 vectorizer.fit_transform(corpus).toarray() 矩阵化数据异常?汗血宝马...

探讨了在使用TF-IDF进行文本矢量化时遇到的问题,特别是当语料库规模增大到一万条记录时,输出的矩阵每行仅一个元素为1,其余均为0的现象及其可能的原因。

例如 我有一个语料:

# corpus = ["我 来到 北京 清华大学",  # 第一类文本切词后的结果,词之间以空格隔开

#           "他 来到 了 网易 杭研 大厦",  # 第二类文本的切词结果

#           "小明 硕士 毕业 与 中国 科学院",  # 第三类文本的切词结果

#           "我 爱 北京 天安门"]  # 第四类文本的切词结果

这样的时候我运行:

vectorizer = TfidfVectorizer(min_df=1)

vectorizer.fit_transform(corpus)

print(vectorizer.transform(corpus).toarray()

出来正常的如下面:

[[0. 0.52640543 0. 0. 0. 0.52640543

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.

0.4472136 0. 0.4472136 0.4472136 0. ]

[0. 0.6191303 0. 0.78528828 0. 0.

]]

但是当我的corpus 这个列表非常大的时候例如长度为1w的时候。

我在运行上面的代码,出来的矩阵每一行除了一个是 1 之外 其余都是 0 ?

这是为什么呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值