gpt4 book ai didi

azure - 如何防止 Azure ML Studio 在导入数据集时将要素列转换为 DateTime

转载 作者:行者123 更新时间:2023-12-04 20:28:32 25 4
gpt4 key购买 nike

我在尝试在 Azure ML Studio 中加载数据集时遇到一些问题,该数据集包含看起来像日期时间的列,但实际上是一个字符串。 Azure ML Studio 在内部将这些值转换为 DateTimes,并且无论经过多少争论似乎都无法使其相信它们实际上是字符串。

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

现在,讲一个长(呃)故事:)

我在这里使用公共(public)数据集 - 特别是 Kaggle’s New York City Fare Prediction竞赛。我想看看是否可以使用 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 中 - 这给我带来了相同的(重复的) key 。
  • 使用 pandas 在本地加载数据集可以正常工作,正如预期的那样。

我使用大型 5.5GB train 数据集以及更易于管理的 sample_submission 数据集重现了此行为。

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

最佳答案

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

希望这有帮助

关于azure - 如何防止 Azure ML Studio 在导入数据集时将要素列转换为 DateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51780562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com