azure ml实验返回与webservice不同的结果

时间:2016-07-04 16:57:16

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

在两种情况下使用相同的输入,但是从python模块返回不同的结果

这是将结果返回给webservice的python脚本:

import pandas as pd
import sys


  def get_segments(dataframe):
     dataframe['segment']=dataframe['segment'].astype('str')
     segments = dataframe.loc[~dataframe['segment'].duplicated()]['segment']
     return segments


  def azureml_main(dataframe1 = None, dataframe2 = None):

   df = dataframe1
   segments = get_segments(df)
   segmentCount =segments.size

   if (segmentCount > 0) :
      res = pd.DataFrame(columns=['segmentId','recommendation'],index=[range(segmentCount)])
    i=0    
    for seg in segments:
        d= df.query('segment ==["{}"]'.format(seg)).sort(['count'],ascending=[0])

        res['segmentId'][i]=seg
        recommendation='['
        for index, x in d.iterrows():
            item=str(x['ItemId'])
            recommendation = recommendation + item + ','
        recommendation = recommendation[:-1] + ']'
        res['recommendation'][i]= recommendation
        i=i+1
   else:

      res = pd.DataFrame(columns=[seg,pdver],index=[range(segmentCount)])

return res,

在实验中它返回实际的itemIds,在webservice中它返回一些数字

此代码的目的是为了推荐

,逐段逐列

1 个答案:

答案 0 :(得分:0)

与微软的产品团队讨论后。问题得到了解决。 产品团队首先推出了对Web服务的更新,后来才推出了ML-Studio,它修复了"执行python脚本"中的分类属性问题。 问题出在流程的早期阶段,与上面的python代码无关。