sklearn.feature_extraction.text.CountVector

本文介绍了sklearn.feature_extraction.text.CountVectorizer的参数、使用示例和2-grams的概念。该方法用于文本特征提取,包括与其他方法如TfidfVectorizer的对比。文中详细解释了token_pattern参数,并给出了1-grams和2-grams的使用区别。

1,参数

sklearn.feature_extraction.text.CountVector是sklearn.feature_extraction.text提供的文本特征提取方法的一种。

sklearn.feature_extraction.text 的4中文本特征提取方法:

  • CounterVector
  • TfidfVectorizer
  • TfidfTransformer
  • HashingVectorizer

看看这个函数的参数:

sklearn.feature_extraction.text.CountVectorizer(
input=’content’,         #输入,可以是文件名字,文件,文本内容
encoding=’utf-8’,       #默认编码方式
decode_error=’strict’, # 编码错误的处理方式,有三种{'strict','ignore','replace}
strip_accents=None, # 去除音调,三种{'ascill','unicode',None},ascii处理的速度快,但只适用于ASCll编码,unicode适用于所有的字符,但速度慢
lowercase=True, # 转化为小写
preprocessor=None,
tokenizer=None, #
stop_words=None,
token_pattern=’(?u)\b\w\w+\b’, ngram_range=(1, 1),
analyzer=’word’, #停止词,一些特别多,但没有意义的词,例如 a ,the an
max_df=1.0,#
min_df=1, #词最少出现的次数
max_features=None,  #最大特征
vocabulary=None,
binary=False,
dtype=<class ‘numpy.int64’>)

2,例子

`sklearn.feature_extraction.text` 库的主要作用是进行文本特征提取,即将文本数据转换为可用于机器学习模型处理的数值特征。该库提供了多种文本特征提取的类,常见的有 `CountVectorizer` 和 `TfidfVectorizer`,此外还有 `TfidfTransformer`、`HashingVectorizer` 等类 [^1]。 - **`CountVectorizer`**:用于将文本数据转换为词频矩阵,统计每个单词在文档中出现的次数。它可以通过 `fit_transform` 方法对文本数据进行处理,查看提取的特征单词可以使用 `get_feature_names` 方法。该类有多个参数,如 `ngram_range` 可用于指定提取 1 - grams 或 2 - grams 等不同范围的特征 [^1][^3]。 ```python 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_out()) print(X.toarray()) ``` - **`TfidfVectorizer`**:在 `CountVectorizer` 统计词频(TF)的基础上,加入了逆文档词频(IDF)的计算,使得重要的特征在特征矩阵中更加突出。它能有效减少常见词对模型的影响,提高模型的性能 [^4]。 ```python from sklearn.feature_extraction.text import TfidfVectorizer corpus = [ 'This is the first document.', 'This document is the second document.', 'And this is the third one.', 'Is this the first document?', ] vectorizer = TfidfVectorizer() X = vectorizer.fit_transform(corpus) print(vectorizer.get_feature_names_out()) print(X.toarray()) ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值