【问题标题】:Azure Machine Learning Studio Conditional Training DataAzure 机器学习工作室条件训练数据
【发布时间】:2018-06-11 02:58:41
【问题描述】:

我已经构建了一个 Microsoft Azure ML Studio 工作区预测 Web 服务,并且有一个场景,我需要能够使用不同的训练数据集运行该服务。

我知道我可以通过 Azure ML 设置多个 Web 服务,每个服务都附加了不同的训练集,但我试图找到一种方法在同一个工作区中完成所有这些操作,并将 Web Input Parameter 作为输入值传递给选择要使用的训练集。

我找到了this 文章,其中描述了几乎我的场景。但是,本文依赖于从 Load Trained Data 模块中提取的训练数据集,因为它具有静态端点(或 blob 存储位置)。我看不到任何基于Web Input Parameter 动态(或有条件地)更改此位置的方法。

基本上,Azure ML 是否支持“条件训练数据”加载?

或者,有没有办法组合训练数据集,然后根据传递的Web Input Parameter进行过滤?

【问题讨论】:

    标签: machine-learning conditional azure-machine-learning-studio


    【解决方案1】:

    这可能不是您所需要的,但希望它能帮到您。

    要合并数据集,可以使用Join Data module。

    要进行过滤,可以通过执行 Python 脚本来完成。这是一个例子。

    使用成人人口普查收入二元分类数据集,在年龄列中,最低年龄为 17 岁。

    如果我想按年龄过滤数据集,请将其连接到 Execute Python Script 模块,这是使用 pandas query 方法的过滤代码。

    # The script MUST contain a function named azureml_main
    # which is the entry point for this module.
    
    import pandas as pd
    
    def azureml_main(dataframe1 = None, dataframe2 = None):           
        # Return value must be of a sequence of pandas.DataFrame
        return dataframe1.query("age >= 25")
    

    查看该输出,它会过滤掉现在最小年龄为 25 岁的数据集。

    【讨论】:

      【解决方案2】:

      当然,你可以做到。您想要的是使用 Execute R Script 或 SQL Transformation 模块根据您的输入数据确定要使用的模型。像这样的:

      请注意,您的输入数据经过清理/更新/功能设计,然后被传递给两个不同的 SQL 转换,这将告诉它转到两个路径之一。

      每条路径都有自己的训练数据。

      注意:我不确定您的用例是什么,但如果是我,我会改为使用两个不同的训练数据训练两个不同的模型,然后尝试只使用这些模型在我的网络服务中,实际上并没有在网络服务上进行训练,因为这可能会很慢。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-06-25
        • 1970-01-01
        • 2017-06-25
        • 2017-04-06
        • 2017-06-24
        • 2019-02-02
        • 2019-01-11
        • 2016-03-03
        相关资源
        最近更新 更多