使用WhizzML和Python绑定自动化线性回归

邮寄人

这篇博文,第五篇我们的系列在六篇关于线性回归的文章中,重点关注那些希望使用编程语言自动化机器学习工作流的用户。如果您关注BigML博客,您可能已经熟悉beplay2网页登陆嗖嗖,Bbeplay2网页登陆igML的领域特定语言,用于自动化机器学习工作流,实现高级机器学习算法,并方便地与他人共享。WhizzML帮助开发人员创建机器学习工作流,并完全在云中执行它们。这避免了网络问题、内存问题和计算能力不足,同时充分利用了WhizzML内置的并行化功能。如果您还不熟悉WhizzML,我们建议您阅读我们今年夏天发布的关于如何使用WhizzML的一系列文章创建WhizzML脚本s:第一部分,第二部分第三部分快速发现好处。

2017年03月15日01时51分的屏幕截图为了帮助自动操作BigML的机器学习资源,我们还维护了一组beplay2网页登陆绑定,它允许用户在BigML平台上使用他们最喜欢的语言(Java、C#、PHP、Swift等)。beplay2网页登陆

让我们看看如何通过流行的BigML Python绑定和WhizzML使用线性回归beplay2网页登陆此绑定列表.

第一步是创建线性回归使用默认设置。我们从现有数据集开始以BigML训练模型,因此我们对API的调用将需要包括我们要用于训练的数据集ID,如下所示:beplay2网页登陆

;使用默认参数创建线性回归(定义我的线性回归(创建线性回归{“数据集”培训(数据集})

BigMbeplay2网页登陆L API基本上是异步的,也就是说,上述创建函数将在线性回归创建完成之前返回响应,通常响应会通知创建已经开始,并且资源正在进行中。这意味着线性回归没有准备好在执行代码段后立即使用它进行预测d、 因此,在开始预测之前,您必须等待它的完成。完成预测后获得它的一种方法是使用指令“create and wait linearregression”:

;;使用默认设置创建线性回归。一旦;;完成,ID将存储在my_线性回归变量中(定义我的线性回归(创建并等待线性回归{“数据集”培训(数据集})

如果您更喜欢使用Python绑定,等效代码如下:

从…起beplay2网页登陆bigml.api进口beplay2网页登陆应用程序编程接口=beplay2网页登陆()我的线性回归=\应用程序编程接口.创建线性回归(“数据集/59b0f8c7b95b392f12000000”)

接下来,我们将使用WhizzML配置线性回归的一些属性。可以使用属性对轻松添加所有配置属性,例如<财产名称>及<财产价值>如下例所示。例如,要从数据集创建优化的线性回归,BigML将模型候选数设置为beplay2网页登陆128。如果您希望减少步骤数,则应添加属性“模型候选数量并将其设置为10此外,如果缺少数字字段,您可能需要设置线性回归使用的值默认数值属性设置为正确的值。在下面的示例中,它将替换为平均值。

;; 使用某些设置创建线性回归。一旦成功;;完成此ID存储在my_linearregression变量中(定义我的线性回归(创建并等待线性回归{“数据集”训练数据集“模型候选数量”10“默认数值”“平均值”}))

注意:在上一个示例中,属性名称始终需要在引号之间,并且值应以适当的类型、字符串或数字表示。BigML Python绑定的等效代码为:beplay2网页登陆

从…起beplay2网页登陆bigml.api进口beplay2网页登陆BigML api=BigML()参数={“最大迭代次数”:100000,“默认数值”:“平均值”}训练数据集=“数据集/59b0f8c7b95b392f12000000”my_linearregression=api.create_预测(训练数据集,args)

有关BigML提供的完整属性列表,请查看专用beplay2网页登陆API文档。

一旦建立了线性回归,与通常的受监督资源一样,我们可以评估它的性能有多好。现在,我们将使用具有非重叠数据的不同数据集来检查线性回归性能。下面显示的代码中的“test_dataset”参数表示第二个数据集。遵循“少即是多”的座右铭,执行评估的WhizzML代码只有两个必需参数:要评估的线性回归和用作测试数据的数据集。

;; 创建线性回归的评估(定义我的线性回归(创建评估{“线性回归”我的线性回归“数据集”测试(数据集})

汉迪,对吗?类似地,使用Python绑定,使用以下代码段完成计算:

从…起beplay2网页登陆bigml.api进口beplay2网页登陆BigML api=BigML()我的线性回归=“线性回归/59b0f8c7b95b392f12000000”测试数据集=“数据集/59b0f8c7b95b392f12000002”evaluation=api.创建评估(我的线性回归,测试数据集)

按照典型工作流的步骤,在对线性回归进行良好评估后,可以对新的观测集进行预测。在下面的代码中,我们演示了最简单的设置,其中仅对数据集中的某些字段进行预测。

;; 使用特定输入数据的线性回归创建预测(定义我的预言(创建预测{“线性回归”我的线性回归“输入数据”{“萼片长度”2.“萼片宽度”3.}}))

BigML Python绑定的等效代码为:beplay2网页登陆

从…起beplay2网页登陆bigml.api进口beplay2网页登陆BigML api=BigML()输入数据={“萼片长度”:2.,“萼片宽度”:3.}我的线性回归=“线性回归/59b0f8c7b95b392f12000000”预测=api。创建预测(我的线性回归,输入数据)

在这两种情况下,WhizzML或Python绑定,在输入数据中,您可以使用字段名或字段ID,“000002”: 3“萼片宽度”:3是等价的表达式。

与此预测(计算并存储在BigML服务器中)相反,Python绑定(和其他可用绑定)还允许您在计算机或设备上立即创建单个本地预测。线beplay2网页登陆性回归信息将在您第一次使用时下载到您的计算机上(仅在您第一次访问模型时才需要连接),并且预测将在您的计算机上本地计算,无任何增量成本或延迟:

从…起beplay2网页登陆线性回归进口线性回归局部\线性回归=线性回归(“线性回归/59b0f8c7b95b392f12000000”)输入数据={“萼片长度”:2.,“萼片宽度”:3.}局部线性回归。预测(输入数据)

同样,从现有线性回归在云中创建批处理预测也非常简单,其中名为“my_dataset”的数据集包含一组新实例,由模型进行预测:

;; 使用线性回归“my_linearregression”创建批处理预测;;以及数据集“my_数据集”作为要预测的数据(定义我的预言(创建批处理预测{“线性回归”我的线性回归“数据集”我的_数据集})

Python绑定中执行相同任务的代码是:

从…起beplay2网页登陆bigml.api进口beplay2网页登陆应用程序编程接口=beplay2网页登陆()我的线性回归=“线性回归/59d1f57ab95b39750c000000”my_数据集=“数据集/59b0f8c7b95b392f12000000”我的预言=应用程序编程接口.创建批处理预测(我的线性回归,我的_数据集)

想知道更多关于线性回归的知识吗?

我们的下一篇博文,本系列的最后一篇,将涵盖线性回归在幕后是如何工作的,深入到BigML最新资源的技术实现方面。如果您有任何问题或想了解更多关于线性回归的工作原理,请访问beplay2网页登陆专用发布页面. 除了BigML仪表板和API文档之外,它还包括指向这一系列六篇博客文章的链接。beplay2网页登陆

一句话

留话

在下面填写详细信息或单击图标登录:

掘墓人
WordPress.com徽标

您正在使用WordPress.com帐户进行评论。(注销/改变)

谷歌照片

您正在使用您的Google帐户进行评论。(注销/改变)

推特图片

您正在使用您的Twitter帐户发表评论。(注销/改变)

Facebook照片

您正在使用您的Facebook帐户发表评论。(注销/改变)

正在连接到%s