首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Java中使用赋值器来使用org.apache.spark对PMML进行评分?

在Java中使用赋值器来使用org.apache.spark对PMML进行评分,可以按照以下步骤进行:

  1. 导入相关依赖:首先,需要在项目的构建文件(如pom.xml)中添加org.apache.spark和org.jpmml相关的依赖。
  2. 加载PMML模型:使用org.jpmml.evaluator模块中的PMMLUtil类,通过其静态方法load方法加载PMML模型文件。例如:
代码语言:txt
复制
PMML pmml = PMMLUtil.load(new File("path/to/pmml/model.pmml"));
  1. 创建Evaluator:使用org.jpmml.evaluator模块中的EvaluatorBuilder类,通过其静态方法build方法创建Evaluator对象。例如:
代码语言:txt
复制
Evaluator evaluator = new EvaluatorBuilder(pmml).build();
  1. 准备输入数据:根据PMML模型的输入字段,准备输入数据。可以使用org.jpmml.evaluator.InputField类的setValue方法设置输入字段的值。例如:
代码语言:txt
复制
List<InputField> inputFields = evaluator.getInputFields();
for (InputField inputField : inputFields) {
    inputField.setValue("inputFieldName", inputValue);
}
  1. 执行评分:调用Evaluator对象的evaluate方法进行评分。例如:
代码语言:txt
复制
Map<FieldName, ?> result = evaluator.evaluate();
  1. 获取评分结果:根据需要,可以从评分结果中获取相应的输出字段值。例如:
代码语言:txt
复制
List<OutputField> outputFields = evaluator.getOutputFields();
for (OutputField outputField : outputFields) {
    Object outputValue = result.get(outputField.getName());
    // 处理输出字段值
}

需要注意的是,以上步骤中的org.apache.spark和org.jpmml是常用的开源库,用于在Java中使用Spark和PMML进行数据处理和模型评分。在实际使用中,可以根据具体需求和环境选择合适的版本和配置。

推荐的腾讯云相关产品:腾讯云机器学习平台(ModelArts),该平台提供了丰富的机器学习和深度学习工具,支持PMML模型的导入和评分。详情请参考腾讯云ModelArts产品介绍:https://cloud.tencent.com/product/ma

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

风控模型及特征的上线部署方法

常见的离线部署方式: 1.用sql在数仓里部署,这种方式只适合逻辑回归(LR)传统评分卡,由于LR评分卡的跑分逻辑为每个特征对应评分的加总,所以可用sql实现这种逻辑(如下图所示),利用sql里的case...3)预测打分,这批用户进行打分,然后交给交给业务方使用。 这种方法因为在python环境里部署,所以对任何算法都适用,且实现起来简单,跟线下开发模型步骤类似。...常见的实时部署方式: 1.跨平台部署–PMML 线下我们开发模型是在python环境,那怎么把模型移植到线上的生产环境,例如java环境,这时候就要用到pmml的方法。...pmml是数据挖掘的一种通用规范,是使用XML格式描述我们生成的机器学习模型,简单说就是先在python环境里将模型转成pmml格式文件,然后用java代码加载读取这个模型做预测。...,用文本编辑可直接打开pmml文件查看里面的内容。

1.2K12

独家 | 机器学习模型应用方法综述

一次性训练 模型在应用前,无需进行连续的多次训练。通常情况下,在数据科学家完成对模型的特定训练之后,便可进行应用,待模型性能无法满足使用要求时,再进行更新。...例如:像SAP这样的应用程序能够利用PMML标准的某些版本,对于CRM应用程序(PEGA)也是如此。...POJO和MOJO是两种H2O.ai的导出格式,他们旨在为Java应用程序提供一个易于嵌入的模型。然而,这两种导出格式只在H2O平台上使用。...如果发生重大事件,有可能会获得新的分数,例如当客户呼叫联络中心时,客户流失评分又会是多少。在实时预测时,需要对这些因素进行加权,以克服由于进行实时预测而产生的复杂性和成本影响。...还有许多方法可以将模型应用至评分产品: 取决于数据库集成:诸多数据库供应商为在数据库绑定高级分析用例做出了重大努力,既可以直接集成Python或R代码,也可以导入PMML模型。

