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

如何在Scikit-learn运行predict_proba()后保留原始行索引

问题解答

问题1:保留X_test原始行索引的方法

predict_proba()本身返回的是无索引的numpy数组,不会主动保留输入数据的索引,你只需要在创建DataFrame时手动指定index参数为X_test的原始索引即可,修改后的代码如下:

df_proba = pd.DataFrame(model.predict_proba(X_test)[:,1], columns=['proba'], index=X_test.index)

这样生成的df_proba的行索引就和X_test完全一致,之后可以直接用索引合并的方式和存储person_id、score的表拼接,不会出现行匹配错误。

问题2:predict_proba输出的行顺序规则

sklearn所有预测类方法(包括predict()、predict_proba()、predict_log_proba()等)的输出行顺序,和输入特征集的行顺序完全一致,不会主动打乱或重排顺序。
只要你没有在获取person_id、score之后对测试集的行顺序做过排序、打乱、筛选等调整,直接通过pd.concat([存储person_id和score的测试集表, df_proba], axis=1)按列拼接是完全可行的,不会出现行对应错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 05:48:03