使用sklearn进行文本TF-IDF处理

使用 sklearn 进行文本 TF-IDF 处理
 在进行自然预言处理中的文本处理任务中经常会使用到 TF-IDF, 在这里进行简单记录.

给一个维基百科上的描述
 在一份給定的文件裡,詞頻(term frequency,tf)指的是某一個給定的詞語在該文件中出現的频率。這個數字是对词数(term count)的归一化,以防止它偏向長的文件。(同一個詞語在長文件裡可能會比短文件有更高的詞数,而不管該詞語重要與否。)對於在某一特定文件裡的詞語 ti 來說,它的重要性可表示為:

以上式子中 n{i,j} 是該詞在文件 d{j} 中的出現次數,而分母則是在文件 d{j} 中所有字詞的出現次數之和。
逆向文件頻率(inverse document frequency,idf)是一個詞語普遍重要性的度量。某一特定詞語的 idf,可以由總文件數目除以包含該詞語之文件的數目,再將得到的商取對數得到:

|D|:語料庫中的文件總數
分母包含詞語 t{i} 的文件數目
以上出自维基百科, 具体内容可以点击进去细看

题目描述
在使用 TF-IDF 时,对于不熟悉 sklearn 的同学通常都会手动统计每个词的频率进行计算.不过其实 sklearn 已经对其进行了封装

from sklearn.feature_extraction.text import TfidfVectorizer

X_train = ['hello', 'hi', 'hei']
X_test = ['hi', 'haa', 'hei']
vectorizer = TfidfVectorizer(stop_words='english')
vectorizer.fit_transform(X_train).todense()
X_train = vectorizer.transform(X_train)
print X_train
X_test = vectorizer.transform(X_test)
print X_test

参考资料
http://d0evi1.com/sklearn/feature_extraction/

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值