1.4K20
  • 【实战】Java如何跨语言调用PythonR训练的模型

    推荐阅读时间:10min~12min 主题:Java如何跨语言调用Python/R训练的模型 在 如何使用sklearn进行在线实时预测(构建真实世界可用的模型) 这篇文章,我们使用 sklearn...无论是 sklearn 还是 flask,都是用 Python 编写的,在工业界,我们经常会使用 Python 或 R 训练离线模型, 使用 Java 做在线 Web 开发应用,这就涉及到了使用 Java...也就是说我们可以通过 Python 或 R 训练模型,将模型转为 PMML 文件,再使用 Java 根据 PMML 文件构建 Java 程序。来看一张关于 PMML 用途的图片。 ?...一般离线部分常用 Python 的 sklearn、R 或者 Spark ML 训练模型。 在线部分是根据请求得到样本数据,这些数据采用与离线特征工程一样的方式来处理,然后使用模型进行评估。...导入 PMML进行评估 生成了 PMML 文件后,接下来我们要做的就是使用 Java 导入(加载)PMML文件。这里借助了 Java 的第三方依赖:pmml-evaluator。

    5.4K21

    将机器学习模型部署为REST API

    这些疑问,我们以前碰到过,通过不断的摸索,试验出了不同的复杂机器学习的上线方法,满足不同场景的需求。在这里把实践经验整理分享,希望大家有所帮助。...用此种方法也是要提供两个东西,模型文件和预测主类; 如果是Offline(离线)预测的,D+1天的预测,则可以不用考虑第1、2方式,可以简单的使用Rscript x.R或者python x.py的方式进行预测...具体实现方式是:用SOA调用Rserve的方式去实现,我们会在服务上部署好R环境和安装好Rserve,然后用JAVA写好SOA接口,调用Rserve进行预测; java调用Rserve方式见网页链接...关于模型 在这个例子,我整理了一个简单的Naives Bayes分类预测电影评论中发现的短语的情绪。 这些数据来自Kaggle比赛,电影评论的情感分析。...起初,我尝试使用多项式朴素贝叶斯分类预测5种可能类别的一种。但是,由于大多数数据的评级为2,因此该模型的表现不佳。我决定保持简单,因为本练习的主要内容主要是关于部署为REST API。

    3.3K20

    干货 | 一个数据分析师眼中的数据预测与监控

    广义线性回归,线性最小二乘和logistic回归,因其模型的可解释性,从诞生之日至如今依旧发挥着其不可替代的作用,金融风控评分卡的开发,医学患者生存期限的研究等。...这就需要将模型文件打包成PMML文件供Java调用,响应速度极快。 作为一名数据科学家,不仅要保证数据处理的效率和质量,也要关注模型本身的应用规范。...在实时预测模型,打包的PMML文件不仅要包含模型文件,还要包含数据的预处理过程,这就需要借助管道(Pipe)将原始数据的处理过程(编码,标准化,正则化等)和分类的训练过程串联,再将管道本身打包成PMML...管道的网格搜索还需注意:假设通过sklearn接口预先定义了分类,后利用管道包装了数据预处理过程和分类,那么在网格搜索时,参数赋值相比传统方式将有所改变。 定义分类: ? 定义管道: ?...Pipe的搜索方式: ? Python的help文档中指出了Pipe的参数赋值采取二级结构:(分类__参数:值),而非传统方式:(参数:值)。

    1.8K40

    解决PackagesNotFoundError: The following packages are not available from current c

    结论在进行Python数据科学和机器学习开发时,经常会遇到​​PackagesNotFoundError​​错误,提示某些包在当前渠道不可用。这可以通过添加正确的软件包渠道或安装来源解决。...接下来,我们创建了一个随机森林分类,并进行训练。...:深度神经网络(DNN)、卷积神经网络(CNN)、循环神经网络(RNN)等 在不同的机器学习平台和环境,​​nyoka​​包提供了不同导入和导出格式的支持,以适应各种需求。...(pmml_file)上述代码,我们使用​​nyoka.export_to_pmml()​​函数将训练好的模型导出为PMML格式,并使用​​nyoka.from_pmml()​​函数从PMML文件中导入模型...它提供了支持多种常见模型和平台的功能,使得模型在不同环境使用和迁移更加方便。通过使用​​nyoka​​包,我们可以轻松地将训练好的模型保存为可移植的格式,并在需要的时候进行导入和使用

    2.4K10

    大数据技术之_28_电商推荐系统项目_02

    所以对于实时推荐,当用户一个商品进行了评价后,用户会希望推荐结果基于最近这几次评分进行一定的更新,使得推荐结果匹配用户近期的偏好,满足用户近期的口味。   ...如果实时推荐继续采用离线推荐的 ALS 算法,由于 ALS 算法运行时间巨大(好几分钟甚至好十几分钟),不具有实时得到新的推荐结果的能力;并且由于算法本身的使用的是用户评分表,用户本次评分后只更新了总评分的一项...5.3.1 获取用户的 K 次最近评分   业务服务在接收用户评分的时候,默认会将该评分情况以 userId, productId, score, timestamp 的格式插入到 Redis 该用户对应的队列当中...为了避免热门标签特征提取的影响,我们还可以通过 TF-IDF 算法标签的权重进行调整,从而尽可能地接近用户偏好。   ...    // 1、实例化一个分词,用来做分词,默认按照空格进行分词(注意:org.apache.spark.ml._ 下的 API 都是针对 DF 操作的)     val tokenizer =

    4.4K21

    PMML实现机器学习模型的跨平台上线

    当我们需要将这个PMML的模型用于部署的时候,可以使用目标环境的解析PMML模型的库加载模型,并做预测。     ...可以看出,要使用PMML,需要两步的工作,第一块是将离线训练得到的模型转化为PMML模型文件,第二块是将PMML模型文件载入在线预测环境,进行预测。这两块都需要相关的库支持。 2....如果我们使用的是sklearn,那么可以使用sklearn2pmml这个python库做模型文件的生成,这个库安装很简单,使用"pip install sklearn2pmml"即可,相关的使用我们后面会有一个...加载PMML模型需要目标环境支持PMML加载的库,如果是JAVA,则可以用JPMML加载PMML模型文件。相关的使用我们后面会有一个demo。 3....有了PMML模型文件,我们就可以写JAVA代码读取加载这个模型并做预测了。

    3.1K51

    大数据技术之_24_电影推荐系统项目_06_项目体系架构设计 + 工具环境搭建 + 创建项目并初始化业务数据 + 离线推荐服务建设 + 实时推荐服务建设 + 基于内容的推荐服务建设

    6、电影评分部分,获取用户通过 UI 给出的评分动作,后台服务进行数据库记录后,一方面将数据推动到 Redis 群,另一方面,通过预设的日志框架输出到 Tomcat 的日志。   ...所以对于实时推荐,当用户一个电影进行了评价后,用户会希望推荐结果基于最近这几次评分进行一定的更新,使得推荐结果匹配用户近期的偏好,满足用户近期的口味。   ...如果实时推荐继续采用离线推荐的 ALS 算法,由于算法运行时间巨大,不具有实时得到新的推荐结果的能力;并且由于算法本身的使用的是评分表,用户本次评分后只更新了总评分的一项,使得算法运行后的推荐结果与用户本次评分之前的推荐结果基本没有多少差别...5.3.1 获取用户的 K 次最近评分   业务服务在接收用户评分的时候,默认会将该评分情况以 uid, mid, rate, timestamp 的格式插入到 Redis 该用户对应的队列当中,在实时算法...默认按照空格分词     val tokenizer = new Tokenizer().setInputCol("genres").setOutputCol("words")     // 用分词原始数据进行转换

    5K51

    总结一下模型工程化部署的几种方式

    我们可以将自己训练的机器学习模型打包成PMML模型文件的形式,然后使用目标环境的解析PMML模型的库完成模型的加载并做预测。...目前,大部分机器学习库都支持直接打包成PMML模型文件的相关函数,例如在Python的LightGBM库,XGBoost库,Keras库等,都有PMML的支持,直接使用相应的命令就可以生成,而在Java...一般来讲,使用PMML文件进行预测的过程如下: ? 由于其平台无关性,导致PMML可以实现跨平台部署,是企业中部署机器学习模型的常见解决方案。...实际上,我们使用TensorFlow Serving进行服务部署,一般需要2台以上机器,其中一台作为TensorFlow Serving的服务,这台服务是专门做模型部署和预测用,对于这台服务,一般我们建议使用...,业务服务会直接模型所在的服务发起服务调用,并得到模型预测的结果。

    2.6K11

    大数据技术之_28_电商推荐系统项目_01

    【实时推荐部分】   日志采集服务:通过利用 Flume-ng 业务平台中用户对于商品的一次评分行为进行采集,实时发送到 Kafka 集群。   ...【离线推荐部分】   1、离线统计服务从 MongoDB 中加载数据,将【商品平均评分统计】、【商品评分个数统计】、【最近商品评分个数统计】三个统计算法进行运行实现,并将计算结果回写到 MongoDB...【实时推荐部分】   2、Flume 从综合业务服务的运行日志读取日志更新,并将更新的日志实时推送到 Kafka ;Kafka 在收到这些日志之后,通过 kafkaStream 程序获取的日志信息进行过滤处理...,融合存储在 Redis 的用户最近评分队列数据,提交给实时推荐算法,完成对用户新的推荐结果计算;计算完成之后,将新的推荐结构和 MongDB 数据库的推荐结果进行合并。...5、商品评分部分,获取用户通过 UI 给出的评分动作,后台服务进行数据库记录后,一方面将数据推动到 Redis 群,另一方面,通过预设的日志框架输出到 Tomcat 的日志

    3K30

    转︱机器学习算法线上部署方法

    这些疑问,我们以前碰到过,通过不断的摸索,试验出了不同的复杂机器学习的上线方法,满足不同场景的需求。在这里把实践经验整理分享,希望大家有所帮助。...一、总结来说,大体会区分这三种场景,请大家对号入座,酌情使用 如果是实时的、小数据量的预测应用,则采用的SOA调用Rserve或者python-httpserve进行应用;这种应用方式有个缺点是需要启用服务进行预测...用此种方法也是要提供两个东西,模型文件和预测主类; 如果是Offline(离线)预测的,D+1天的预测,则可以不用考虑第1、2方式,可以简单的使用Rscript x.R或者python x.py的方式进行预测...二、如何转换PMML,并封装PMML 大部分模型都可以用PMML的方式实现,PMML使用方法调用范例见: jpmml的说明文档:GitHub - jpmml/jpmml-evaluator: Java...具体实现方式是:用SOA调用Rserve的方式去实现,我们会在服务上部署好R环境和安装好Rserve,然后用JAVA写好SOA接口,调用Rserve进行预测; java调用Rserve方式见网页链接

    1.2K20

    机器学习算法线上部署方法

    这些疑问,我们以前碰到过,通过不断的摸索,试验出了不同的复杂机器学习的上线方法,满足不同场景的需求。在这里把实践经验整理分享,希望大家有所帮助。...一、总结来说,大体会区分这三种场景,请大家对号入座,酌情使用 如果是实时的、小数据量的预测应用,则采用的SOA调用Rserve或者python-httpserve进行应用;这种应用方式有个缺点是需要启用服务进行预测...用此种方法也是要提供两个东西,模型文件和预测主类; 如果是Offline(离线)预测的,D+1天的预测,则可以不用考虑第1、2方式,可以简单的使用Rscript x.R或者python x.py的方式进行预测...二、如何转换PMML,并封装PMML 大部分模型都可以用PMML的方式实现,PMML使用方法调用范例见: jpmml的说明文档:GitHub - jpmml/jpmml-evaluator: Java...具体实现方式是:用SOA调用Rserve的方式去实现,我们会在服务上部署好R环境和安装好Rserve,然后用JAVA写好SOA接口,调用Rserve进行预测; Java调用Rserve方式见网页链接

    2.6K100

    Quarkus改造Pmml模型项目异常记录(16)

    前言 这个项目是一个PMML模型跑分系统,在使用quarkus架构其改造的过程,在加载PMML模型时,抛了一个异常,在网上找了很多资料都没有解决,pmml项目的issue也没有找到相关的内容,故在此记录下...jar包带的一个依赖stax-api导致的问题,实际上并没有使用到这个依赖,所以排除即可 com.aliyun.oss...两者皆有优点,前者(例如DOM)允许对文档进行随机访问,而后者(例如SAX)需要较小的内存开销,并却通常更快。这两个方法可以认为是正好相反。...在StAX,程序的切入点是表示XML文档中一个位置的光标。应用程序在需要时向前移动光标,从解析拉出信息。...与基于事件的API(SAX)将“数据推送”给应用程序不同的是,SAX需要应用程序维持时间间的状态,以保持文档内的位置信息。

    10520

    Note_Spark_Day07:Spark SQL(DataFrame是什么和数据分析(案例讲解))

    1、Spark 内核调度 讲解Spark框架如何1个Job作业进行调度执行,将1个Job如何拆分为Task任务,放到Executor上执行。...._ 电影评分数据分析 分别使用DSL和SQL 03-[了解]-SparkSQL 概述之前世今生 SparkSQL模块一直到Spark 2.0版本才算真正稳定,发挥其巨大功能,发展经历如下几个阶段...​ 使用电影评分数据进行数据分析,分别使用DSL编程和SQL编程,熟悉数据处理函数及SQL使用,业务需求说明: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6ypUaVpL...组合数据进行聚合,评分平均值和评分的次数 .agg( round(avg($"rating"), 2).as("avg_rating"), // count($"user_id")...// 数据不在使用时,释放资源 resultDF.unpersist() 18-[掌握]-电影评分数据分析之保存结果至CSV文件 将结果DataFrame保存值CSV文件,文件首行为列名称

    2.3K40

    干货 | 机器学习算法线上部署方法

    这些疑问,我们以前碰到过,通过不断的摸索,试验出了不同的复杂机器学习的上线方法,满足不同场景的需求。在这里把实践经验整理分享,希望大家有所帮助。...如果是实时的、小数据量的预测应用,则采用的SOA调用Rserve或者python-httpserve进行应用;这种应用方式有个缺点是需要启用服务进行预测,也就是需要跨环境,从Java跨到R或者Python...用此种方法也是要提供两个东西,模型文件和预测主类; 如果是Offline(离线)预测的,D+1天的预测,则可以不用考虑第1、2方式,可以简单的使用Rscript x.R或者python x.py...具体实现方式是:用SOA调用Rserve的方式去实现,我们会在服务上部署好R环境和安装好Rserve,然后用JAVA写好SOA接口,调用Rserve进行预测; java调用Rserve方式见网页链接...Class,直接在JAVA先获取数据,数据处理,把处理好的数据存成一个数组,然后调用模型Class进行预测。

    2.9K61

    PMML实现机器学习模型的跨平台上线

    当我们需要将这个PMML的模型用于部署的时候,可以使用目标环境的解析PMML模型的库加载模型,并做预测。     ...可以看出,要使用PMML,需要两步的工作,第一块是将离线训练得到的模型转化为PMML模型文件,第二块是将PMML模型文件载入在线预测环境,进行预测。这两块都需要相关的库支持。 2....如果我们使用的是sklearn,那么可以使用sklearn2pmml这个python库做模型文件的生成,这个库安装很简单,使用”pip install sklearn2pmml”即可,相关的使用我们后面会有一个...加载PMML模型需要目标环境支持PMML加载的库,如果是JAVA,则可以用JPMML加载PMML模型文件。相关的使用我们后面会有一个demo。 3....有了PMML模型文件,我们就可以写JAVA代码读取加载这个模型并做预测了。

    37820

    直播回顾 | 一文带你看透模型开发与部署

    模型开发是算法建模人员历史数据进行建模,数据是在数据集市或数据仓库,数据完整也容易获取,建模人员常用的编程语言是 Python、Spark,可以应用各种python算法库等。...而工程研发人员擅长的编程语言是Java或C++等,这就意味着研发人员程序的执行效率以及系统代码的可维护性要求更高,同时这也是模型部署较为困难的原因。...PMML 是对传统机器学习的模型定义的一个标准,支持 LR、决策树、贝叶斯、K近邻,评分卡等模型。...经过长时间的分析与验证,开发出模型,然后找工程研发人员部署与应用需要,协调服务资源,最后将模型部署成可以供其他业务系统调用的一种服务。...模型接口调试: 模型部署到模型仓库之后,会自动生成一个对外可用的API地址,外部系统可以通过该API地址调用模型,为了验证模型是否正常,或者模型的推理进行调试,我们提供一个接口调试界面,在界面,填写模型的入参

    22850
    领券