基于金标准DataFrame计算机器学习模型指标误差率的实现方法咨询
实现方案
核心思路
通过DataFrame的关联匹配能力,以Dataset+ML_Type作为联合主键关联样本结果表和金标准表,确保同数据集、同任务类型的指标正确配对,再计算两个误差列即可。
完整代码实现
import pandas as pd # 1. 读入两个数据源,替换为你实际的文件路径即可 sample_df = pd.read_csv("你的样本结果表路径.csv") gold_df = pd.read_csv("你的金标准结果表路径.csv") # 2. 重命名金标准表的指标列,避免合并后出现重名冲突 gold_df = gold_df.rename(columns={ "Metric_1": "gold_Metric_1", "Metric_2": "gold_Metric_2" }) # 3. 关联两个表,仅保留金标准表的指标列用于后续计算 merged_df = pd.merge( sample_df, gold_df[["Dataset", "ML_Type", "gold_Metric_1", "gold_Metric_2"]], on=["Dataset", "ML_Type"], how="left" ) # 4. 计算两个误差列:误差=金标准值-样本值 merged_df["Error_1"] = merged_df["gold_Metric_1"] - merged_df["Metric_1"] merged_df["Error_2"] = merged_df["gold_Metric_2"] - merged_df["Metric_2"] # 5. 筛选输出最终需要的列 result_df = merged_df[["Dataset", "Metric_1", "Metric_2", "ML_Type", "Error_1", "Error_2"]] # 可选:导出为csv文件 # result_df.to_csv("误差计算结果.csv", index=False)
结果说明
最终输出的result_df完全保留样本结果表的原有4列,新增的两列含义如下:
Error_1:对应任务金标准Metric_1 减 样本Metric_1的差值Error_2:对应任务金标准Metric_2 减 样本Metric_2的差值
内容的提问来源于stack exchange,提问作者ayePete
相关产品推荐
相关产品推荐

