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

如何将多分类predict_proba预测概率追加到pandas DataFrame

多分类预测概率拆分写入DataFrame实现方案

你可以直接将predict_proba返回的二维概率数组按列赋值到原DataFrame,无需额外转列表操作,具体实现步骤如下:

  • 第一步:修正预测逻辑
    注意clf.predict_proba()的入参需要是符合模型输入要求的特征矩阵,不能直接传入文件路径,先加载测试数据再执行预测:
import pandas as pd

# 加载测试集
test = pd.read_csv("test.csv")
# 剔除非特征字段(比如示例里的customer_id,按你的实际字段调整)
X_test = test.drop(columns=["customer_id"])
# 执行预测得到概率二维数组
y_proba = clf.predict_proba(X_test)
  • 第二步:按列写入概率值
    生成对应类别列名后,直接将概率数组赋值给DataFrame的新列即可,pandas会自动按行对齐:
# 按类别数量生成class_1、class_2...格式的列名
class_columns = [f"class_{i+1}" for i in range(y_proba.shape[1])]
# 批量赋值概率列
test[class_columns] = y_proba
  • 第三步:(可选)提取目标格式结果
    如果只需要保留客户ID加各类别概率的结构,直接筛选列即可:
final_result = test[["customer_id"] + class_columns]

注意:如果你需要严格对齐模型内部的类别顺序,可以通过clf.classes_属性获取模型训练时的类别排序,用这个属性生成列名可以避免概率列和类别对应错位:

class_columns = [f"class_{label}" for label in clf.classes_]

执行后得到的final_result就完全匹配你给出的目标格式,每一列单独存储对应类别的预测概率,行顺序和原测试集样本完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 23:03:53