我在本地创建了机器学习回归模型,该模型将一行数据帧作为输入,并使用Python中的sk-learn提供一个(或两个)数字作为输出。我想知道是否可以将Google表格中几行的输入作为输入,然后提供model.predict(row_input)的结果作为输出,如果模型在某个被触发的云函数中运行当所有行都填满时(也许我可以为此查看云调度程序)?
但是我首先如何将机器学习模型部署(或连接)到Google表格?我在互联网上没有碰到太多有关此的资源。
答案 0 :(得分:0)
如果您的代码是Python代码,建议您将其部署在Cloud Functions上并编写脚本,定义own Google Sheet function,然后使用它来调用Google Cloud Functions。
编辑
您有2种实现方式
首先,您可以将代码部署在Cloud Functions上,并使用所需的参数进行调用(例如,该行中包含的值数组)。您会收到放入单元格中的答案
第二,您还可以将代码部署在Cloud Function中,并仅使用一些引用来调用它,
然后,Cloud Functions打开文件,获取结果并将结果直接写到工作表中。
第二种解决方案是异步的,这意味着已授权Cloud Functions身份(Cloud Function的服务帐户)在文件上读写。
第一个解决方案是同步的,可以应用于任何工作表或其他应用程序。
为什么我都提出?因为安全。如果您不想向任何人开放您的Cloud Function(并且不支付任何处理费用),则必须确保对Cloud Function的访问权限
对于第一种解决方案,您必须经过身份验证,但该方法不适用于用户身份验证,您需要由Google与正确的受众群体签署的身份令牌。因此,您需要有一个服务帐户。但这意味着您需要生成服务帐户密钥文件并将其存储在脚本中。不是一个非常安全的地方,但是可以。
对于第二种解决方案,这是相同的。除了处于异步模式之外,您可以使用一个技巧:PubSub。实际上,您可以使用用户访问令牌将消息发布到PubSub,并在PubSub上安全地插入您的Cloud Function。云端功能几乎可以实时进行处理,而云端功能会自行更新工作表。但是,您必须以Cloud Functions身份对工作表进行大规模访问,并且不能将此解决方案应用于任何工作表。
我希望这很清楚。如果没有,请随时询问我。