营销网站的案例分析,兰州网络广告设计方案,wordpress模板内容页哪个文件夹,游戏网站网页设计CountVectorizer方法介绍
CountVectorizer 是 scikit-learn 库中的一个工具#xff0c;它主要用于将文本数据转换为词频矩阵#xff0c;而不是传统意义上的词向量转换#xff0c;但可以作为词向量转换的一种基础形式。用于将文本数据转换为词频矩阵#xff0c;它是文本特征…CountVectorizer方法介绍
CountVectorizer 是 scikit-learn 库中的一个工具它主要用于将文本数据转换为词频矩阵而不是传统意义上的词向量转换但可以作为词向量转换的一种基础形式。用于将文本数据转换为词频矩阵它是文本特征提取的重要方法之一。
用法
分词将输入的文本分割成单词或 n-gram 序列。构建词汇表统计文本中出现的所有唯一的词并为每个词分配一个唯一的索引。生成词频矩阵对于每一个输入的文本根据词汇表统计每个词出现的次数生成一个稀疏矩阵矩阵的行表示文档列表示词汇表中的词元素表示该词在相应文档中的出现频率。
CountVectorizer 主要参数
input‘content’输入数据的类型可以是 ‘content’字符串、‘filename’ 或 ‘file’。encoding‘utf-8’文本的编码方式。decode_error‘strict’解码错误时的处理方式如 ‘strict’、‘ignore’、‘replace’ 等。strip_accentsNone去除重音字符可设置为 ‘ascii’ 或 unicode。lowercaseTrue将所有字符转换为小写。preprocessorNone预处理器用于在分词前对文本进行处理。tokenizerNone自定义分词器默认为 None使用 CountVectorizer 自带的分词器。stop_wordsNone停用词列表可以是 ‘english’ 或自定义的停用词列表。token_pattern‘(?u)\b\w\w\b’用于分词的正则表达式模式。ngram_range(1, 1)提取 n 元语法的范围默认为一元语法。analyzer‘word’分析器可以是 ‘word’单词级或 ‘char’字符级。max_df1.0词汇表中一个单词在文档中出现的最大频率可设置为浮点数比例或整数绝对次数。min_df1词汇表中一个单词在文档中出现的最小频率可设置为浮点数比例或整数绝对次数。max_featuresNone词汇表的最大大小限制词汇表中的单词数量。
CountVectorizer例子
from sklearn.feature_extraction.text import CountVectorizertexts [dog cat fish,dog cat cat,fish bird,bird]
cont []
# 实例化一个模型
cv CountVectorizer(ngram_range(1,3))
# 这里实例化了一个 CountVectorizer 对象 cvngram_range(1,3) 表示要考虑的 n-gram 的范围是从 1 个词到 3 个词的组合。
# 例如对于 dog cat fish会考虑 dog、cat、fish、dog cat、cat fish 和 dog cat fish 等。# 训练此模型
cv_fit cv.fit_transform(texts)
# 使用 fit_transform 方法对输入的文本列表 texts 进行训练和转换。
# 它会先对文本进行分词处理然后统计每个词或 n-gram在每个文本中出现的频率。print(cv.get_feature_names_out())
# 调用 get_feature_names_out 方法将返回一个包含所有不同的词或 n-gram的数组。
# 这些词是在对输入的文本进行处理后得到的词汇表会根据输入文本中出现的不同词汇以及 n-gram 组合形成。print(cv_fit)
# 打印 cv_fit它是一个稀疏矩阵对象存储了词频信息。由于文本数据通常是稀疏的大部分元素为 0
# 所以使用稀疏矩阵来存储可以节省空间和提高计算效率。# 打印出每个语句的词向量
print(cv_fit.toarray())
# 调用 toarray 方法将稀疏矩阵 cv_fit 转换为密集数组。
# 这样可以更直观地看到每个语句中各个词汇或 n-gram 的出现次数行代表输入的不同文本列代表词汇表中的词汇或 n-gram。# 打印出所有数据求和结果
print(cv_fit.toarray().sum(axis0))
# 对 cv_fit.toarray() 得到的数组按列求和即计算每个词汇或 n-gram 在所有文本中出现的总次数。
# axis0 表示按列进行求和操作。结果: