如何在 Scikit-learn 中的 运行 predict_proba() 之后保留行索引?

How to keep row index after running predict_proba() in Scikit-learn?

我创建了一个逻辑回归模型来预测活动的接受率,其中 0 = 不接受,1 = 接受。现在,我需要将三个特定的列放在一起:person_id、实际接受度 score(1 或 0)以及 sklearn 的 predict_proba().

的输出

两者person_id及其各自的实际验收score我都可以从测试集中得到,这样就解决了。但是,如果我想使用行索引将 predict_proba() 的输出与 person_idscore 合并,那么我就有问题了。这是因为 predict_proba() 重置了索引。所以,我不能保证如果我将它与 person_id 和接受 score 连接起来,它们会匹配其各自的行。这些是我的问题:

  1. 有什么方法可以 return predict_proba() 保留原始行索引而不是 X_test?下面是 X_test 集上 predict_proba() 的代码行。

    df_proba = pd.DataFrame(model.predict_proba(X_test)[:,1], columns=['proba'])
    
  2. 尽管重置索引,predict_proba() 是否保持行顺序?因此,我可以简单地按列连接 (axis=1)?

predict_proba() 方法不会打乱数据。应用上述方法后,X_test 的行索引将得到维护。换句话说,预测的第一个条目对应于 X_test 的第一行。您可以简单地连接 person_idscoreprediction.