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

如何基于传入的test_data从AutoMLRun中获取评估指标

基于传入的test_data获取AutoMLRun评估指标的方法

你在AutoMLConfig中已经指定了test_data参数,运行完成后可通过以下两种方式直接获取测试集的评估结果:

方法1:直接从AutoMLRun对象拉取自动计算的测试集指标

AutoML运行结束后会自动基于你传入的test_data完成推理和指标计算,直接调用get_test_run_details()方法即可获取全部指标:

# 确保运行已完成,可先调用等待方法
automl_run.wait_for_completion(show_output=False)

# 提取测试集全量评估指标
test_run_details = automl_run.get_test_run_details()
test_metrics = test_run_details["metrics"]

# 查看所有指标
print(test_metrics)
# 单独提取你配置的主指标spearman_correlation
print(f"测试集斯皮尔曼相关系数:{test_metrics['spearman_correlation']}")

方法2:提取最佳模型后自行计算(适合需要自定义验证逻辑的场景)

你也可以先取出训练得到的最佳模型,自行加载test_data推理后计算评估指标:

# 获取最佳模型和对应的运行
best_run, fitted_model = automl_run.get_output()

# 拆分测试集的特征和标签
X_test = test_data.drop_columns(columns=[label_column_name])
y_test = test_data.keep_columns(columns=[label_column_name]).to_pandas_dataframe()

# 模型推理
y_pred = fitted_model.predict(X_test)

# 自定义计算指标,以spearman相关系数为例
from scipy.stats import spearmanr
spearman_corr, _ = spearmanr(y_test, y_pred)
print(f"自行计算的测试集斯皮尔曼相关系数:{spearman_corr}")

注意事项

  • 必须等AutoML任务完全运行结束后再调用上述接口,运行中调用会返回空值
  • 传入的test_data必须包含和训练数据一致的标签列,否则AutoML无法自动计算评估指标

内容的提问来源于stack exchange,提问作者Anders Swanson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 19:57:00