在azure ml Web服务中显示为常量输入的允许值

时间:2015-09-19 18:57:56

标签: web-services post cortana-intelligence azure-machine-learning-studio

我使用Azure ML创建了一个Web服务并进行了部署。它工作正常,但是当我点击测试按钮来测试Web服务时,我无法在屏幕中输入一组要求输入的不同输入值。见下面的截图。正如您所看到的,它不是我可以输入值的文本框,而是一个下拉列表,其中值是我脚本中的值。

enter image description here

另外,请注意说明页面如何将允许值显示为这些值 enter image description here

这些值来自我的初始脚本,其中我执行以下操作

## ------- User-Defined Parameters ------ ##

IDinput<- data.frame(
GenderCD="M",
Age="8",
..,
..
)

# Select data.frame to be sent to the output Dataset port
maml.mapOutputPort("IDinput");

然后我有一个脚本,使用POST作为

读取这些变量
# Map 1-based optional input ports to variables# Map 1-based optional input ports to variables
POST <- maml.mapInputPort(1) # class: data.frame

#getting data from POST
mytestrow = NULL
mytestrow$GenderCD=POST$GenderCD
mytestrow$Age=POST$Age

#perform logic and store in a data frame called outputdf

# Select data.frame to be sent to the output Dataset port
maml.mapOutputPort("outputdf");

我的整体架构看起来像 enter image description here

1 个答案:

答案 0 :(得分:0)

我倾向于使用AzureML中的Python,但这些概念仍应适用于R.

分类输入用于将数据分类为多个明确定义的存储桶。在您传入的数据中,您似乎限制了允许值,而不是提供默认值,这似乎是您的意图。

## ------- User-Defined Parameters ------ ##

IDinput<- data.frame(
GenderCD="M",
Age="8",
..,
..
)

你能在类似元组的构造中传递允许的参数吗?

GenderCD = c("M","F")
Age = c(1,2,3,4,5,...,110,111,112)
...
IDinput<- data.frame(GenderCD,Age,...,other)