问题标签 [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 - 在xgboost python中预测测试数据时出错
我正在使用 xgboost python 来执行文本分类
下面是我正在考虑的火车
我正在使用 Sckit learn 的 counvectorizer 构建描述的文档术语矩阵,它使用下面的代码生成 scipy 矩阵(因为我有 110 万的大量数据,我正在使用稀疏表示来降低空间复杂度)
之后,我将使用上述矩阵应用特征选择
我正在使用 xgboost 分类器来训练模型
以下是我正在考虑的测试集
我正在为测试集构建单独的矩阵,就像我使用下面的代码为训练集做的那样
虽然预测测试集 Xgboost 期望训练集的所有特征都在测试集中,但这是不可能的(稀疏矩阵仅表示非零条目)
我无法将训练集和测试集组合成单个数据集,因为我只需要为训练集进行特征选择
谁能告诉我如何进一步接近?
python - Sklearn:将 lemmatizer 添加到 CountVectorizer
我在我的 countvectorizer 中添加了词形还原,正如这个Sklearn 页面中所解释的那样。
但是,在使用 创建dtm时fit_transform
,我收到以下错误(我无法理解)。在将词形还原添加到我的矢量化器之前,dtm 代码始终有效。我更深入地阅读了手册,并尝试了一些代码,但找不到任何解决方案。
更新:
在遵循以下@MaxU 的建议后,代码运行没有错误,但是我的输出中没有省略数字和标点符号。我运行单独的测试以查看哪些其他功能在LemmaTokenizer()
执行后哪些功能不起作用。结果如下:
显然,它只是token_pattern
变得不活跃。这是没有更新和工作的代码token_pattern
(我只需要先安装“punkt”和“wordnet”包):
对于那些想要删除少于 3 个字符的数字、标点符号和单词(但不知道如何删除)的人,这是在使用 Pandas 数据框时为我完成的一种方法
scikit-learn - 错误:9 拟合 sklearn.naive_bayes.MultinomialNB()
在使用 TfidfCountvectorizer 拟合多项式朴素贝叶斯分类器时,我被杀了:9 错误
这里,train 大小为 409MB,vector 大小为 20.3GB。
我正在使用 MacBook Pro-13 2017、8GB RAM、256 GB SSD。
python - 将 CountVectorizer 应用于 Python 中包含行中单词列表的列
我为文本分析做了一个预处理部分,在删除了停用词和词干之后,如下所示:
我有一列包含“清理过的单词”列表。这是一列中的 3 行:
我现在想将 CountVectorizer 应用于此列:
但我得到一个错误:
从列表创建字符串并再次由 CountVectorizer 分隔会有点奇怪。
python - 在 Python 中结合 CountVectorizer 和 ngram
有一个任务是使用 ngram 对男性和女性的名字进行分类。所以,有一个像这样的数据框:
具体要求是使用
对于这个任务,创建 ngrams (n=2,3,4)
我列出了一个名字,然后使用了 ngram:
现在我需要以某种方式将所有这些向量化以用于分类,我尝试
收到:
我知道这里的列表是错误的输入类型,有人可以解释一下我应该怎么做,所以我以后可以使用 MultinomialNB,例如。我这样做是对的吗?提前致谢!
python-3.x - 无需每次调用 .fit_transform() 即可访问文档术语矩阵
如果我已经调用过vectorizer.fit_transform(corpus)
,那么以后打印文档术语矩阵以vectorizer.fit_transform(corpus)
再次调用的唯一方法是什么?
我的理解是通过上述操作,我现在已将术语保存到vectorizer
对象中。我假设这是因为我现在可以调用而无需再次vectorizer.vocabulary_
传入。corpus
所以我想知道为什么没有类似的方法.document_term_matrix
?
corpus
如果数据现在已经存储在vectorizer
对象中,我必须再次传入似乎很奇怪。但根据文档,只有.fit
, .transform
, 和.fit_transform
返回矩阵。
其他信息:
我正在使用 Anaconda 和 Jupyter Notebook。
pandas - 多项式NB中系数的作用
我的 MultinomialNB 分类器在矢量化的假/真新闻文章上进行了实例化和训练,现在我正试图理解系数背后的含义。
结果是:
假[(-6.2632792078858461,'sanders'),(-6.2426599206831099,'house'),(-6.1832365002123097,'senate') , '共和党人'),...]
我了解较高的系数 (-5.9) 意味着令牌比 -6.2 具有更高的预测性。但我不确定关系在哪里。这是否意味着令牌“共和党人”与假新闻或真实新闻高度相关。
python - 从元素列表中提取文本计数
我有一个包含文本元素的列表。
我需要计算“=”之前存在的文本。我使用了 CountVectorizer 和一个令牌模式,但它没有给出预期的结果
输出如下
但预期的输出应该是
我还需要删除“。” 从“1”。这样我的输出将是
有什么办法可以做到吗?