You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Databricks AutoML中基于日期划分训练/验证/测试集?

Databricks AutoML时间序列数据集划分与特征排除问题解决方法

一、解决当前Databricks AutoML的问题

  • 预处理分离划分列与特征列:Databricks AutoML中time_col默认会被作为特征参与训练,exclude_cols对其优先级较低。解决办法是先复制时间列(例如将原时间列ts复制为partition_ts),用partition_ts作为time_col参数值,再将原时间列ts加入exclude_cols,这样既保证按时间顺序划分数据集,又避免原时间列被用于模型训练。
  • 确认参数配置正确性:使用Python API启动实验时,确保参数传递无误,示例代码如下:
import databricks.automl as automl

# 假设df是你的数据集,已新增partition_ts列
automl_summary = automl.regress(
    dataset=df,
    target_col="your_target_column",
    time_col="partition_ts",
    exclude_cols=["ts"],  # 排除原时间列
    primary_metric="r2"
)
  • 验证实验结果:在AutoML生成的实验报告中,查看「Data Exploration」模块的特征列表确认原时间列已被排除,同时检查「Train/Validation/Test Split」模块的划分逻辑是否符合最早数据训练、次新数据验证、最新数据测试的规则。

二、适配Databricks的其他AutoML工具推荐

  • MLflow AutoML:Databricks原生集成工具,支持完全自定义数据集划分。你可以先手动按时间切分训练/验证/测试集,再传入MLflow AutoML进行训练与超参数调优,精准控制特征使用。示例代码:
import mlflow

# 手动按时间划分数据集
train_df = df.filter(df.ts < "2023-01-01")
val_df = df.filter((df.ts >= "2023-01-01") & (df.ts < "2023-06-01"))
test_df = df.filter(df.ts >= "2023-06-01")

with mlflow.start_run():
    automl_run = mlflow.automl.run(
        data=train_df,
        target_col="your_target_column",
        validation_data=val_df,
        test_data=test_df,
        exclude_cols=["ts"]
    )
  • H2O.ai on Databricks:支持时间序列专用划分策略,可灵活排除特征,通过Databricks集成直接在集群运行,自带超参数调优与模型解释功能,适合复杂时间序列场景。
  • AutoGluon on Databricks:在时间序列任务中适配性强,支持自定义划分逻辑,自动处理时间特征的同时允许手动排除无关列,可通过Databricks笔记本快速安装运行,适配不同数据规模。

内容的提问来源于stack exchange,提问作者Michael Skarn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 14:32:48