Power BI中运行PyCaret脚本报错:get_outliers未定义
解决PyCaret
get_outliers 未定义的问题 问题原因
get_outliers 并非PyCaret异常检测模块的内置函数,你可能混淆了API用法。PyCaret异常检测的标准流程是先初始化环境、训练模型,再通过模型预测标记异常值。
正确实现步骤
以下是在Power BI中运行PyCaret异常检测的正确脚本:
- 导入模块并初始化环境
from pycaret.anomaly import * # 初始化异常检测环境,指定忽略的特征 exp_anomaly = setup(data=dataset, ignore_features=['DEPT_NAME', 'MERCHANT', 'TRANS_DT'])
- 创建异常检测模型(以Isolation Forest为例,也可选用KNN、LOF等其他模型)
iforest = create_model('iforest')
- 生成包含异常标记的预测结果
results = predict_model(iforest, data=dataset)
- 筛选出异常值(默认
Anomaly列中1表示异常,0表示正常)
outliers = results[results['Anomaly'] == 1] # 将结果返回给Power BI dataset = outliers
关键说明
- PyCaret异常检测的核心流程是
setup→create_model→predict_model,不存在直接的get_outliers函数。 - 运行前需确保Power BI配置的Python环境已安装对应版本的PyCaret(建议使用最新稳定版)。
- 可根据需求替换模型名称,不同模型的异常标记逻辑一致。
内容的提问来源于stack exchange,提问作者user3447443
相关产品推荐
相关产品推荐

