问题标签 [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.

0 投票
0 回答
909 浏览

scikit-learn - 将文档添加到 scikit-learn 的 CountVectorizer?

我想使用 CountVectorizer 将文档添加到预先生成的矩阵中。

现在我想在words_matrix中添加另一个字符串“第三个字符串” 。扩展矩阵 - 像这样:

但是如果没有fit_transform一起使用,我就无法让它工作。

0 投票
1 回答
4103 浏览

python - CountVectorizer 的单个字母的空词汇表

试图将字符串转换为数字向量,

但是当我遇到时:

有错误:

这样的单字母字符串似乎有问题。我该怎么办? Thx

0 投票
0 回答
442 浏览

python - 使用 Countvectorizer 提取 ngram 时如何解决内存问题?

我有一个大小为 300 MB 的语料库。我有 32 位 Windows 和 32 位 python 版本 3.6。此操作需要多少内存?我的代码如下。

错误:

我在谷歌搜索解决方案。他们提出了使用散列矢量化器的想法。但有人提到它没有给出各自的标记和特征名称。计数向量器将提供特征和索引。请为我提供 Count vectorizer 本身的解决方案。

0 投票
0 回答
369 浏览

python - 使用 sklearn CountVectorizer 时的换行符

我有一个字符串列表,例如:

我希望CountVectorizer找到给定范围内的所有 char-n-gram,而不排除\n字符。也就是说,一个令牌可能是:'a line\nthis'. 默认预处理器似乎无法执行此操作,\n并且始终被视为空格。我试图用一个身份函数替换预处理器,但这也不起作用。

0 投票
1 回答
214 浏览

python - 从现有矩阵中获取特征向量

如果我使用 Scikit-learn 配置一个 CountVectorizer 对象并将一个包含 n 个句子(长度不同)的矩阵 M 传递给fit_transform函数,例如,我可以获得一个 n-gram 表示F。像这样:

这很好用。F现在将具有形状 (2000, n ),因为我已将 max_features 设置为 2000。

但是假设我再获得一个句子,并且想生成一个与F的特征对齐并且具有相同长度(2000)的向量。这甚至可能吗,还是我需要保留原始矩阵M,将新句子添加到其中,然后重新生成所有特征?

0 投票
1 回答
189 浏览

scikit-learn - 用看不见的数据测试转储分类器

我训练了一个分类器,然后转储它并转储它的矢量化器。现在我想通过加载分类器和矢量化器来用看不见的数据来测试它。有人可以帮忙吗?

0 投票
0 回答
48 浏览

python - 熊猫:无法加入文本列

我想加入我的数据框的所有文本列,以便我可以将其放入CountVectorizer.

in_df是源数据框,col_list是一个数组,例如['a','b','c',...],我想保持这种灵活性。的类型

上面的代码失败了vect_data = vect_data + " " + in_df[col]

但是,当我这样做时它会起作用

我究竟做错了什么?

0 投票
1 回答
1453 浏览

python - 计算 nGram 时,Dataframe 中的 Sklearn CountVectorizer“空词汇”错误

我有一个data包含 3 条记录的数据框 ( ):

我按 id 对该数据框进行分组:

描述生成的 groupby 对象表明所有记录都保留下来。

然后我运行此代码以在 中找到 nGramtext并将它们加入id

当我一起运行所有这些代码时,会出现一个错误word_vectorizer,指出“空词汇;也许文档只包含停用词”。我知道在许多其他问题中都提到了这个错误,但我找不到一个处理 Dataframe 的问题。

为了使问题进一步复杂化,错误并不总是出现。我从 SQL 数据库中提取数据,根据我提取的记录数,错误可能会出现,也可能不会出现。例如,拉入Top 10记录会导致错误,但Top 5不会。

编辑:

完整的追溯

0 投票
1 回答
3137 浏览

python - 当有两个单词时,为什么 CountVectorizer 会为二元组抛出“空词汇错误”?

我有一个 CountVectorizer:

实现该矢量化器:

引发此错误:

当 nGram 从中提取的文档是以下字符串时会发生此错误:“duplicate q”。每当文档为“”时,都会发生这种情况。

为什么 CountVectorizer 不将 q (或任何单个字母)作为有效单词?是否有任何全面的地方列出了为 CountVectorizer 引发此错误的可能原因?

编辑:我对错误本身进行了更多挖掘,看起来它与词汇表有关。我假设标准词汇表不接受单个字母作为单词,但我不确定如何解决这个问题。

0 投票
1 回答
563 浏览

python - pandas数据帧的高效读写

我有一个 pandas 数据框,我想将其拆分为几个较小的 100k 行,然后保存到磁盘上,以便我可以读取数据并一一处理。我尝试过使用dillhdf存储,因为 csv 和原始文本似乎需要很多时间。

我正在对具有约 500k 行和五列混合数据的数据子集进行尝试。两个包含字符串,一个整数,一个浮点数,最后一个包含来自 的二元计数sklearn.feature_extraction.text.CountVectorizer,存储为scipy.sparse.csr.csr_matrix稀疏矩阵。

这是我遇到问题的最后一列。转储和加载数据没有问题,但是当我尝试实际访问数据时,它是一个 pandas.Series 对象。其次,该系列中的每一行都是一个包含整个数据集的元组。

我是否犯了任何明显的错误,或者有没有更好的方法以这种格式存储这些数据,这种格式不是很耗时?它必须可扩展到包含 1 亿行的完整数据。