Azure机器学习:编译R脚本,但结果不同

时间:2015-07-28 09:40:34

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

我在Azure中构建了一个ML模型,我的大多数数据转换/功能生成步骤都是在R中执行的。 起初,我转换了R本身的数据(工作得更快)并将创建的csv上传到ML studio。

现在我的模型已经完成了,我尝试在ML studio中运行R代码,而不是手动上传转换后的数据集。它运行完美。但是,当我比较结果数据集(上传的数据集和创建的数据集)时,它们会有所不同。列具有不同的手段,格式,模型执行较少。实际数据条目/单元格看起来很好。

我觉得它与列的格式有关,所以我尝试了将列转换为字符类型,或将结果数据集转换为csv(在ML studio中)并让ML studio弄清楚如何格式化它们之类的东西。

到目前为止,没有结果。

有没有人遇到过这个问题?解决方案是什么?

1 个答案:

答案 0 :(得分:2)

管理解决它:

  • 手动上传的数据集仅在Azure中使用“字符串功能”进行格式化。 (因为有些NA的工作室ML以这种方式格式化它们。)
  • 然而,R脚本以不同方式格式化NA,因此格式化列。

我不完全确定是什么导致了不同的结果,因为数据在字符方面是相同的。只有NA的格式不同,就像列一样。

以下解决了我的问题(在工作室ML的Rscript结尾处):

data = data.frame(lapply(data, as.character), stringsAsFactors=FALSE)
data[is.na(data)] = "NA"