有没有办法在谷歌表格上部署机器学习模型?



我在本地创建了机器学习回归模型,该模型将一行数据帧作为输入,并使用Python中的sk-learn提供单个(或两个(数字作为输出。我想知道我是否可以将 Google 表格中几行的输入作为输入,然后提供 model.predict(row_input( 的结果作为输出,如果模型在某个地方运行,当所有行都被填充时触发(也许我可以为此查看云调度程序(?

但是,首先如何将机器学习模型部署(或连接(到 Google 表格呢?我在互联网上没有看到太多关于这个的资源。

如果你的代码是用Python编写的,我建议你把它部署在Cloud Functions上,并编写一个脚本,定义你自己的Google Sheet函数,并用它来调用你的Google Cloud Functions。

编辑

您有两种方法可以实现它


首先,您可以在 Cloud Functions 上部署代码,并使用所需的参数(例如行中包含的值数组(调用它。您会收到放入单元格的答案


其次,你也可以在云函数中部署你的代码,只用一些引用来调用它,我的意思是:

  • 文件 ID
  • 行范围 (A1-A10(
  • 要写入结果的目标单元格

然后,云函数打开文件,获取结果并直接将结果写入工作表。


第二种解决方案是异步的,这意味着云函数标识(云函数的服务帐户(有权读取和写入文件。

第一种解决方案是同步的,可以应用于任何板材或其他应用程序。

为什么我同时介绍了两者?因为安全。如果您不想向任何人开放您的云功能(并且不支付任何处理费用(,则必须保护对云功能的访问


对于第一个解决方案,您必须进行身份验证,但它不适用于用户身份验证,您需要由 Google 签名且具有正确受众群体的身份令牌。因此,您需要有一个服务帐户。但这意味着您需要生成服务帐户密钥文件并将其存储在脚本中。不是一个非常安全的地方,但你可以。


对于第二个解决方案,这是一回事。除了您处于异步模式并且您可以使用一个技巧:PubSub。实际上,您可以使用用户访问令牌将消息发布到 PubSub 中,并在 PubSub 上安全地插入您的云功能。处理由云函数近乎实时地完成,云函数通过自己的工作表进行更新。但是,必须在 Cloud Functions 标识中宏大对工作表的访问权限,并且不能将此解决方案应用于任何工作表。


我希望它很清楚。如果没有,请不要犹豫,问我更多。

最新更新