pmml什么是pmml_什么是PMML?

pmml什么是pmml

2010年9月28日- 在“ 相关主题”中 ,添加了指向新PMML文章的链接:“在PMML中表示预测性解决方案:从原始数据转变为预测”

PMML简介

如果有人问您今天是否使用过预测分析,您可能会回答“否”。 但事实是您可能不知不觉地每天使用它。 每次您刷卡或在线使用信用卡时,预测分析模型都会检查该交易是否具有欺诈性。 如果您在线租借DVD,则可能是向您推荐特定电影的预测分析模型。 事实是,预测分析已经是您生活中不可或缺的一部分,其应用必将在将来为您提供更多帮助。

当桥梁,建筑物,工业过程和机械中的传感器生成数据时,预测解决方案势必会提供一个更安全的环境,在该环境中,预测会在实际发生故障之前提醒您注意潜在的故障和问题。 像重症监护病房的病人一样,传感器也用于监视人类。 IBM®和安大略大学技术学院目前正在合作实施数据分析和预测解决方案,以监测早产儿,其中生物医学读数可用于在通常观察到的24小时之前检测到威胁生命的感染。

但是,仅凭预测分析就能说明一切吗? 这取决于。 开放标准绝对是其中的一部分。 为了使您从预测解决方案和数据分析中完全受益,系统和应用程序需要能够通过遵循标准轻松地交换信息。 PMML允许在应用程序和系统之间共享预测分析模型。

主要分析供应商采用PMML是公司拥抱互操作性的一个很好的例子。 IBM,SAS,Microstrategy,Equifax,NASA和Zementis都是数据挖掘组织(DMG)的一部分,该组织是PMML的制定委员会。 诸如KNIME和Rapid-Iare之类的开源公司也属于委员会的一部分。 PMML在这里塑造预测分析的世界,因此使预测世界对您来说是一个更好的地方。

PMML基础

PMML是用于表示数据挖掘模型的事实上的标准语言。 预测分析模型和数据挖掘模型是用于指代数学模型的术语,这些数学模型使用统计技术来学习隐藏在大量历史数据中的模式。 预测分析模型使用在训练中获得的知识来预测新数据中已知模式的存在。 PMML使您可以轻松地在不同应用程序之间共享预测分析模型。 因此,您可以在一个系统中训练模型,以PMML表示模型,然后将其移至另一个系统,在该系统中可以使用它来预测例如机器故障的可能性。

PMML是Data Mining Group的智慧结晶,Data Mining Group是由供应商主导的委员会,由商业和开源分析公司组成(参见参考资料中的链接)。 因此,当今大多数领先的数据挖掘工具都可以导出或导入PMML。 PMML是过去10年发展起来的成熟标准,它不仅可以代表用于从数据中学习模式的统计技术,例如人工神经网络和决策树,还可以代表原始输入数据的预处理和后处理。模型输出(请参见图1 )。

图1. PMML结合了数据预处理和数据后处理以及预测模型本身
PMML结合了数据预处理和数据后处理以及预测模型本身

PMML文件的结构遵循通常用于构建预测解决方案的步骤,包括:

  1. 数据字典是数据分析阶段的产物,可识别并定义哪些输入数据字段对于解决当前问题最有用。 这些可以包括数字,序数和分类字段。
  2. 挖掘模式定义了处理缺失值和异常值的策略。 这非常有用,因为每当模型投入使用时,必填的输入数据字段可能经常为空或显示错误。
  3. 数据转换定义了将原始输入数据预处理为派生字段所需的计算。 派生字段(有时称为特征检测器 )组合或修改输入字段,以获得更多相关信息。 例如,为了预测用于停止汽车的制动压力,可以使用预测模型将外部温度和水的存在(下雨了吗?)用作原始输入。 派生场可以结合这两个场来检测道路上是否存在冰。 然后,将冰场用作模型的直接输入,以预测停止所需的制动压力。
  4. 模型定义定义了用于构建模型的结构和参数。 PMML涵盖了多种统计技术。 例如,为了表示神经网络,它定义了所有神经层以及神经元之间的连接权重。 对于决策树,它定义了所有树节点以及简单谓词和复合谓词。
  5. 输出定义了预期的模型输出。 对于分类任务,输出可以包括预测的类以及与所有可能的类相关联的概率。
  6. 目标定义了要应用于模型输出的后处理步骤。 对于回归任务,此步骤允许将输出转换为人类可以轻松解释的分数 (预测结果)。
  7. 模型说明定义了将测试数据通过模型(与训练数据相对)时获得的性能指标。 其中包括场相关性,混淆矩阵,增益和提升图以及接收器工作特性(ROC)图。
  8. 模型验证定义了一组输入数据记录的样本以及预期的模型输出。 这是非常重要的一步,因为无论何时在应用程序之间移动模型,都需要通过匹配测试。 这样可以确保新系统在显示相同输入时产生与旧系统相同的输出。 只要是这种情况,就认为模型已经过验证并可以投入使用。

