我创建了一个逻辑回归模型来预测一个活动的接受率,其中0表示未接受,1表示接受。现在,我需要将三个特定的列组合在一起:person_id
、实际的接受score
(1或0),以及来自sklearn的predict_proba()
的输出。
我可以从测试集中获取person_id
及其相应的实际接受score
,所以这个问题已经解决了。然而,如果我想使用它们的行索引将predict_proba()
的输出与person_id
和score
合并,那么我遇到了一个问题。这是因为predict_proba()
会重置索引。因此,我无法保证如果我将其与person_id
和接受score
连接,它们会匹配相应的行。以下是我的问题:
-
有没有办法在返回
predict_proba()
时保留X_test的原始行索引?下面是针对X_test集的predict_proba()的代码行。df_proba = pd.DataFrame(model.predict_proba(X_test)[:,1], columns=['proba'])
-
predict_proba()
是否在重置索引的同时保持行顺序?因此,我可以简单地按列(axis=1)进行连接?
回答:
predict_proba()
方法不会打乱数据。应用上述方法后,您的X_test的行索引会被保留。换句话说,预测的第一个条目对应于X_test的第一行。您可以简单地连接person_id
、score
和prediction
。