生成得分代码是为了在生产环境或您选定的其他框架中加快使用在 JMP 中构建的模型。许多平台都向“公式存储库”发布预测公式;不过,并不是所有预测公式都生成完整代码。代码可以是完整的,可以是代码片段,代码还可包括要求额外编程才可以实现的不受支持的函数。错误消息经常指示函数调用不受支持,需要在目标语言中进行进一步的编程。实现较为复杂的函数可能还需要特定于目标语言的逻辑库。下文中特定于语言的章节会对这些逻辑库进行说明。例如,您可以执行以下任务:
• 使用生成的 SAS 代码将模型部署到 SAS Model Manager 中。
• 使用生成的 SQL 代码通过 In-Database Scoring 扩充 ETL 过程。
• 借助用生成的 C 代码构建的应用程序创建用于数据变换管道的节点。
• 创建 Jupyter notebook,以使用生成的 Python 代码显示实时得分结果。
• 使用包括生成的 JavaScript 的 Web 应用程序支持用户对自己的数据评分。
对于 C、Python 和 JavaScript 语言,您必须在部署或编译生成的代码时包括 .h 文件之类的支持代码和实用程序库。这些文件在 JMP 安装文件夹的 Scoring 文件夹中提供。
提示:要在您的计算机上查找安装文件夹的位置,请使用 JSL 命令 Get Path Variable("$ALL_HOME/
Scoring");。
C 代码
生成的 C 得分代码必须编译为程序库,然后链接到应用程序中。您可以使用静态或动态链接方法。可以在您的 JMP 安装文件夹的 Scoring/C 文件夹中找到编译和链接所需的文件 jmp_lib.h、jmp_parms.h 和 jmp_score.h。
Python 代码
可以在您的 JMP 安装文件夹的 Scoring/Python 文件夹中找到运行 Python 得分应用程序所需的文件 jmp_score.py。部署模型时,将 jmp_score.py 复制到可执行得分代码所在的位置。
调用生成的代码对数据评分时,输入数据务必要采用与 JMP 生成的代码兼容的数据结构传递。Python 得分代码的输入和输出参数应该采用类似字典的类型。可通过键来存取和编写值,如 Spark 中的 DataFrame 行对象、Dask 和 Pandas 框架,或是标准的 Python“dict”类。
使用线性代数运算符或 Vec Quadratic 和 Design Norm 之类的高级运算符需要 NumPy Python 逻辑库。
JavaScript 代码
可以在 Scoring/JavaScrip 文件夹中找到运行 JavaScript 得分应用程序所需的文件 jmp_score.js。
SAS 代码
生成的代码片段(曾经包装在 PROC DS2 语句中)可用在包括 SAS In-Database Code Accelerator 在内的 SAS 应用程序中。该代码添加到“SAS 窗口”并且在代码之前的注释代码块中包括变量名映射代码段。在 DATA 步的末尾会使用删除命令删除与中间列关联的所有临时变量名。
提示:对于具有 ifmax 调用的模型(如分类响应的 Logistic 模型或神经网络模型),将临时变量声明移至 method run() 语句之前。
SQL 代码
曾经包装在 select 语句中的 SQL 代码片段可用在针对多数主要数据库服务器的 SQL 查询中。
注意:包含“placeholder”或“ERROR”的代码指示函数调用不受支持。