Python 将for循环中每个分类器的分类报告结果保存到csv

Python 将for循环中每个分类器的分类报告结果保存到csv,python,pandas,csv,scikit-learn,Python,Pandas,Csv,Scikit Learn,因此,我正在为一个数据集测试3个sklearn ml分类器,需要将每个ml分类器的所有结果保存在单独的csv文件中。有没有一种可能的方法可以做到这一点?我的代码如下: models= {'Random Forest':RandomForestClassifier(), 'LogisticRegression': LogisticRegression()} 'ExtraTrees': ExtraTreesClassifier()} for i, v in models.items():

因此,我正在为一个数据集测试3个sklearn ml分类器,需要将每个ml分类器的所有结果保存在单独的csv文件中。有没有一种可能的方法可以做到这一点?我的代码如下:

models= {'Random Forest':RandomForestClassifier(),
'LogisticRegression': LogisticRegression()}
'ExtraTrees': ExtraTreesClassifier()} 

for i, v in models.items():
    v.fit(X_train,Y_train)
    print('model ',i,' trained.')
    v_pred= v.predict(X_test)
    print('model ',i,' predictions made')
    v_pred= pd.DataFrame(v_pred, columns=Y_train.columns)
    accuracy = accuracy_score(Y_test, v_pred)
    confusion_matrix = confusion_matrix(Y_test, v_pred)
    classification = classification_report(Y_test, v_pred)

    print ("Model Accuracy: ", '{}%'.format(np.round(accuracy, 3) * 100)) 
    print()
    print("Confusion Matrix:" "\n", confusion_matrix)
    print()
    print("Classification Report:" "\n", classification) 

如有任何修改/建议/解决方案,将不胜感激。谢谢

您可以在for循环中插入以下代码,您可以在其中评估每个模型

Y_test=[1,2,3,4]
v_pred=[1,3,3,4]
i="Random Forest"
result=pd.DataFrame({"Y_test":Y_test,"v_pred":v_pred})
result.to_csv(i)

谢谢你的帮助。