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

在Databricks运行PyCaret无监督异常检测时抛出KeyError: 'UNSUPERVISED_DUMMY_TARGET'

解决Databricks中PyCaret异常检测setup函数的KeyError: 'UNSUPERVISED_DUMMY_TARGET'问题

问题场景

在Databricks笔记本中使用Python 3.8.10 + PyCaret==2.3.5运行无监督异常检测的setup函数时,出现KeyError: 'UNSUPERVISED_DUMMY_TARGET'错误,但相同代码在本地环境可正常执行,更换PyCaret和Python版本后问题仍存在。

使用代码:

import pandas as pd
from pycaret.anomaly import *

df = pd.read_csv("global_master_data.csv")

df_copy = df.iloc[:,7:37].copy()
df_copy  = df_copy.drop(['Better For You Claim Text','First Selling OC','Manuf. Type','Private Label Brand - Desc'],axis = 1)

exp_name = setup(data = df_copy, silent = True)

解决方案

1. 显式指定任务类型

在setup函数中强制指定task_type='anomaly',避免PyCaret自动推断任务类型时出现配置加载异常:

exp_name = setup(data = df_copy, silent = True, task_type='anomaly')

2. 清理数据格式与缺失值

Databricks环境对数据格式敏感度更高,先确保数据无无效列:

# 移除全为空值的列
df_copy = df_copy.dropna(axis=1, how='all')
# 尝试将列转换为PyCaret支持的数值/类别类型
df_copy = df_copy.apply(pd.to_numeric, errors='ignore')

3. 重置PyCaret会话

Databricks的会话残留状态可能干扰PyCaret初始化,在setup前重置会话:

from pycaret.utils import reset_session
reset_session()

# 之后再执行setup
exp_name = setup(data = df_copy, silent = True, task_type='anomaly')

4. 切换到Databricks兼容的PyCaret版本

尝试安装PyCaret 2.3.10版本(该版本针对分布式环境做了兼容性优化):

%pip install pycaret==2.3.10

内容的提问来源于stack exchange,提问作者Gagan Saini

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 04:02:00