azure ml experiment return 与 webservice 不同的结果

azure ml experiment return different results than webservice

在两种情况下使用了相同的输入,但是 return 来自 python 模块的不同结果

这里是 python 脚本,return 网络服务的结果:

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,

在实验中它 returnd 实际的 itemIds,在网络服务中它 returns 一些数字

此代码的目的是按细分列对某些 table 进行透视以供推荐

在与 Microsoft 的产品团队讨论后。问题已解决。 产品团队首先对 Web 服务进行了更新,然后才对 ML-Studio 进行了更新,后者修复了 "Execute python script" 中的分类属性问题。 该问题出现在流程的早期阶段,与上面的 python 代码无关。