问题标签 [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.
text - 特征选择文本分类的互信息
我使用朴素贝叶斯分类器进行文本分类。如何使用互信息度量进行特征选择来提高算法的准确性?
python - Scikit-learn:不要将某些单词作为一个单词的特征,而是在搭配中使用
我正在使用 Python 和 scikit-learn 进行文本分类。
现在,我使用 TfidfVectorizer 作为向量器(用于将原始文本转换为特征向量)和 MultinomialNB 作为分类器。我使用参数 ngram_range = (1,2) (参见http://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.TfidfVectorizer.html),例如我使用一个词和二元组。
在测试集和 CV 集中分类和测试我的算法后,我想提高准确性。我看到了最多信息的特征(由于问题如何为 scikit-learn 分类器获取最多信息的特征?)。而且我看到,在集合中信息量最大的特征中,我有单词(ngram=1),它们对分类没有影响,但是在二元组(单词搭配)中它们会产生很大的影响。
所以,我不能使用 stop_words,因为 Tfidfvectorizer 不会在搭配中考虑这个词,我也不能使用预处理器。问题:如何在 tfidfvectorizer 中排除某些单词,但将这些单词保存在不同的搭配中?
machine-learning - 机器学习 - 概念/建议
嗨,我是机器学习的新手,因此正在寻找文本分类解决方案。有人可以向我推荐一个用 java 编写的不错的框架吗?我考虑过使用 WEKA,但也听说过 MALLET。更好的是,主要区别在哪里?
我的目标是对未标记的文本进行分类。因此,我准备了大约 18 个主题和每个主题 100 篇文字进行学习。
你会建议做什么?也希望有一个很好的小例子或提示如何继续。
solr - Solr 中的文档聚类和分类?
我正在 Solr 中建立文档索引。文件不科学。
我有一个类链接到每个文件,它们可以用于教学。我想在添加时为新文档分配类别。一直添加文档而不重建所有索引。
文档也可以是同一件事,但来自不同的来源,所以我想进行文档聚类。因此,当添加文档时 - 我可以搜索过去 N 天内我是否已经有这样的主题,如果是的话 - 然后保存集群 ID。
索引大小约为 500k 文档并且还在不断增加,因此速度很重要。
所以我想为每个新文档计算:类别 ID(基于预定义文档的训练)、集群 ID(仅匹配 N 天,而不是整个索引)。
SOLR可以做到吗?或者最好制定单独的解决方案(如果是,那么是哪一个?)
machine-learning - 如何使用 scikit 交叉验证模块将数据(原始文本)拆分为测试/训练集?
我在原始文本中有大量意见(2500)。我想使用 scikit-learn 库将它们分成测试/训练集。用 scikit-learn 解决此任务的最佳方法是什么?谁能给我一个在测试/训练集中拆分原始文本的例子(可能我会使用 tf-idf 表示)。
python - 由于尺寸不同,无法在 scikit-learn 中使用 FeatureUnion
我正在尝试FeatureUnion
从数据结构中提取不同的特征,但由于维度不同而失败:ValueError: blocks[0,:] has incompatible row dimensions
实施
我FeatureUnion
的构建方式如下:
GetItemTransformer
用于从同一结构中获取数据的不同部分。这个想法在scikit-learn 问题跟踪器中进行了描述。
结构本身存储为具有不同长度的不同列表{'f1': data_f1, 'f2': data_f2}
。data_f1
问题
由于 Y 向量与数据字段不同,我假设会发生错误,但是如何缩放向量以适应这两种情况?
java - Iterating through each fold in X_validation operator in rapidminer?
I am performing a text categorization task in Rapid miner by integrating Rapid miner in Java. I am using 10-fold cross validation (x_validation operator). I have a requirement to access the samples in test/train splits in each fold ?
I have tried a lot but couldn't iterate through each fold ? i am new to Rapid miner so i am stuck at here....
I appreciate any help (i don't have enough reputation to upload image but it's a simple 10-fold cross validation process which i am accessing through java code) ...
machine-learning - 在 Rapidminer 中存储 XValidation(交叉验证)折叠?
我已经通过代码进行了很多尝试,以在 10 倍交叉验证(分层)中保存每个折叠的测试/训练拆分样本,但无法做到这一点......
有没有办法在快速矿工中保存测试/训练拆分样本(不是模型)?
machine-learning - weka 3.7 explorer 无法对文本进行分类
我正在尝试使用 weka 3.7 explorer 进行文本分类。我使用文本加载器将 2 个文本文件(分为两个目录 class1 和 class2)转换为 arff。在此之前,我将案例标准化以降低。现在,当我将文件加载到 weka 并应用过滤器 stringtowordvector(例如 stopwords、usewordcount、usestoplist、stemmer - snowballstemmer)时,我的变量列表没有任何变化。对于每个类,所有变量(单词)都以 1 或 0 的形式给出。
请帮我。
这是我的过滤器命令
weka.filters.unsupervised.attribute.StringToWordVector -R first-last -W 1000 -prune-rate -1.0 -C -N 0 -S -stemmer weka.core.stemmers.SnowballStemmer -M 1 -tokenizer "weka.core.tokenizers .WordTokenizer -delimiters \" \r\n\t.,;:\\'\\"()?!\""
python - 如何使用带有 countVectorizer.fit_transform() 的腌制分类器来标记数据
我在一组短文档上训练了一个分类器,并在获得二元分类任务的合理 f1 和准确度分数后对其进行了腌制。
在训练时,我使用 sciki-learn countVectorizer
cv 减少了特征的数量:
然后使用fit_transform()
andtransform()
方法得到变换后的训练集和测试集:
这一切都适用于训练和测试分类器。但是,我不确定如何使用经过训练的分类fit_transform()
器transform()
的腌制版本来预测看不见的、未标记数据的标签。
我正在以与训练/测试分类器时完全相同的方式提取未标记数据的特征:
错误信息: