Hadoop 将Mahout模型输出导出为Weka输入

Hadoop 将Mahout模型输出导出为Weka输入,hadoop,weka,mahout,decision-tree,Hadoop,Weka,Mahout,Decision Tree,我想使用Mahout决策树训练过程的输出模型作为基于Weka的分类器的输入模型 由于基于数百万条训练记录的复杂决策树的训练对于单节点Weka分类器几乎是不切实际的,因此我想使用Mahout来构建模型,例如使用 虽然上述算法在训练时可能会出现问题,但在一台机器上使用Weka进行预测相当简单 在Mahout上,说明导入的数据格式包括Weka ARFF格式,但不用于导出 是否可以使用Mahout中的一些现有实现来培训将在生产中使用的基于简单Weka的系统的模型?我认为不可能按照您的要求执行:.arff

我想使用Mahout决策树训练过程的输出模型作为基于Weka的分类器的输入模型

由于基于数百万条训练记录的复杂决策树的训练对于单节点Weka分类器几乎是不切实际的,因此我想使用Mahout来构建模型,例如使用

虽然上述算法在训练时可能会出现问题,但在一台机器上使用Weka进行预测相当简单

在Mahout上,说明导入的数据格式包括Weka ARFF格式,但不用于导出


是否可以使用Mahout中的一些现有实现来培训将在生产中使用的基于简单Weka的系统的模型?

我认为不可能按照您的要求执行:.arff是一种数据格式,导入/导出菜单中的所有其他选项也是如此。事实上,Weka可以保存/加载的分类器是使用java的
可序列化
接口写入文件的Weka的java
分类器
对象。与其说它们是可移植的树,不如说它们是比创建它们的JVM更持久的Java对象。因此,要想做您想要做的事情,Mahout或Weka必须能够生成/读取彼此的代码,而这不是我能找到的任何文档


我的经验是,有数百万条训练记录(每个记录由45个数字特征/列组成),使用默认选项的Weka随机林实现非常快(在单个2.26GHz内核上以秒为单位运行),因此可能不需要使用Mahout。不过,您的数据集可能会有不同的结果

关于Weka中的随机林,您可能是对的,但它的内存需求并不小,而且其他算法的内存需求更差。我真的很喜欢Mahout训练的轻松,但不喜欢预测时间太慢。你看过这个吗?您可以在weka中使用它,链接上的碎片表明RF的这种实现在CPU时间和内存上更容易实现。我自己还没有测试过,也找不到任何东西来验证它的准确性,但是你可以很容易地用这个和默认RF实现中的一些数据做一个小测试,看看你的结果是否具有可比性。链接不错,但它只显示了在Java和单机上证明Weka的问题点。只要数据相对较小,它就可以工作。Mahout的承诺是允许解决更大规模的问题。我们如何才能将这些“马”和“象”结合起来,共同构建一个真实的大规模应用程序。@伙计,这个链接在一定程度上弥补了您的这一差距:它将利用多个内核,并减少内存和CPU的使用。然而,我不认为Mahout生产Weka会理解的模型是可能的。Weka使用的模型本质上是其自身源代码的实例(
序列化对象
)。当您尝试使用此RF或原始的weka实现时,是否遇到问题?Mahout,我读过,包括一些非hadoop的算法实现。也许这会给你想要的分类,同时仍然使用hadoop来构建分类器?