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

如何循环运行DataFrame预测任务并计算多次准确率均值?

循环运行预测并计算准确率均值的实现

当然可以通过循环实现你的需求,以下是适配你现有代码的实现方案:

from sklearn.metrics import accuracy_score
import numpy as np

# 提前获取真实标签,避免循环内重复读取
y_true = test_df["label"].values
n_runs = 10
accuracy_records = []

for run_idx in range(n_runs):
    # 执行单次预测
    predictions = test_df[['histor', 'philosoph', 'cook', 'roman', 'bibl']].apply(lambda x: baseline.predict(*x), axis=1)
    # 计算当前轮次准确率
    current_acc = accuracy_score(y_true, predictions)
    accuracy_records.append(current_acc)
    # 输出单次结果
    print(f"第 {run_idx + 1} 次运行准确率: {current_acc:.4f}")

# 计算并输出均值
mean_accuracy = np.mean(accuracy_records)
# 若不想引入numpy,可用 mean_accuracy = sum(accuracy_records) / n_runs
print(f"\n{str(n_runs)}次运行的准确率均值: {mean_accuracy:.4f}")

关键说明

  • 将y_true的提取放在循环外部,减少重复的DataFrame操作,提升运行效率
  • 用列表accuracy_records存储每一轮的准确率结果,便于后续统计计算
  • 格式化输出到四位小数,让结果更直观易读
  • 计算均值时,既可以用numpy.mean简化操作,也可以用Python基础的求和与除法实现,无需额外依赖

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 18:30:41