分享终极福利:从建模到评分的旅程抽象的
找到正确的模型来预测新数据的新结果是一项重要的成就。 但很多时候,这是旅程中的一步,最终目标是与更多受众分享模型的预测能力。 JMP Pro 拥有许多工具来促进预测模型的拟合、比较和选择。 JMP Pro 13 添加了 Formula Depot:一种收集模型、将其应用到新表以及访问模型比较和刻画器平台的有效方法。 为了帮助将模型部署到生产中,Formula Depot 还可以将它们转换为多种不同编程语言的评分代码。 在本教程中,我们使用房地产案例研究来说明预测建模工作流程。 我们将编译数据、准备建模数据、生成预测模型、将模型发布到 Formula Depot,并探索和选择最佳模型。 然后,我们将生成评分代码来支持创建可以“当场”计算房价的 Web 应用程序。我们还将探索对数据进行评分的不同方法,并概述当前的部署架构。
教程内容
本教程的最终结果是在 AWS 上托管的具有住房预测功能的 Web 应用程序。 你可以找到它这里。 以下是与本教程相关内容的解释,可以在本页的附件中找到。
客户端层(参见附件 RedFinWeb.zip)使用引导程序对于用户界面和开放层用于映射功能。它是作为托管在的静态网站实现的AWS S3 ;该界面使用定制的 HTML 表单收集用户数据输入;这些被用作模型评估中的输入值,这是由休息调用计算层。
计算层(参见附件 RedFinServerless.zip)使用两个 Amazon 服务: API网关是 REST 调用的入口点,映射到 AWS拉姆达服务。 Lambda 是 Amazon 的实现无服务器架构范例,也称为功能即服务 (FaaS)。 无服务器以低管理成本为无状态、低延迟、高吞吐量应用程序提供大规模性能,使其非常适合对应用程序进行评分,根据定义,这些应用程序是:尴尬地平行。
Lambda 服务是 JMP 生成的 Python 评分代码的最终部署目标。 可以使用 AWS 服务手动完成应用程序部署管理控制台,但为了简化流程,我们建议使用众多可用的开源包装器之一。 在本练习中,我们使用了无服务器应用框架。
请注意 Python 代码如何捕获特征工程任务(聚类、分箱、插补)以及在它们之上构建的模型。 这使得用于创建模型的相同原始数据源也可用于对生产中的新数据进行评分——这是构建可维护的分析管道时的一个重要考虑因素。
附件中您还会发现Jupyter笔记本(RedFinNotebook.zip) 用于在部署前测试模型; JMP 为住房场景生成的 Python 模型集合 (RedFinModels.zip);以及原始 JMP 表,其中包含数据清理和生成模型的脚本。 (RedFinData.zip)。 最后一个 .zip 文件还包括一个电子表格,该电子表格说明了如何直接调用 REST 后端以由其他应用程序(在本例中是从 Excel 公式)进行评分。
参考
数据访问和操作预测建模回复:分享终极恩惠:从建模到评分的旅程这个想法是,网页是用户界面,您可以通过它获取需要评分的数据 - 例如,用户键入一些值的对话。 提交值后,事件处理程序就会收集并调用 JMP 生成的 JavaScript 模型代码。 结果将显示回给用户。 主要好处是无需回击服务器,因此具有尽可能高的可扩展性。 缺点是您一次只能对一到几个观察结果进行评分 - 但根据用例,这不是问题。
举个具体的例子,看看这个:
http://jmp.valentine.s3-website-us-east-1.amazonaws.com/
这里,网页生成的不是用户输入,而是需要被分类为曲线内部或外部的随机点。 分类是通过 JMP 神经网络模型完成的。 可视化是使用 D3.js 完成的。
另一个示例展示了如何使用 Web 应用程序从用户收集数据、对输入进行评分并返回结果,可在附加到的 Scoring_examples.zip 文件中找到。 2016年演讲。
文件夹“WebApp”作为一个完整的 Web 应用程序阐释了这一概念。 它被设计供现场研究植物学家使用,试图根据测量结果对新的鸢尾花标本进行分类(我知道,我知道,多么原始...... 
回复:分享终极恩惠:从建模到评分的旅程你好,
我感谢您的帮助。您上次建议在 HTML 后面的浏览器中运行...
您能给我更多具体信息或链接到可以帮助我实现切实目标的内容吗?
谢谢,
吉姆
回复:分享终极恩惠:从建模到评分的旅程你好@jgrayson ,
它位于您的安装目录中的 Resources/Scoring 下。 例如在我的 Windows 机器中,它位于
C:\Program Files\SAS\JMPPRO\16\Resources\Scoring\JavaScript
回复:分享终极恩惠:从建模到评分的旅程你好,
你能告诉我在哪里可以找到 javascript 的“jmp_score”吗?
谢谢,
吉姆·格雷森