鉴于PMML允许完整地表达预测性解决方案(包括数据预处理,数据后处理和建模技术),因此其结构和主要元素反映了上述八个步骤也就不足为奇了。

互操作性:在应用程序之间共享解决方案

在应用程序之间共享模型是预测分析成功的关键。 但是,要能够共享模型,您首先需要构建它。

建筑模型

模型构建由涉及详尽数据分析阶段的几个阶段组成。 在此阶段,您将原始数据切片和切块,然后选择最重要的信息以进行模型构建(这将产生上面步骤1中定义的数据字典)。 您还可以创建派生字段,以新的和创造性的方式转换和合并原始数据( 第3步 )。 然后将原始字段和派生字段用于模型训练。 作为此过程的结果,您在分析阶段查看的数据字段中只有一小部分实际上用于构建最终模型( 步骤4 )。 构建模型后,将根据测试数据集来评估模型性能( 步骤7 )。 整个过程可能持续数周,具体取决于您要解决的问题的复杂性。 通常,您有时会使用不同的统计技术来构建多个模型,然后将一个模型与另一个模型进行比较。 最终模型可能包括单个技术或几种技术的混合,从而导致PMML文件包含多个模型。

模型部署

有效地使用预测解决方案的模型部署通常是由与模型构建过程非常分离的应用程序完成的任务。 部署环境通常与预测解决方案要监视的系统和流程紧密集成。 但是,由于可以使用更快的Internet连接,因此这些系统在物理上不需要关闭。 可以通过Internet与Web服务轻松完成集成。 在这种情况下,您可能会受益于云计算的出现,在云计算中,您可以根据需要扩展处理能力,以满足实时需求并处理大量数据。

当您将预测分析模型投入使用时,通常希望它能够工作数月或数年,直到需要对其进行更新为止,这很可能是由于性能下降所致。 在这种情况下,将替代旧模型构建并部署另一模型。 但是,经常需要经常更新模型,这强调了对互操作性和开放标准的需求。

模型分享

没有像PMML这样的语言,由于不同的系统以不同的方式表示其计算,因此部署预测解决方案既困难又麻烦。 每次将模型从一个系统移动到另一个系统时,都会经历一个漫长的翻译过程,这容易产生错误和错误陈述。 使用PMML,过程非常简单。 最近,我惊讶地发现一家大型金融公司花了六个月到一年的时间来部署他们的数据挖掘科学家努力构建的模型。 使用PMML,您可以在几分钟内完成部署。

从应用程序A到B到C,PMML允许轻松地共享预测解决方案,并在模型构建阶段完成后投入使用。 例如,你可以建立在IBM SPSS统计模型,并从云计算,您可以在达帕部署,在Zementis预测的决策平台(见立即受益相关信息的链接)。 或者,您可以将其移动到IBM InfoSphere™,该数据库将位于数据仓库附近。 此外,您可以将其移至KNIME,这是一种开放源代码工具,可用于构建和可视化德国康斯坦茨大学的数据流。 这就是PMML的强大功能:实现应用程序之间模型和解决方案的真正互操作性。 PMML还允许您保护最终用户免受与统计工具和模型相关的复杂性的影响。 如今,您可以从Microsoft®Office Excel中直接从Zementis ADAPA平台中部署的预测模型中受益:只需选择数据并单击Score

接下来,我将说明预测分析和PMML在称为预测维护的领域中的应用。

预测性维护:PMML和数据挖掘的应用

顾名思义,预测性维护涉及能够在故障和事故发生之前维护或更改材料或过程,这是确保安全的明确方法。 由于可以使用小型且经济高效的传感器来报告桥梁和建筑物等结构的当前状态,以及能源变压器,水和气泵,闸门和阀门等机械的当前状态,因此这一切皆有可能。

我很高兴从事一个涉及早期发现旋转设备故障的项目。 如果没有预测性的维护,您必须事后处理损坏的设备。 在工业生产线上,这意味着要停止整个操作,直到机器被固定或更换为止。 通过预测性维护,您可以安排将要提前中断的设备的修理或更换,例如在生产时间短时或作为计划维护周期的一部分。 为了及早发现设备故障,我和我的团队在早期就面临挑战。 原始输入数据仅包含每小时捕获几秒钟的振动信号。 鉴于许多旋转单元(和传感器)在一个机架上组装在一起,由于邻近设备的干扰,信号质量受到了影响。

尽管存在干扰问题,我们仍然能够使用数据挖掘和分析来成功消除噪声。 为此,我们主要使用R,这是一个支持PMML的开源统计软件包。 然后,我们使用IBM SPSS Statistics建立了几个模型。 最终模型是一个神经网络,可以高度准确地预测设备故障。 鉴于该解决方案完全以PMML表示,我们可以轻松地将其部署在已经安装在客户现场的Zementis ADAPA平台中。 然后,我们将重点放在确保传感器输入能够按预期到达我们的解决方案方面的剩余挑战。 我们还确信,该模型生成的预测将正确地用作工厂车间实施的维护过程和准则的一部分。

