我是PMML的新手:预测模型标记语言(www.dmg.org),我想知道是否存在某种Java支持(开源/专业)来创建/解析PMML文件。

最初,我只想到可以从Java环境中以编程方式创建/解析PMML文件的可能性。

我一直在“搜寻”,发现了几种可能性:

开源:

  • jpmml。 (PMML 3.2)。

  • 从Java。
  • JDM。 javax.datamining。好像死了?有人有更多信息吗?

  • 专业的。
  • Zementis(http://www.zementis.com/pmml_tools.htm)。

  • DIY
  • 使用XML Java库并为自己构建PMML文件的解析器/编写器

  • 感谢您的所有意见。

    提前致谢

    奥斯卡奖

    最佳答案

    您应该意识到答案可能取决于您要使用的MODEL-ELEMENT。创建PMML和解析PMML的最佳选择也很可能来自不同的软件包。我假设通过“创建PMML”,您指的是文档而不是模型。我从未听说过有人将自动模型拟合与执行集成在一起,但也许它已经存在。当然,可以使用SOAP传递PMML模型。

    我无法与其他项目交流,但是Zementis提供的产品Adapa仅用于PMML的执行。该产品假定存在一个模型拟合应用程序,该应用程序将通过将拟合模型导出到PMML中来进行创建。已经有很多完善的模型拟合应用程序,因此我认为这是一个合理的假设。

    我使用的版本(3.6)通常很快,但是如果没有特别大的堆,它就无法处理典型的随机森林大小(500棵以上的树木)的合奏。我认为他们可能已在较新版本中修复了此问题。尽管没有广告,但是Zementis似乎没有提供一些模型,即文本模型,序列,基线模型或时间序列(对于PMML标准,目前它们仅具有指数平滑功能)。我的版本也没有K-Nearest Neighbors,但我听说有更多的最新版本。

    除非您正在考虑整合试行和执行(在这种情况下,您应该考虑在线学习),否则我的建议是依次考虑以下问题:

  • 我感兴趣的模型类型是什么?
  • 我更喜欢在哪个应用程序中构建模型?
  • 最后,我将如何执行此操作,以及在这方面有什么要求(Web服务,云,性能等)?

  • 如果您查看DMG组的members列表,您会发现许多商业供应商,它们要么在供应方(例如SAS,SPSS,Togaware,Rapid-I),要么在需求方(如此之多)。

    在您的列表中,您也没有提到Weka,而是they also execute some PMML models,还有R/Java based solutions,因此您可以在Java环境中执行PMML->R imports (see fileToXMLNode)(但是您也可以执行R)。

    最后,如果您有一个非常具体的模型,并且了解“执行它”的数学意义,那么构建自己的需求就不会太困难。

    关于Java对PMML的支持,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7280845/

    10-09 08:28