Python TFIDF计算文本相似度

本文主要参考https://stackoverflow.com/questions/12118720/python-tf-idf-cosine-to-find-document-similaritStackOverflow的回答
主要是使用sklearn的TfidfTransformer

cosine_similarity就是计算L2归一化的向量点乘。如果x,y是行向量,它们的cosine similarityk是:
在这里插入图片描述
linear_kernel 是多项式核的特例,如果x,和y是列向量,他们的线性核为:
在这里插入图片描述

fit &fit_tansform & transform

  • fit是一个适配的过程,用于train,得到一个统一的转换的规则的模型;
  • transform:将数据进行转换,比如测试数据按照训练数据同样的模型进行转换,得到特征向量;
  • fit_tansform:将上述两个合并起来,fit to data,then transform it. 如果训练阶段用的是fit_transform,在测试阶段只需要transform就行

也就是一般训练的时候用fit_transform(train_data)
在测试的时候用transform(test_data)

回答一

如果你想提取count features并应用TF-IDFnormalizaition以及行基础的欧式距离,用一个操作就行:
TFidfVectorizor

>>> from sklearn.feature_extraction.text import TfidfVectorizer
>>> from sklearn.datasets import fetch_20newsgroups
>>> twenty = fetch_20newsgroups()

>>> tfidf = TfidfVectorizer().fit_transform
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值