Python: 如何保存混淆矩阵

Python: how to save a confusion matrix

我尝试做的是在某种文本文件中保存混淆矩阵(可能 HTML 看起来最好)。我需要从 csv 文件中获取数据,将其添加到数组中,然后创建混淆矩阵。代码:

import csv
import pandas as pd

data = csv.reader(open('results_date.csv', 'r'), delimiter=";", quotechar='|')
next(data)

true_data = []
pred_data = []

for row in data:
    if len(row) >= 2:
        true_data.append(row[0])
        pred_data.append(row[1])

true_data = [s.strip().split('_')[0] for s in true_data]
pred_data = [s.strip().split('=')[0] for s in pred_data]

y_true = pd.Series(true_data, name="Actual")
y_pred = pd.Series(pred_data, name="Predicted")
df_confusion = pd.crosstab(y_true, y_pred)
print (df_confusion)

混淆矩阵如下所示:

Predicted  class1  class2  class3  class4  classX
Actual
class1          5       6       0       4       5
class2          1       0       4       8       0
class3          5       3       2       0       1
class4          4       2       5       2       0
classX          0       5       2       1       7

我想以相同的形式将它输出到某个文件中(我的猜测是 HTML 或 CSV 文件看起来会更好,但任何东西都可以 - 请不要疯狂的格式你需要特殊的程序)。

df_confusion.to_csv('your_output_file_name.csv')
df_confusion.to_html('your_output_file_name.html')

查看文档以获取完整的详细信息和参数:

http://pandas.pydata.org/pandas-docs/version/0.20.3/generated/pandas.DataFrame.to_csv.html

https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_html.html

另外,搜索一下就可以很快找到答案,请以后再做。

你可以简单地做: df_confusion.to_csv('File_name.csv')