特征提取方法有两大主要方式,一种是词袋模型,还有一种就是TF-IDF 模型(term frequency-inverse document frequency,词频与逆向文件频率)
1、词袋模型
1.1 词袋和词集
文本特征提取有两个非常重要的模型
词集模型:单词构成的集合,集合自然每个元素只能有一个,也就是词集中的每个单词都只有一个
词袋模型:在词集的基础上,如果一个单词在文档中出现不止一次,统计其出现的次数。
二者本质上的区别,词袋是在词集的基础上增加了频率的维度,词集只关注有和没有,而词袋还关注出现了多少次。
1.2 实践
现在我们来进行词袋模型的实践:
首先来导入相关的函数库:
import pandas as pd
from sklearn.feature_extraction.text import CountVectorizer
导入数据
data = pd.read_csv("./dataset/Movies_dirty.csv")
data['Movie description'] = data.iloc[:,1]+' '+data.iloc[:,-1]#合并两列数据
这里我使用的是movie的数据集,包括movie的name,director,year,…,description属性,只使用name和description两个属性,并对这两列数据进行合并。如果找不到相关数据也可以随便用一个简单的数据集来实验。
corpus = []
for i in data['Movie description']:
corpus.append(i)
将数据放到列表中,显示部分,两个逗号之间表示一条数据。
词袋模型:
vectorizer = CountVectorizer(