load_m5#
- load_m5(extract_path=None, include_events=False, merged=True, test=False)[source]#
从 https://zenodo.org/records/12636070 获取 M5 数据集。
如果数据集尚未下载,则下载并提取。获取的数据集为标准 .csv 格式,并加载到 sktime 兼容的内存格式 (pd_multiindex_hier) 中。有关数据集的更多信息,包括其结构和内容,请参阅 Notes 部分。
- 参数:
- extract_pathstr, 可选 (默认为None)
如果提供,路径应使用操作系统适当的路径分隔符(例如,Unix 系统使用斜杠 '/',Windows 使用反斜杠 '\')。如果提供了 extract_path
检查所需文件是否存在于给定的 extract_path。
如果未找到文件,检查 extract_path 内是否存在目录“m5-forecasting-accuracy”。这在函数之前已使用相同路径运行过时很有用。
如果该目录不存在,则下载并将数据提取到 extract_path 中的“m5-forecasting-accuracy”文件夹中。
如果该目录存在,则使用现有目录的路径。
- 如果 extract_path 为 None
检查模块级别内是否存在目录“m5-forecasting-accuracy”。
如果该目录存在,则使用当前目录的路径。这在函数之前已运行过但未指定任何路径时很有用。
如果该目录不存在,则下载并将数据提取到模块级别的“m5-forecasting-accuracy”文件夹中。
- include_eventsbool, 可选 (默认为False)
如果为 True,结果数据集将包含与事件相关的附加列。包含这些列可以提供更丰富的数据集,可用于分析事件对销售的影响。如果为 False,数据集将排除这些列,提供更精简版本的数据。
- mergedbool, 可选 (默认为True)
确定输出格式:- 如果为 True,函数返回一个合并的数据集。- 如果为 False,函数返回三个独立的数据集
sales_train_validation、sell_prices 和 calendar。
- testbool, 可选 (默认为False)
加载数据集的一小部分,不包含事件,仅用于测试目的。标准用法不应使用此选项,但对运行测试的开发者可能有用。
- 返回:
- pd.DataFrame 或 pd.DataFrame 元组
- 如果 merged_dataset 为 True
- datasktime类型 pd_multiindex_hier 的 pd.DataFrame
包含时间序列的预处理 dataframe。
- 如果 merged_dataset 为 False,返回包含三个 dataframe 的元组
sales_train_validation : sktime类型 pd_multiindex_hier 的 pd.DataFrame sell_prices : pd.DataFrame calander : pd.DataFrame
注意
数据集包含三个主要文件:- sales_train_validation.csv:每个产品和商店的每日销售数据 - sell_prices.csv:每个产品和商店的价格数据 - calendar.csv:包含事件的日历信息
dataframe 将包含具有以下级别的多重索引:- state_id - store_id - cat_id - dept_id - date
示例
>>> from sktime.datasets import load_m5 >>> data = load_m5() >>> data.head()