问题标签 [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.
python-3.x - 使用 CountVectorizer 的 fit_transform 错误
所以我有一个X
看起来像这样的数据框:
接着,
但我得到这个错误:
不知道为什么。
apache-spark - 使用 Spark CountVectorizer 时如何“标准化”向量值?
CountVectorizer
并且CountVectorizerModel
经常创建一个看起来像这样的稀疏特征向量:
这基本上说词汇表的总大小为 10,当前文档有 5 个唯一元素,在特征向量中,这 5 个唯一元素的位置分别为 0、1、4、6 和 8。此外,其中一个元素显示两次,因此是 2.0 值。
现在,我想“规范化”上述特征向量,让它看起来像这样,
即,每个值除以 6,即所有元素加在一起的总数。例如,0.3333 = 2.0/6
。
那么有没有办法在这里有效地做到这一点?
谢谢!
python - scikit-learn TfidfVectorizer 中的高效词形还原?
我做了一个慢速函数return_lema(tokens)
,它将标记列表转换为 lemas 列表。
当我把它放在这个例子 中的
build_tokenizer(self)
函数中时,它需要 37 秒。TfidfVectorizer
但是,然后我首先用 获取词汇表
CountVectorizer
,将词频矩阵中的标记输入到我的return_lema(tokens)
,然后执行TfidfTransformer
,这需要 13 秒。
第二种方式更快,因为return_lema(tokens)
不会得到重复的令牌。但是,现在我不能做正确的min_df
或max_df
像CountVectorizer
.
有没有办法让我的return_lema(tokens)
某个地方进入TfidfVectorizer
流程,这样在执行之前不需要一个一个文档,而是最终的特征词汇min_df
表max_df
?
python - CountVectorizer 在短词上引发错误
有人会尝试向我解释为什么当我尝试 fit_transform 任何短词时 CountVectorizer 会引发此错误吗?即使我使用 stopwords=None 我仍然会得到同样的错误。这是代码
并按预期工作。然后,如果我尝试使用另一个文本进行 fit_transform
并且引发的错误是
我读了一些关于这个错误的主题,因为它似乎真的经常出现错误 CV 引发,但我发现的只是涵盖文本真正只包含停用词的情况。我真的无法弄清楚我的问题是什么,所以如果我得到任何帮助,我将不胜感激!
transform - 如果我只是“vectorizer.transform(phrase)”而不拟合它会发生什么?
在将短语向量化并将它们放入矩阵形式时,有些事情让我感到困惑。
当您导入 CountVectorizer 或 TfidfVectorizer 时,
.fit & .transform & .fit_transform 函数有什么区别?
我知道'.fit'会学习ngrams,分成ngrams。
'.transform' 会将其放入短语 x ngram 矩阵中。
'.fit_transform' 作为 .fit 和 .transform 的组合使用
如果是这种情况,如果我只是 vectorize.transform(phrase) 而没有拟合它会发生什么?
我看到本教程设置了适合和转换火车数据,但对于测试数据,它只对预测进行“转换”操作。
提前谢谢大家。
python - 在 Sckit-learn 的 CountVectorizer() 中重命名特征
我有一个非常大的熊猫数据框。下面是示例
对于进一步的过程,我将使用 Sckit-learn 的 countvectorizer 构造上述数据的 doument-term 矩阵
我必须更正描述中拼写错误的功能。对于大型数据集,用正确拼写的单词替换拼写错误的单词需要花费大量时间。
所以我想到了使用代码给出的计数矢量化器中的特征列表来纠正特征
是否可以使用上述列表重命名特征并进一步将其用于分类过程???
python - 如何让 scikit 从预先标记的文档中计算文档术语矩阵?
我必须使用可以加载到list
字符串中的预标记文档。我想使用 scikit 的CountVectorizer为它们计算文档术语矩阵。这可能吗?
或者我应该自己手动构建/计算一个docterm矩阵?
我想为此使用 scikit 的原因是,以上内容需要集成到使用 scikits CountVectorizer 和BinomialNB训练的程序中。
python - raise ValueError("np.nan 是一个无效的文档,预期的字节或"
我在 scikit-learn 中使用 CountVectorizer 对特征序列进行矢量化。当它给出如下错误时,我被卡住了:ValueError:np.nan 是一个无效的文档,预期的字节或 unicode 字符串。
我正在使用包含两列内容和情感的示例 csv 数据集。我的代码如下:
我得到的错误是:
python - CountVectorizer 将单词转换为小写
在我的分类模型中,我需要维护大写字母,但是当我使用 sklearn countVectorizer 构建词汇表时,大写字母转换为小写!
为了排除隐式分词,我构建了一个分词器,它只传递文本而不进行任何操作..
我的代码:
输出:
java - Java 正则表达式在 ascii 范围之外不匹配,行为不同于 python 正则表达式
我想像 sklearn 的CountVectorizer一样从文档中过滤字符串。它使用以下正则表达式:(?u)\b\w\w+\b
. 此 java 代码的行为方式应相同:
但这不会产生所需的输出,就像在 python 中那样:
它改为输出:
我可以做些什么来包含非 ascii 字符,就像 python RegEx 一样?