dato predictive service client使对dato predictive services进行rest api调用变得容易

dato-predictive-service-client的Python项目详细描述


dato预测服务python客户端库的目的是 python应用程序可以方便地查询数据预测服务。

安装

要安装dato predictive service python client,只需:

sudo pip install dato-predictive-service-client

或来源:

sudo python setup.py install

要求

  • Dato Predictive Service,由GraphLab create>;=1.4安装启动

用法

创建客户端

要使用dato预测服务python客户端,首先需要获得 来自正在运行的数据预测服务的以下信息:

  • 预测服务CNAME或DNS名称(终结点)
  • 来自预测服务的API密钥

获得上述信息后,只需创建一个新的PredictiveServiceClient即可:

fromdato.deployimportPredictiveServiceClient;client=PredictiveServiceClient(endpoint=<endpoint>,api_key=<api_key>,should_verify_certificate=<True-or-False>)

要为此预测服务启用SSL证书验证, 将should_verify_certificate设置为true。但是,如果您的预测服务 是使用自签名证书还是没有证书启动的,请 将should_verify_certificate设置为false

predictiveserviceclient也可以通过使用预测服务client configuration file创建。

client=PredictiveServiceClient(config_file=<path_to_file>)

查询

要查询部署在预测服务上的模型,您需要:

  • 型号名称
  • 查询方法(推荐、预测、查询等)
  • 用于查询模型的数据

例如,下面的代码演示如何查询名为 rec,为用户推荐`Jacob Smith`

data={'users':['Jacob Smith']}result=client.query('rec',method='recommend',data=data)

注释

  • 不同的模型可以支持不同的查询方法(推荐、预测、查询等)。 以及data的不同语法和格式。你需要知道 在查询模型之前支持的方法和查询数据格式。

设置超时

要更改查询预测服务时的请求超时,请使用以下命令:

# set timeout to 5 seconds.client.set_query_timeout(timeout=5)

默认超时为10秒。

结果

query()函数的输出是查询结果的字典。

如果查询成功,则查询结果包含:

  • 模型响应
  • 此查询的uuid
  • 模型的版本
model_response=result['response']uuid=result['uuid']version=result['version']

model_response包含查询的实际模型输出。

发送反馈

一旦得到查询结果,就可以提交与此查询对应的反馈数据 回到预测服务。此反馈数据可用于评估 当前模式和培训未来模式。

要提交与特定查询对应的反馈数据,您将需要uuid 查询的。uuid可以很容易地从查询结果中获得。

uuid=result['uuid']

对于反馈数据,可以使用您喜欢的任何属性或值对。

示例:

feedback_data=dict()feedback_data['num_of_clicks']=3feedback_data['searched_terms']='test'

现在我们可以将这些反馈数据发送到预测 将此反馈与特定查询关联的服务。

client.feedback(uuid,feedback_data);

更多信息

有关数据预测服务的更多信息,请阅读 API docsuserguide

许可证

dato预测服务python客户机是在3子句bsdlicense下提供的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何获取所有链接并使用SeleniumWebDriver逐个单击这些链接   java中数组列表的arraylist移位元素   java如何存储具有不同类型参数的元素   java不能使用List<Future<?>>当从不同位置调用时,在方法参数中   java我应该如何修复代码以避免测试代码出错?   安卓 PreferenceFragment java。lang.RuntimeException   java在运行emulator时发现错误   java取消多个AsyncTask回调的有效方法是什么?如果中途满足条件,这些回调将在将来返回?   有没有办法在运行时将方法动态分配给Java类?   java如何将propertyfile与GlassFish一起使用   如何在PHP中使用bcrypt对密码进行哈希处理?   Java和UDP web服务器   java JPA允许EntityListeners执行JPA操作吗?   java执行do while语句时不会产生错误   java无法在edittext中显示数据库中的数据   java Tomcat中活动会话的数量   java在何处使用@SuppressWarnings(“requestfactory”)   netty连接中的java HornetQ异常