如何将sklearn交叉验证函数cross_validate的输出结果转换为DataFrame
转换方法
scikit-learn中cross_validate接口返回的结果本身是符合DataFrame构造要求的字典结构,无需额外处理字段,直接调用pandas的DataFrame构造方法即可:
import pandas as pd # 直接用cross_validate返回的results字典生成DataFrame cv_results_df = pd.DataFrame(results)
生成的DataFrame每一行对应K折交叉验证的其中一折,每一列对应返回的统计指标:包括训练耗时fit_time、评分耗时score_time,以及你指定的各评估指标的训练集得分、测试集得分。
如果需要生成带均值、标准差的汇总统计表格,可以继续调用agg方法聚合:
# 生成各指标的均值、标准差汇总表,保留3位小数和你原有打印逻辑一致 cv_summary = cv_results_df.agg(['mean', 'std']).T.round(3) # 可选:给列重命名为中文更易读 cv_summary.columns = ['平均得分', '标准差']
内容的提问来源于stack exchange,提问作者Niken Amelia
相关产品推荐
相关产品推荐