使用预测分析模型作为监视工具,可以防止发生事故。 通过在发生故障之前向您发出警报,预测性解决方案可以确保环境更安全。 对于化学和石油工业,预测分析可以并且必须用作围绕石油钻探和勘探的安全措施中的另一种预防工具。

汇出PMML

PMML很容易从许多统计工具中导出。 如上所述,顶级的分析公司随产品一起导出和导入PMML文件。 例如,在IBM SPSS Statistics中,您可以通过选择所有适当的模型参数之后选择将模型导出为XML文件(PMML基于XML)来导出PMML模型。 对于神经网络模型,典型参数说明了网络中要使用的层和神经元的数量。 完成此阶段后,在进行模型训练之前,请选择“ 导出”选项卡以保存模型。 将解决方案另存为PMML文件是一种很好的做法,即使它不是最终的。 这使您可以保留PMML记录,以记录最终模型之前进行的所有尝试。 您和团队中的其他人可以使用此记录来确定参数和实践的最佳选择。

深入了解PMML

既然您知道什么是PMML以及它为什么重要,现在该深入了解该语言本身了。 如上所述,其结构反映了通常用于构建预测解决方案的八个步骤,从定义“数据字典”步骤中的原始输入数据字段到验证模型是否已如“模型验证”中正确地部署步。

清单1显示了具有三个字段的解决方案的PMML元素DataDictionary的定义:名为Value的数字输入字段,名为Element的分类输入字段和名为Risk的数字输出字段。

清单1. DataDictionary元素
<DataDictionary numberOfFields="3">
    <DataField dataType="double" name="Value" optype="continuous">
        <Interval closure="openClosed" rightMargin="60" />
    </DataField>
    <DataField dataType="string" name="Element" optype="categorical">
        <Value property="valid" value="Magnesium" />
        <Value property="valid" value="Sodium" />
        <Value property="valid" value="Calcium" />
        <Value property="valid" value="Radium" />
    </DataField>
    <DataField dataType="double" name="Risk" optype="continuous" />
</DataDictionary>

请注意,对于字段Value ,间隔定义了从负无穷大到60的有效值的范围。超过60的值被定义为无效。 (虽然这里未显示,但您使用PMML元素MiningSchema定义了对无效和缺失值的适当处理。)鉴于字段Element是类别的,因此有效值已明确列出。 如果此特定字段的数据馈送包含元素Iron ,则该元素将被视为无效值。

图2显示了神经网络模型的图形表示,其中输入层由3个神经元组成,隐藏层,2个神经元和输出层是单个神经元。 如您所料,PMML能够完全代表这样的结构。

图2.一个简单的神经网络模型,其中在计算预测之前,数据要经过一系列层
一个简单的神经网络模型,在该模型中,数据在计算预测之前先经过一系列层

清单2显示了隐藏层及其神经元的定义,以及来自输入层(0、1和2)中神经元和隐藏层(3和4)中神经元的连接权重。

清单2.在PMML中定义神经层及其神经元
<NeuralLayer numberOfNeurons="2">
    <Neuron id="3" bias="-3.1808306946637">
        <Con from="0" weight="0.119477686963504" />
        <Con from="1" weight="-1.97301278112877" />
        <Con from="2" weight="3.04381251760906" />
    </Neuron>
    <Neuron id="4" bias="0.743161353729323">
        <Con from="0" weight="-0.49411146396721" />
        <Con from="1" weight="2.18588757615864" />
        <Con from="2" weight="-2.01213331163562" />
    </Neuron>
</NeuralLayer>

PMML不是火箭科学。 它的复杂性反映了它所代表的建模技术的复杂性。 实际上,它确实可以揭示预测分析中许多人的秘密和黑匣子。 使用PMML,任何预测解决方案都由相同的语言元素以相同的顺序表示。

在公司内部,PMML不仅可以用作应用程序之间的通用语言,还可以用作部门,服务提供商和外部供应商之间的通用语言。 在这种情况下,它成为为交换预测解决方案定义一个单一而清晰的过程的标准。

结论

PMML支持即时部署预测解决方案。 它是代表预测分析模型的事实上的标准,并且目前得到所有顶级商业和开源统计工具的支持。 随着更多传感器的部署和数据的生成,预测分析和开放标准(例如PMML)是充分理解这一切的关键。 欺诈检测,电影推荐,挽救生命的医疗解决方案以及预测性维护只是可能的一些例子。 因此,卷起袖子开始工作吧!


翻译自: https://www.ibm.com/developerworks/xml/library/ba-ind-PMML1/index.html

pmml什么是pmml

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值