当前位置:   article > 正文

4.2 文本特征抽取的两种方式CountVectorizer与TfidfVectorizer_tf_vectorizer = countvectorizer

tf_vectorizer = countvectorizer

引言

在我看来,以下两种方法都是将文本数据转换为数值型数据。

CountVectorizer的数组格式可以理解为数组每一行记录每一个文本数据中单词的个数

TfidfVectorizer的数组格式可以理解为数组每一行记录每一个文本数据中单词的重要性

一、CountVectorizer—统计次数

作用主要为:对文本数据进行特征值化

1.介绍

细节详见官网

作用:对文本数据进行特征值化
类:sklearn.feature_extraction.text.CountVectorizer

CountVectorizer语法
CountVectorizer(max_df=1.0,min_df=1,)
# 返回词频矩阵

# 方法
CountVectorizer.fit_transform(X,y)      
# X:文本或者包含文本字符串的可迭代对象
# 返回值:返回sparse矩阵
CountVectorizer.inverse_transform(X)
# X:array数组或者sparse矩阵
# 返回值:转换之前数据格式
CountVectorizer.get_feature_names()
# 返回值:单词列表
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
案例
>>> from sklearn.feature_extraction.text import CountVectorizer
>>> corpus = [
...     'This is the first document.',
...     'This document is the second document.',
...     'And this is the third one.',
...     'Is this the first document?',
... ]
>>> vectorizer = CountVectorizer()
>>> X = vectorizer.fit_transform(corpus)
>>> print(vectorizer.get_feature_names())
['and', 'document', 'first', 'is', 'one', 'second', 'the', 'third', 'this']
>>> print(X.toarray())
[[0 1 1 1 0 0 1 0 1]
 [0 2 0 1 0 1 1 0 1]
 [1 0 0 1 1 0 1 1 1]
 [0 1 1 1 0 0 1 0 1]]

# ngram_range=(2, 2)
# (1,1)的ngram_range表示仅字母组合,(1,2)表示单字母组合和双字母组,而(2,2)则仅表示双字母组。
>>> vectorizer2 = CountVectorizer(analyzer='word', ngram_range=(2, 2))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/361071
推荐阅读
相关标签
  

闽ICP备14008679号