Python: 如何保存混淆矩阵

3

我尝试做的是将混淆矩阵保存在某种文本文件中(可能是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文件,但任何格式都可以 - 请不要使用需要特殊程序的疯狂格式)。

2个回答

5

1
我现在感到很糟糕... 我正在搜索像 "混淆矩阵转CSV" 或 "输出" 这样的东西,但我没有找到这个链接... 对此我很抱歉。我没有想到要搜索"将pandas导出为CSV". 非常感谢您! - David Botezatu
不客气,David。我们都有时会犯这些简单的错误。我个人经常发现,如果谷歌搜索没有返回确切的问题/答案,尝试以越来越一般的形式描述我的问题会非常有帮助。保重! - Zulfiqaar

1
您可以简单地执行以下操作:df_confusion.to_csv('文件名.csv')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接