【问题标题】:How to use Weka model on Spark如何在 Spark 上使用 Weka 模型
【发布时间】:2016-08-03 06:32:56
【问题描述】:

我是 spark 和 scala 的新手。 我有 10 个使用 WEKA 训练的机器学习模型。

Now, i am moving my application to spark and want to use these models.
How can i use them into spark?

对于预测,选择哪种模型取决于即将到来的数据类型。 我应该如何设计我的应用程序,这样我就不必将所有 10 个应用程序一起加载到内存中?

任何帮助将不胜感激。

【问题讨论】:

    标签: scala apache-spark weka bigdata


    【解决方案1】:

    首先,weka 中的classifiers 不是serializable,因此您只能以一种棘手的方式应用您的模型。

    另一方面,不清楚为什么要在 apache spark 中应用基于 weka 的模型,因为您还可以使用 MLLib (http://spark.apache.org/docs/latest/ml-guide.html) 训练基于 spark 的 ML 算法。 它有据可查,您可以找到很多有用的示例。

    最后,我在reuters数据集上对比了weka J48决策树和spark决策树模型的表现。 这是一个文档分类问题,我以 10 倍交叉验证的方式对模型进行了评估。 weka的F1成绩结果:

    (船舶,0.5751879699248121)
    (粮食,0.7714285714285716)
    (货币外汇,0.7308567096285064)
    (玉米,0.7334851936218679)
    (贸易,0.7641325536062378)
    (粗,0.7815049864007253)
    (赚取,0.9310115645354248)
    (小麦,0.7661870503597122)
    (acq, 0.8078484438430312)
    (兴趣,0.6561743341404359)

    以及火花的结果:

    (船舶,0.5307018372123027)
    (粮食,0.7606432455706257)
    (货币外汇,0.7476899173974012)
    (玉米,0.7210280866934613)
    (贸易,0.7607140827384508)
    (粗,0.7450426425908848)
    (赚取,0.9337615148649243)
    (小麦,0.751148372254634)
    (acq, 0.8009280204333529)
    (利息,0.6837952003315322)

    如您所见,这两种解决方案之间并没有太大的不同。 所以,我推荐你应用apache spark mllib!

    【讨论】:

    • 请您详细说明“棘手的方法”。我需要在 Spark 中使用 weka 作为研究项目。但正如您所说,Classifier 类不扩展 Serializable。我怎样才能做到这一点?谢谢。
    猜你喜欢
    • 2012-12-21
    • 2013-03-24
    • 2020-04-06
    • 2016-06-27
    • 2018-04-10
    • 2016-05-22
    • 2018-08-26
    • 2018-06-20
    • 2017-07-31
    相关资源
    最近更新 更多