我实现了自己的K折交叉验证(有一个特殊情况需要处理),并且我需要将预测及其置信度保存为新列。
1-在每次迭代中:test_predictions = clf.predict(X_test)
2-将perditions与真实数据进行比较:
treatments = test_fold.loc[:, 'treatment'].unique().tolist()
idx = df.index[df['treatment'].isin(treatments)].tolist()
并尝试将这些值保存到一个新列中,但我在每次迭代中只有一个测试折叠的值,而不是整个数据集的值,所以它没有工作:
df.iloc[idx]['new_col'] = (y_test == test_predictions)
其中,y_test是选择用于测试的折叠的标签数据(将真实的标签数据与分类器预测进行比较)
如何从每次迭代中聚合对应于每个测试折叠的正确索引的所有预测,然后在结束时将其保存为原始数据框上的新列(或在每次迭代期间每次保存一个部分)?
1条答案
按热度按时间hfsqlsce1#
您可以使用每次迭代的检查结果创建一个数组:
之后,您需要通过索引选择治疗对象,并通过loc写入结果:
(The必须提前创建new_col列)