问题标签 [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.
rapidminer - 为什么 rapidminer 中的 KNN 会出现内存问题?
我正在对 20NewsGroup 数据集进行文本分类,每个类别中有 100 个文档。我使用 10 倍交叉验证通过朴素贝叶斯对文本文档进行分类,它成功运行并在最后给我结果。
我用 10 倍交叉验证对 KNN 进行了同样的尝试,但它总是以“进程失败”结束,这表明它需要比可用内存更多的内存。我在 build.xml 和 rapidminerGUI.bat 中将 rapidminer 的堆空间从 1GB 增加到 2.5G,但没有任何改善(所以我认为堆空间不是问题),而且它总是需要更多的内存。
请帮助,我坚持下去并尝试了我能想到的所有可能的选择
平台详情:
操作系统:Windows 7(64 位) 软件版本:Rapidminer 5.3(64 位) Java:Java 1.7(64 位)
machine-learning - 我如何在 weka 中使用除 TF-IDF 之外的特征加权方法?
1)我想应用 IG、MI 等特征加权方法来加权我的特征,但 StringToWordVector 只允许我们使用 TF-IDf 来加权 weka 中的特征。
有没有一种方法可以应用除 TF-IDF 之外的加权方法来加权我的条款?
2)如何访问java代码中每个特征的TF-IDF权重?我调试了代码,发现所有术语都分配了权重 1.0 ?
3) IG 小于 0 的术语是否对分类过程没有帮助,我们应该始终将它们从词汇表中删除?
提前谢谢...
machine-learning - 如何在快速矿工中将“从文件处理文档”的输出示例集提供给多个分类器?
我正在研究并行分类器组合,并且需要快速矿工将“处理文件中的文档”运算符的输出提供给多个分类器(L1、L2、L3)。一种方法是创建三个不同的进程并分别为每个进程提供文档,但这可能是性能瓶颈,我想避免它。
有没有办法为分类器(L1、L2、L3)提供示例集副本?
nlp - 使用 SVM 时是否需要 TF-IDF?
我正在使用支持向量机对短语进行分类。在使用 SVM 之前,我知道我应该对短语向量进行某种标准化。一种流行的方法是 TF-IDF。
具有最高 TF-IDF 分数的术语通常是最能表征文档主题的术语。
但这不正是 SVM 所做的吗?对最能描述文档特征的术语给予最高权重?
提前致谢 :-)
text - Nltk 分类 - 朴素贝叶斯显示出令人难以置信的 0.996 准确度
我面临一个奇怪的问题。我使用 nltk.classify 中的 NaiveBayesClassifier 对文本进行分类,我的问题是它显示了令人难以置信的 0.9966 精度。我确信这不可能是真的,但我的代码中仍然没有错误。我的输入量很大,40.000 个句子用于训练,80.000 个用于测试。
我正在构建一组由所有负/正/中性标记的训练文本组成的训练特征
以及由所有负/正/中性标记的训练文本组成的一组测试特征
之后我在 trainFeats 上训练分类器
并在所有 testFeats 上进行测试
这是正常的结果,我应该想当然吗?因为它表现得非常好。谢谢!
machine-learning - 如何在具有单独测试集的 Rapidminer 中应用 InformationGain?
我正在处理 rapidminer 中的文本分类。我有单独的测试和训练拆分。我使用 n 折交叉验证将信息增益应用于数据集,但我对如何将其应用于单独的测试集感到困惑?下面附上图片
在图中,我已将用于训练的第一个“Process Documents From Files”的单词列表输出连接到用于测试的第二个“Processed Documents From Files”,但我想将缩减的功能应用于第二个“Process Documents From文件”,它可能应该是从“按重量选择”(缩小尺寸)操作员返回的文件,但它返回的权重我无法提供给第二个“从文件处理文档”。我搜索了很多,但没有找到任何可以满足我需求的东西?
Rapidminer 真的有可能进行单独的测试/训练拆分并应用特征选择吗?
有没有办法将这些权重转换为单词列表?请不要说写在存储库中(我不能这样做)?
在这种情况下,当我有不同的测试/训练拆分并需要应用特征选择时,我将如何确保测试/训练拆分具有相同的维度向量?
我真的被困在里面了,请帮助...
machine-learning - 如何从 Rapid Miner 示例集转换为 weka 实例?
我需要一些从 weka 中使用的功能和一些从 rapidminer 中使用的功能。如何将快速矿工示例集转换为 weka 实例执行一些操作,然后再转换回 weka 实例?
我在互联网上发现了一个名为“WekaTools”的类,但它在 rapidminer(5.3.013) 中不存在
谁能告诉我该功能在快速矿工 5.3.013 中的移动位置?或者我如何从 Rapid miner 示例集转换为 weka Instances ?
machine-learning - Scikit learn - 测试集上的 fit_transform
我正在努力在 Python 中使用 Scikit learn 中的随机森林。我的问题是我将它用于文本分类(在 3 个类中 - 正/负/中性)并且我提取的特征主要是单词/unigrams,所以我需要将这些转换为数字特征。我找到了一种方法来做到这一点DictVectorizer
's fit_transform
:
我的问题是该fit_transform
方法正在处理包含大约 8000 个实例的训练数据集,但是当我尝试将我的测试集也转换为数字特征(大约 80000 个实例)时,我收到一个内存错误说:
什么可能导致这种情况,是否有任何解决方法?非常感谢!
machine-learning - 关于文本分类的一般问题
我是主题模型、分类等方面的新手……现在我已经在做一个项目并阅读了很多研究论文。我的数据集由人工标记的短消息组成。到目前为止,这是我想出的:
- 由于我的数据很短,我阅读了有关潜在狄利克雷分配(及其所有变体)的信息,这对于检测文档中的潜在单词很有用。
- 基于此,我发现了 JGibbLDA http://jgibblda.sourceforge.net的 Java 实现,但是由于我的数据已标记,因此对此进行了改进,称为 JGibbLabeledLDA https://github.com/myleott/JGibbLabeledLDA
- 在大多数研究论文中,我阅读了关于 Weka 的好评,所以我在我的数据集上搞砸了
- 然而,我的数据集再次被标记,因此我发现了一个名为 Meka http://sourceforge.net/projects/meka/的 Weka 扩展,它具有多标记数据的实现
- 阅读多标签数据,我知道最常用的方法,例如一对多和链分类器......
现在我在这里的原因是因为我希望对以下问题有答案:
- LDA 是解决我的问题的好方法吗?
- LDA 是否应该与分类器(NB、SVM、二元相关性、逻辑回归……)一起使用,或者 LDA 是否“足以”用作新的、看不见的数据的分类器/估计器?
- 我需要如何解释来自 JGibbLDA / JGibbLabeledLDA 的输出。我如何从这些文件中获取告诉我哪些单词/标签分配给整个消息(不仅仅是每个单词)的东西
- 我如何使用 Weka/Meka 来达到我在上一个问题中想要的(如果 LDA 不是我想要的)
我希望有人,或者不止一个人,可以帮助我弄清楚我需要如何做到这一点。所有的大意都不是这里的问题,我只是不知道如何从文学走向实践。大多数论文都没有对他们如何进行实验给出足够的描述,或者对于我关于这些主题的背景来说过于技术化。
谢谢!
machine-learning - 对 LibSVM 格式的文件使用 LibShortText
我正在尝试使用LibShortText
,但我并不完全了解它是如何工作的。
从README
看来,它的功能是针对文本文件的。但是,我需要对已经是 LibSVM 格式的文件进行分类,所以我认为函数就像text-train.py
并且text-predict.py
不会......?
README
还指出:
有谁知道什么preprocessor directory
是...?
从LibShortText 文档中,我看到有一个“中级分类模型 - 学习者”适用于我的文件。但是,我不明白它是如何工作的!例如,它没有 LIBSVM 所具有的所有参数......而且我还没有成功找到如何保存或理解结果(权重和预测在哪里?)。
如果有人能解释这件事的话,我会非常感激(我已经测试了好几个小时了)......谢谢!