0

我是机器学习的新手。我正在做一个需要应用机器学习概念的项目。

问题陈述:

我有大量(比如3000)关键词。这些需要分为七个固定类别。每个类别都有训练数据(样本关键词)。我需要一个算法,当一个新的关键词传递给它时,它应该预测这个关键词属于哪个类别。

我不知道需要为此应用哪种文本分类技术。我们有任何可以使用的工具吗?

请帮忙。

提前致谢。

4

5 回答 5

0

这属于线性分类。您可以为此使用朴素贝叶斯分类器。大多数机器学习框架都会有一个朴素贝叶斯的实现。例如:象夫

于 2014-11-18T19:52:06.637 回答
0

是的,我还建议使用朴素贝叶斯,这或多或少是这里的基线分类算法。另一方面,显然还有许多其他算法。我想到了随机森林和支持向量机。请参阅http://machinelearningmastery.com/use-random-forest-testing-179-classifiers-121-datasets/如果您使用标准工具包,例如 Weka、Rapidminer 等,这些算法应该可用。还有用于 Java 的 OpenNLP,它带有一个最大熵分类器。

于 2014-12-17T17:56:12.067 回答
0

使用分类器,构建和验证一个实用的分类器仍然是一些操作。挑战之一是混合

  • 离散(布尔和可枚举)
  • 和连续('数字')

无缝预测变量。通常需要一些算法预处理。

神经网络确实提供了使用这两种变量的可能性。但是,它们需要熟练的数据科学家才能产生良好的结果。一个直接的选择是使用Insight Classifiers等在线分类器 Web 服务一次性构建和验证分类器。那里正在使用 N 折交叉验证。

您可以在单独的列中表示每个单词的存在或不存在。结果变量是期望的类别。

于 2020-07-09T22:28:01.077 回答
0

您可以在每个类别的描述和数据集中的关键字之间使用 Word2Vec Word Cosine 距离,然后简单地将每个关键字与距离最近的类别匹配

或者,您可以从已经匹配的类别、关键字创建一个训练数据集,并使用任何 ML 分类器,例如,基于人工神经网络,使用关键字向量到每个类别的余弦距离作为模型的输入。但它可能需要大量数据进行训练才能达到良好的准确性。例如,MNIST 数据集包含 70000 个样本,它允许我使用简单的 CNN 达到 99.62% 的模型交叉验证准确度,对于另一个只有 2000 个样本的数据集,我只能达到大约 90% 的准确度

于 2017-07-15T11:26:55.140 回答
0

有很多分类算法。您的示例看起来是一个文本分类问题 - 一些可以尝试的好的分类器是 SVM 和朴素贝叶斯。对于 SVM,liblinear 和 libshorttext 分类器是不错的选择(并且已在许多工业应用中使用):

liblinear: https://www.csie.ntu.edu.tw/~cjlin/liblinear/ libshorttext: https://www.csie.ntu.edu.tw/~cjlin/libshorttext/

它们还包含在 scikit-learna 和 WEKA 等 ML 工具中。

于 2017-07-20T13:28:38.227 回答