基于tf-idf的文本相似度

tf-idf矩阵

词频-逆向文本频率,是一种用于信息检索和文本挖掘的常用加权技术。

TF(词频)

某一个给定的词语在该文件中出现的频率。

IDF(逆向文本频率)

总文件数目除以包含该词语之文件的数目,再将得到的商取以10为底的对数。

TF*IDF

表示给定词语对于一个文本的重要程度。

举例

heading_plus_content_corpus =["I come to China to travel",
    "This is a car polupar in China",
    "I love tea and Apple ",
    "The work is to write some papers in science"]

在这里插入图片描述

这样两句代码就可以把tf-idf矩阵求出来。

print(tfidfX.shape)#矩阵的长宽
words = tfidf.get_feature_names()
print(words)#统计了哪些单词(按矩阵列的顺序)
print(tfidfX.todense()) #矩阵具体内容
print(tfidf.vocabulary_)# 单词以及它所在的列数(按文本出现顺序)

在这里插入图片描述

Dataframe

DataFrame是一种表格型数据结构,它含有一组有序的列,每列可以是不同的值。

通过字典创建
data = {
    'state':['Ohio','Ohio','Ohio','Nevada','Nevada'],
    'year':[2000,2001,2002,2001,2002],
    'pop':[1.5,1.7,3.6,2.4,2.9]
}

在这里插入图片描述
行索引默认为0~n
列索引为字典的key值,可以通过参数修改。

frame = DataFrame(data,index=['11','22','33','44','55'],columns=['pop','year','state'])

在这里插入图片描述

通过读取文件创建

  • header(默认第一行为columns,如果指定header=None,则表明没有索引行,第一行就是数据)
  • index_col(默认作为索引的为第一列,可以设为index_col为-1,表明没有索引列)
  • nrows(表明读取的行数)
  • sep(分隔符,read_csv默认是逗号,而read_table默认是制表符\t)

参考文献(https://www.jianshu.com/p/8024ceef4fe2)

多标签分类

label_set = ['*','8','3']#多分类的类别字符
mlb = MultiLabelBinarizer(classes=label_set)
labelList=['8', '*', '*', '8'] 
dummY=mlb.fit_transform(labelList)

[[0 1 0]
[1 0 0]
[1 0 0]
[0 1 0]]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值