赞
踩
简单来讲:CountVectorizer统计各个词语出现的次数;TfidfVectorizer统计各个词语的重要性。
1.CountVectorizer
CountVectorizer:统计个数
使用:cntv = CountVectorizer(); cntv.fit_transform(train[col]) #train[col]是一个series,它返回一个存储格式(row,num1) -- num2,row是说train[col]中的数据有几行,num1是指数据中词语的序号,因为CountVectorizer()方法会自动给每个词语标上序号。num2就是指序号为num1的词语有几个。
计算方法:
如图:
例子:网上的图,其中有错误的地方,我已改正一处,其他类似
使用时:
- tfv = TfidfVectorizer(ngram_range=(1, 2), min_df=3, max_df=0.9, use_idf=1, smooth_idf=1, sublinear_tf=1)
-
- tfv.fit(train[feature].append(test[feature]))
-
- tfv.transform(train[feature])
里面的参数不太重要,看着改。
重要的是,这个函数返回的数据结构类似于CountVectorizer,也是(row,num1) -- num2这样的,唯一不同的是num2是指num1指示的词语的重要程度。(一行就是一篇文章)
这样的话,可以通过
- from scipy import sparse
- train_x = sparse.hstack((train_x, cntv.transform(train[feature]))).tocsr()
- train_x = sparse.hstack((train_x, tfv.transform(train[feature]))).tocsr()
- '''
- 部分代码,示意
- '''
将词语的两种特征很好的结合在一起
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。