问题标签 [text-classification]
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 - 为什么缩放训练和测试数据后我的 SVM 的性能会下降?
我正在使用 scikit-learn 对文本进行情感分析。我现在的功能只是词频计数。
当我执行以下操作时,平均 F 值约为 59%:
但是当我使用 StandardScalar() 来缩放我的特征向量时,平均 F-measure 下降到 49%:
缩放应该可以提高我的 SVM 的性能,但在这里,它似乎会降低性能。为什么会这样?我怎样才能使它正确?
r - 在样本外数据集上使用词袋分类器
我最近使用 Bag-of-Words 分类器制作了一个包含 96% 术语的文档矩阵。然后我使用决策树对输入的词袋进行模型训练,以预测句子是否重要。该模型在测试数据集上表现得非常好,但是当我使用样本外的数据集时,它无法预测。相反,它给出了错误。
这是我在 R 中制作的模型
这在测试数据集上工作得很好,准确率约为 83%。但是,当我使用此购物车模型对样本外的数据集进行预测时,它给了我错误。
我得到的错误是 data_random 中的“找不到 C”。我不知道我应该怎么做才能完成这项工作。拉普拉斯平滑在这里是一种方式吗?
machine-learning - 如何将文本特征传递给 scikit-learn 分类器?
我正在进行情感分析任务,现在我已经提取了一些语言特征或二元组(名词/形容词的出现)。在这个任务的某个时刻,我需要使用 scikit 对这些意见进行分类,我如何将这个二元组、三元组、ngrams 传递给 scikit learn 中 SVM 算法的实现?
machine-learning - 如何在 Java 中使用 Weka 将文本转换为 TF-IDF 格式?
假设,我有以下带有两个属性的示例 ARFF 文件:
(1) 情绪:正面 [1] 或负面 [-1]
(2) 推文:文字
我想将第二个属性的值转换为等效的 TF-IDF 值。
顺便说一句,我尝试了以下代码,但其输出 ARFF 文件不包含各个实例的正(1)值的第一个属性。
示例输出 ARFF 文件:
如您所见,前几个实例是可以的(因为它们包含 -1 类以及其他特征),但最后剩余的实例不包含正类属性(1)。
我的意思是,在输出 ARFF 文件的最后一个实例中应该有 {0 1,...} 作为第一个属性,但它丢失了。
machine-learning - 朴素贝叶斯分类中的未知词
如何测试未知单词的文本分类问题?在训练模型时,我们可以使用平滑技术(Laplace add-1)来确保任何单词对于每个类都至少得到 1 个计数。
那么,在测试阶段呢?如果训练数据中没有出现某个单词,那么最好的处理方法是什么?简单地跳过它,或者也给它一个 1 的出现?
谢谢,任何建议或意见。具体来说,我使用的是朴素贝叶斯分类器。
python - 如何使用 Pattern 对西班牙语单词进行词形还原?
我想对一堆意见进行词形分析。据我所知,nltk 无法对不同于英语的语言中的单词进行词形还原。稍微研究了一下,我发现了pattern,它可以将多种语言中的单词进行词形还原。如何使用模式对一些文本进行词形还原?
这是我的测试语料库:
输出:
我怎样才能词形还原opinions
?
python - 机器学习文本分类
我正在使用 Python 编写一个迷你项目分类文本。
这个想法很简单:我们有一个句子语料库,分别属于 J. Chirac 和 Mitterrand(法兰西共和国的 2 位前总统(带有相关标签)。
目标是建立一个预测属于不同句子的模型。对于类(标签)它有“M”代表密特朗,“C”代表希拉克,在我的程序中我认为正确M == > -1
,并且C ==> 1
。
最后,我在我的数据集上应用了一个称为朴素贝叶斯的聚类算法,并对新数据进行了预测(测试)。
这里的问题是,在对我的系统进行性能评估后,我得到了一个非常低的分数,虽然我使用了几种方法来增加(停用词、双连词、平滑..)
如果有人对我有其他想法或建议来改进我的系统的性能,我会非常满意。
我将在下面附上我的一些代码。
在下面的代码中,我选择了我的停止列表,我删除了不是很重要的单词和拆分器来生成我的语料库,我使用了二元组:
在这里,我为我的测试数据集生成了一个语料库:
编辑:
我系统的性能值为 0.28。通常,如果系统有效,它将给出超过 0.6。
我在一个文件 Millers 句子上工作,我声明了 gensim,我没有在这里粘贴所有代码,因为它很长,我的问题是是否有其他方法可以提高系统性能,我使用了二元组,平滑.. 仅此而已.
python - CountVectorizer:AttributeError:“numpy.ndarray”对象没有属性“lower”
我有一个一维数组,每个元素中都有大字符串。我正在尝试使用 aCountVectorizer
将文本数据转换为数值向量。但是,我收到一条错误消息:
mealarray
每个元素中都包含大字符串。有 5000 个这样的样本。我正在尝试将其矢量化,如下所示:
完整的堆栈跟踪:
java-8 - groupingBy operation in Java-8
I'm trying to re-write famous example of Spark's text classification (http://chimpler.wordpress.com/2014/06/11/classifiying-documents-using-naive-bayes-on-apache-spark-mllib/) on Java 8.
I have a problem - in this code I'm making some data preparations for getting idfs of all words in all files:
And I'm stuck on the groupBy operation. (I need to group this by term, so each term must be a key and the value must be a sequence of documents). In Scala this operation looks very simple - .groupBy(_._2). But how can I do this in Java?
I tried to write something like:
but it's incorrect...
Somebody knows how to write it in Java?
Thank You very much.
r - R中用于文本分类的特征散列
我正在尝试在 R 中实现特征散列以帮助我解决文本分类问题,但我不确定我是否按照应有的方式进行操作。我的部分代码基于这篇文章:Hashing function for mapping integers to a given range?.
我的代码:
所以,我基本上是使用返回的 md5 哈希的最后 5 个十六进制数字将字符串转换为整数digest
。问题:
1 - 有没有可以为我做这个的包?我还没有找到。digest
2 -用作散列函数是个好主意吗?如果没有,我该怎么办?
PS:我应该在发布之前测试它是否有效,但是我的文件很大并且需要很多处理时间,所以我认为有人指出我正确的方向会更聪明,因为我确信我正在这样做错误的!
感谢您对此的帮助!