首页 文章

Azure机器学习工作室条件培训数据

提问于
浏览
0

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

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

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

Basically, does Azure ML support a "conditional training data" loading?

或者,可能有一种方法来组合训练数据集,然后根据传递的 Web Input Parameter 过滤?

2 回答

  • 0

    这可能不是您所需要的,但希望它可以帮助您 .

    要组合数据集,可以使用Join Data module .

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

    使用成人人口普查收入二进制分类数据集,在年龄栏上,最低年龄为17岁 .

    Before filtering

    如果我想按年龄过滤数据集,请将其连接到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的数据集 .

    After filter

  • 0

    当然,你可以做到这一点 . 您想要的是使用 Execute R ScriptSQL Transformation 模块根据您的输入数据确定要使用的模型 . 像这样的东西:

    enter image description here

    请注意,您的输入数据已清除/更新/功能设计,然后传递给两个不同的SQL转换,这将导致它转到两个路径之一 .

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

    Note: 我不确定你的用例是什么,但如果是我,我会使用两种不同的训练数据训练两种不同的模型,然后尝试在我的网络服务中使用模型,而不是实际在网上训练服务,因为这可能会很慢 .

相关问题