MS Azure autoML准备错误文件格式/编码错误?

2024-06-02 16:04:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试按照以下Github示例部署MS Azure自动机器学习:

https://github.com/Azure/MachineLearningNotebooks/tree/master/how-to-use-azureml/automated-machine-learning/classification-bank-marketing

我更改了那里的代码以提供数据,但在执行autoML运行时遇到以下错误:

在automl.client.core.common.exceptions.DataprepException:无法执行指定的转换。在

来自: 文件“/azureml envs/azureml_e9e27206cd19de471f4e5c7a171037e/lib/python3.6/site-packages/azureml/automl/core/dataprep_实用程序.py,第50行,在try_retrieve_pandas_dataframe_adb中

现在,我认为我的数据有问题,但随后我对原始csv文件进行了以下实验:

第一次执行,如Github示例中所示,直接基于http链接构建数据流 第二次执行基于相同的csv构建数据流,但下载到我的共享。在

在第二种情况下,我得到了与我的数据相同的错误。这意味着,azureautoml运行/数据流/准备过程只接受特定的文件格式,在保存到我的驱动器时更改了该格式。 我不确定这是关于编码还是其他什么。 你能给我个建议吗?在

########################################
#Case 1, Error returned

data= "\\\dwdf219\\...\\bankmarketing_train.csv"
dflow = dprep.auto_read_file(data)
dflow.get_profile()
X_train = dflow.drop_columns(columns=['y'])
y_train = dflow.keep_columns(columns=['y'], validate_column_exists=True)
dflow.head()

# Train
automl_settings = {
    "iteration_timeout_minutes": 10,
    "iterations": 5,
    "n_cross_validations": 2,
    "primary_metric": 'AUC_weighted',
    "preprocess": True,
    "max_concurrent_iterations": 5,
    "verbosity": logging.INFO,
}

automl_config = AutoMLConfig(task = 'classification',
                             debug_log = 'automl_errors.log',
                             path = project_folder,
                             run_configuration=conda_run_config,
                             X = X_train,
                             y = y_train,
                             **automl_settings
                            )     

remote_run = experiment.submit(automl_config, show_output = True)


########################################
#Case 2, all works fine

data = "https://automlsamplenotebookdata.blob.core.windows.net/automl-sample-notebook-data/bankmarketing_train.csv"
dflow = dprep.auto_read_file(data)
dflow.get_profile()
X_train = dflow.drop_columns(columns=['y'])
y_train = dflow.keep_columns(columns=['y'], validate_column_exists=True)
dflow.head()

# Train ...
################################### 

Tags: columnscsvruncoregithubconfigtrue示例
1条回答
网友
1楼 · 发布于 2024-06-02 16:04:52

对于远程运行,传递给dprep的文件在远程上使用,因此必须在远程(Linux)上访问该文件。在

Linux远程可以理解https和数据存储,但无法处理Windows样式的文件共享。(\\dwdf219\…\bankmarketing_火车.csv在这种情况下)

一种解决方案是通过数据存储传递数据。在

您可以使用以下方法上载到数据存储:

ds = ws.get_default_datastore()
ds.upload(src_dir='./myfolder', target_path='mypath', overwrite=True, show_progress=True)

然后在auto_read_文件中使用数据存储引用:

^{pr2}$

示例笔记本auto-ml-remote-amlcompute.ipynb显示了这一点。在

相关问题 更多 >