问题标签 [countvectorizer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scikit-learn - 将文档添加到 scikit-learn 的 CountVectorizer?
我想使用 CountVectorizer 将文档添加到预先生成的矩阵中。
现在我想在words_matrix中添加另一个字符串“第三个字符串” 。扩展矩阵 - 像这样:
但是如果没有fit_transform一起使用,我就无法让它工作。
python - CountVectorizer 的单个字母的空词汇表
试图将字符串转换为数字向量,
但是当我遇到时:
有错误:
这样的单字母字符串似乎有问题。我该怎么办? Thx
python - 使用 Countvectorizer 提取 ngram 时如何解决内存问题?
我有一个大小为 300 MB 的语料库。我有 32 位 Windows 和 32 位 python 版本 3.6。此操作需要多少内存?我的代码如下。
错误:
我在谷歌搜索解决方案。他们提出了使用散列矢量化器的想法。但有人提到它没有给出各自的标记和特征名称。计数向量器将提供特征和索引。请为我提供 Count vectorizer 本身的解决方案。
python - 使用 sklearn CountVectorizer 时的换行符
我有一个字符串列表,例如:
我希望CountVectorizer找到给定范围内的所有 char-n-gram,而不排除\n
字符。也就是说,一个令牌可能是:'a line\nthis'
. 默认预处理器似乎无法执行此操作,\n
并且始终被视为空格。我试图用一个身份函数替换预处理器,但这也不起作用。
python - 从现有矩阵中获取特征向量
如果我使用 Scikit-learn 配置一个 CountVectorizer 对象并将一个包含 n 个句子(长度不同)的矩阵 M 传递给fit_transform函数,例如,我可以获得一个 n-gram 表示F。像这样:
这很好用。F现在将具有形状 (2000, n ),因为我已将 max_features 设置为 2000。
但是假设我再获得一个句子,并且想生成一个与F的特征对齐并且具有相同长度(2000)的向量。这甚至可能吗,还是我需要保留原始矩阵M,将新句子添加到其中,然后重新生成所有特征?
scikit-learn - 用看不见的数据测试转储分类器
我训练了一个分类器,然后转储它并转储它的矢量化器。现在我想通过加载分类器和矢量化器来用看不见的数据来测试它。有人可以帮忙吗?
python - 熊猫:无法加入文本列
我想加入我的数据框的所有文本列,以便我可以将其放入CountVectorizer
.
in_df
是源数据框,col_list
是一个数组,例如['a','b','c',...]
,我想保持这种灵活性。的类型
是
上面的代码失败了vect_data = vect_data + " " + in_df[col]
但是,当我这样做时它会起作用
我究竟做错了什么?
python - 计算 nGram 时,Dataframe 中的 Sklearn CountVectorizer“空词汇”错误
我有一个data
包含 3 条记录的数据框 ( ):
我按 id 对该数据框进行分组:
描述生成的 groupby 对象表明所有记录都保留下来。
然后我运行此代码以在 中找到 nGramtext
并将它们加入id
:
当我一起运行所有这些代码时,会出现一个错误word_vectorizer
,指出“空词汇;也许文档只包含停用词”。我知道在许多其他问题中都提到了这个错误,但我找不到一个处理 Dataframe 的问题。
为了使问题进一步复杂化,错误并不总是出现。我从 SQL 数据库中提取数据,根据我提取的记录数,错误可能会出现,也可能不会出现。例如,拉入Top 10
记录会导致错误,但Top 5
不会。
编辑:
完整的追溯
python - 当有两个单词时,为什么 CountVectorizer 会为二元组抛出“空词汇错误”?
我有一个 CountVectorizer:
实现该矢量化器:
引发此错误:
当 nGram 从中提取的文档是以下字符串时会发生此错误:“duplicate q”。每当文档为“”时,都会发生这种情况。
为什么 CountVectorizer 不将 q (或任何单个字母)作为有效单词?是否有任何全面的地方列出了为 CountVectorizer 引发此错误的可能原因?
编辑:我对错误本身进行了更多挖掘,看起来它与词汇表有关。我假设标准词汇表不接受单个字母作为单词,但我不确定如何解决这个问题。
python - pandas数据帧的高效读写
我有一个 pandas 数据框,我想将其拆分为几个较小的 100k 行,然后保存到磁盘上,以便我可以读取数据并一一处理。我尝试过使用dill
和hdf
存储,因为 csv 和原始文本似乎需要很多时间。
我正在对具有约 500k 行和五列混合数据的数据子集进行尝试。两个包含字符串,一个整数,一个浮点数,最后一个包含来自 的二元计数sklearn.feature_extraction.text.CountVectorizer
,存储为scipy.sparse.csr.csr_matrix
稀疏矩阵。
这是我遇到问题的最后一列。转储和加载数据没有问题,但是当我尝试实际访问数据时,它是一个 pandas.Series 对象。其次,该系列中的每一行都是一个包含整个数据集的元组。
我是否犯了任何明显的错误,或者有没有更好的方法以这种格式存储这些数据,这种格式不是很耗时?它必须可扩展到包含 1 亿行的完整数据。