PyCaret结合MLflow v2.1.1无追踪数据问题求助
PyCaret 2.3.10 + MLflow 2.1.1 仅显示实验名称,无法追踪指标/图像的解决方法
1. 调整版本兼容性
PyCaret 2.x系列与MLflow 2.x存在兼容性冲突,建议将MLflow降级至1.x稳定版本(如1.30.0):
pip install mlflow==1.30.0
重启MLflow UI后重新运行代码测试。
2. 显式配置MLflow实验
在PyCaret setup 执行前,明确指定目标实验,避免自动创建时的参数传递异常:
import mlflow mlflow.set_tracking_uri("http://localhost:5000") # 直接切换到目标实验,不存在则自动创建 mlflow.set_experiment("churn1")
3. 手动补充指标与图像日志
因版本兼容问题,PyCaret自动日志可能失效,需手动添加日志步骤:
记录模型评估指标
在 create_model 后,提取评估结果并写入MLflow:
model = create_model('rf') # 获取模型评估指标表格 metrics = pull() # 将指标转为字典格式并记录 mlflow.log_metrics(metrics.to_dict())
记录混淆矩阵图像
修改 plot_model 保存图像到本地,再上传至MLflow:
# 保存混淆矩阵图像到当前目录 plot_model(model, 'confusion_matrix', save=True) # 上传图像到MLflow artifact存储 mlflow.log_artifact('Confusion Matrix.png')
4. 验证MLflow服务与权限
- 确认MLflow UI服务正常:访问
http://localhost:5000可正常加载页面 - 检查当前目录下的
mlruns文件夹是否存在且具备写入权限,MLflow默认将实验数据存储在此目录
5. 开启PyCaret图像日志开关
在 setup 中添加 log_plots=True 参数,显式启用PyCaret的图像自动日志功能:
s = setup( data, target = 'Churn', session_id = 123, ignore_features = ['customerID'], log_experiment = True, experiment_name = 'churn1', silent=True, log_plots=True )
内容的提问来源于stack exchange,提问作者Soerendip
相关产品推荐
相关产品推荐

