TF-IDF理论
1. 什么是TF-IDF?
TF-IDF(Term Frequency-Inverse Document Frequency, 词频-逆文件频率).是一种用于资讯检索与资讯探勘的常用加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
词频 (term frequency, TF) 指的是某一个给定的词语在该文件中出现的次数。这个数字通常会被归一化(一般是词频除以文章总词数), 以防止它偏向长的文件。(同一个词语在长文件里可能会比短文件有更高的词频,而不管该词语重要与否。)
公式:词频(TF)=某个词在文章出现的次数/文章的总词数
逆文档频率(IDF)=log(语料库的文档总数/包括该词的文档数+1)
2.项目案例
# -*- coding: utf-8 -*-
"""
Created on Sun Apr 7 17:38:21 2019
@author: huyahui
"""
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
train = pd.read_csv('E:/data/new_data/train_set.csv', nrows=1000, index_col=None)
tfidf_model = TfidfVectorizer(max_features=10, min_df=1).fit_transform(train['word_seg'])
print(tfidf_model.todense())
结果: