【问题标题】:Python: how to save a confusion matrixPython:如何保存混淆矩阵
【发布时间】:2017-11-03 09:44:38
【问题描述】:

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

【问题讨论】:

    标签: python html csv confusion-matrix


    【解决方案1】:
    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

    另外,搜索会很快回答,请以后再做。

    【讨论】:

    • 我现在感觉很糟糕......我正在搜索“confusion matrix to csv”或“output”之类的东西,但我没有找到这个链接......对不起。我没想过搜索“熊猫到csv”。非常感谢!
    • 不客气,大卫,我们有时都会犯这些简单的错误。如果谷歌搜索没有返回确切问题/问题的答案,我个人经常发现尝试以越来越普遍的形式描述我的问题很有帮助。保重!
    【解决方案2】:

    您可以简单地执行以下操作: df_confusion.to_csv('File_name.csv')

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-10
      • 2020-10-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-10
      • 2016-07-25
      • 2017-02-25
      • 1970-01-01
      相关资源
      最近更新 更多