如何防止Azure ML Studio在导入数据集时将功能列转换为DateTime

如何防止Azure ML Studio在导入数据集时将功能列转换为DateTime,azure,azure-machine-learning-studio,kaggle,ml-studio,Azure,Azure Machine Learning Studio,Kaggle,Ml Studio,我在Azure ML Studio中加载数据集时遇到了一些问题,该数据集包含一个看起来像DateTime但实际上是字符串的列。Azure ML Studio在内部将这些值转换为DateTimes,并且似乎并没有多少争论让它相信它们实际上是字符串 这是一个问题,因为在转换过程中,值会失去精度并开始显示为重复值,而实际上它们是唯一的。有人知道ML Studio是否可以配置为在导入数据集时不推断列的数据类型吗 现在,说来话长:) 我在这里工作的是一个公共数据集——特别是竞争数据集。我想看看我是否可以使

我在Azure ML Studio中加载数据集时遇到了一些问题,该数据集包含一个看起来像DateTime但实际上是字符串的列。Azure ML Studio在内部将这些值转换为DateTimes,并且似乎并没有多少争论让它相信它们实际上是字符串

这是一个问题,因为在转换过程中,值会失去精度并开始显示为重复值,而实际上它们是唯一的。有人知道ML Studio是否可以配置为在导入数据集时不推断列的数据类型吗

现在,说来话长:)

我在这里工作的是一个公共数据集——特别是竞争数据集。我想看看我是否可以使用Azure ML Studio快速而肮脏的解决方案,但是数据集的唯一键值的形式是

2015-01-27 13:08:24.0000003
2015-01-27 13:08:24.0000002
2011-10-06 12:10:20.0000001
等等

在我的实验中导入它们时,键值会转换为DateTime,使它们不再唯一,即使它们在csv中是唯一的。不用说,这会阻止我向Kaggle提交任何解决方案,因为我无法唯一地标识行:)

我尝试了以下方法:

  • 加载数据集并将列的数据类型设置为字符串后,编辑该数据集的元数据,但这并没有起多大作用,因为精度已经丢失
  • 从Azure blob导入数据集,将其转换为csv,然后将其加载到Jupyter/Python中-这为我带来了相同的(重复的)密钥
  • 如预期的那样,使用pandas本地加载数据集是可行的
我用5.5GB的大型
train
数据集和更易于管理的
sample\u提交
数据集再现了这种行为


想知道是否有某种解决方法可以告诉ML Studio在加载数据集时不要尝试转换此列。我在这里专门寻找Azure ML Studio专用解决方案,因为我不想对数据集进行任何预处理。

我已尝试使用您的示例数据,下面是我的快速而肮脏的解决方案: 1) 在每个日期前添加任何符号(我已经添加了“#”) 2) 将其加载到AML Studio(现在它被视为字符串功能) 3) 添加Python/R组件以删除“#”符号,并将列显式转换为字符串(as.string(columnname)或str(columnname))


希望这能有所帮助

谢谢,我想这是目前唯一的办法。我们正在寻找一个不包含任何预处理(甚至不在键值前添加文本字符:)的解决方案,我认为我们必须等待一段时间,直到这成为可能。