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

如何在Autosklearn中使用Dask DataFrame?

Auto-sklearn与Dask DataFrame兼容说明及使用指南

支持状态说明

Auto-sklearn从0.15.0版本开始原生支持Dask DataFrame作为输入,低于该版本的Auto-sklearn无法识别Dask格式的输入数据,这是切换后代码报错的核心原因。

正确使用步骤

  • 先升级Auto-sklearn到兼容版本,同时匹配Dask的最低版本要求:
    pip install "auto-sklearn>=0.15.0" "dask>=2021.06.0"
    
  • 提前启动Dask客户端,支持本地单节点集群或者分布式集群,示例代码如下:
    from dask.distributed import Client
    # 启动本地Dask集群,可根据硬件配置指定n_workers、memory_limit等参数
    client = Client(n_workers=4, memory_limit="8GB")
    
  • 初始化Auto-sklearn评估器时指定dask_client参数,沿用原有其他配置即可:
    from autosklearn.classification import AutoSklearnClassifier
    # 分类任务示例,回归任务对应使用AutoSklearnRegressor
    automl = AutoSklearnClassifier(
        dask_client=client,
        time_left_for_this_task=3600,
        per_run_time_limit=300,
        # 其他原有配置参数
    )
    
  • 直接传入Dask格式的训练数据到fit方法,不要提前调用compute转为Pandas对象,否则会失去Dask的大数据处理能力,甚至触发内存溢出:
    # X_train、y_train均为Dask DataFrame/Series对象
    automl.fit(X_train, y_train)
    
  • 预测、评估阶段也可直接传入Dask对象,返回结果为Dask格式,需要本地读取结果时再调用compute方法:
    y_pred = automl.predict(X_test)
    # 本地获取预测结果
    y_pred_local = y_pred.compute()
    

常见问题规避

  • 确保Dask DataFrame的列名、各列数据类型与之前测试的Pandas版本完全一致,避免特征解析错误。
  • 建议提前完成缺失值填充、类别编码等预处理操作后再传入Auto-sklearn,降低分布式场景下的调度开销。
  • 分类任务中若标签为字符串类型,可提前调用y_train = y_train.astype("category")指定分类类型,避免识别错误。

内容的提问来源于stack exchange,提问作者Govind Banura

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 16:45:04