我是PMML的新手:预测模型标记语言(www.dmg.org),我想知道是否存在某种Java支持(开源/专业)来创建/解析PMML文件。
最初,我只想到可以从Java环境中以编程方式创建/解析PMML文件的可能性。
我一直在“搜寻”,发现了几种可能性:
开源:
从Java。
专业的。
DIY
感谢您的所有意见。
提前致谢
奥斯卡奖
最佳答案
您应该意识到答案可能取决于您要使用的MODEL-ELEMENT。创建PMML和解析PMML的最佳选择也很可能来自不同的软件包。我假设通过“创建PMML”,您指的是文档而不是模型。我从未听说过有人将自动模型拟合与执行集成在一起,但也许它已经存在。当然,可以使用SOAP传递PMML模型。
我无法与其他项目交流,但是Zementis提供的产品Adapa仅用于PMML的执行。该产品假定存在一个模型拟合应用程序,该应用程序将通过将拟合模型导出到PMML中来进行创建。已经有很多完善的模型拟合应用程序,因此我认为这是一个合理的假设。
我使用的版本(3.6)通常很快,但是如果没有特别大的堆,它就无法处理典型的随机森林大小(500棵以上的树木)的合奏。我认为他们可能已在较新版本中修复了此问题。尽管没有广告,但是Zementis似乎没有提供一些模型,即文本模型,序列,基线模型或时间序列(对于PMML标准,目前它们仅具有指数平滑功能)。我的版本也没有K-Nearest Neighbors,但我听说有更多的最新版本。
除非您正在考虑整合试行和执行(在这种情况下,您应该考虑在线学习),否则我的建议是依次考虑以下问题:
如果您查看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/