【问题标题】:How do I classify numerical data in Apache Mahout?如何在 Apache Mahout 中对数值数据进行分类?
【发布时间】:2014-11-08 11:07:28
【问题描述】:

我有一个格式为class, unigram count, bigram count, sentiment 的数字数据集。我浏览了一些 Apache Mahout 文档,它们都是关于文本数据的。我知道我需要执行 3 个步骤来分类:转换为序列文件、向量化序列文件、传递它以训练朴素贝叶斯分类器。但是我很难理解在 Mahout 中对文本数据集进行分类与对数值数据集进行分类之间的区别。在我的情况下,我需要做些什么不同的事情?我将不胜感激。

【问题讨论】:

    标签: java hadoop machine-learning classification mahout


    【解决方案1】:

    您可能知道,mahout 不能使用文本数据来训练模型。如果从数值数据集开始,分类会更容易,因为 mahout 处理的向量是数值数据向量。

    我在文本数据集上使用了 mahout,我知道在这种情况下,我必须使用字典将文本数据转换为数字数据。有些算法比其他算法处理得更好(例如,朴素贝叶斯非常喜欢类似文本的数据)。

    因此,在您的情况下,请尝试使用其他分类器,例如随机 forrest 或在线逻辑回归,以获得更有效的结果。以我的经验,使用随机福雷斯特,您可以定义您拥有的特征类型(在您的情况下,您的所有特征都是数字的),因此分类可以很容易地完成。如果您想坚持使用朴素贝叶斯,我相信仍然可以对您的数值数据集进行分类,但我从未使用过它,因此无法提供更多帮助。

    【讨论】:

    • 感谢您的洞察力。这是我第一次尝试 Mahout,我在网上找不到任何使用 Mahout 进行数值数据分类的示例。
    • 我同意很难在网上找到示例,在我的作品中,我改编了我从 Mahout in Action 一书中获得的代码以及在线给出的一些代码。试试看这个:github.com/fredang/mahout-naive-bayes-example/blob/master/src/… 你应该能够只用数字版本来调整代码(你不需要使用文本分析器/标记器,这是对文本类数据进行分类的复杂事情)
    • 感谢您的参考!
    猜你喜欢
    • 2011-05-07
    • 2015-09-20
    • 2013-10-23
    • 2021-07-10
    • 2020-06-22
    • 1970-01-01
    • 2016-11-30
    • 1970-01-01
    • 2018-01-12
    相关资源
    最近更新 更多