我有一个测试文件和100个模型,我想在测试中评估。
在测试文件中有2列,第一列是ID,第二列是概率。
我希望每个模型都将其评估附加到相关ID旁边的新列。
我的代码现在在彼此之下构建它,如下所示:
1 0.1
2 0.12
3 0.32
1 0.21
2 0.22
3 0.17
我需要这样的形式:
1 0.1 0.21
2 0.12 0.22
3 0.32 0.17
到csv。
我的代码如下所示:
for chunk in pd.read_csv('test_numeric_out.csv', chunksize=10000):
chunk = chunk.drop(chunk.columns[len(chunk.columns)-1], axis=1)
for model in models:
X_test = chunk.drop(['Id'],axis=1)
inputnames = X_test.columns.values
X_test['p_0']=0
X_test['p_1']=0
X_test[ ['p_0','p_1'] ] = model.predict_proba(X_test[inputnames])
submission = pd.DataFrame({
"Id":chunk['Id'],
"Response":X_test['p_1']
})
if (head==0):
submission.to_csv(proba_out_csv,
index=False,
header=True,
mode='a',
chunksize=100000)
else:
submission.to_csv(proba_out_csv,
index=False,
header=False,
mode='a',
chunksize=100000)
head = 1