Python:如何保存混淆矩阵

时间:2017-11-03 09:44:38

标签: python html csv 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文件一样好,但是任何事情都可以 - 请,不要疯狂的格式,你需要特殊的程序) 。

2 个答案:

答案 0 :(得分:2)

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

另外,搜索会很快回答,请将来再做。

答案 1 :(得分:1)

您可以这样做:     df_confusion.to_csv( 'File_name.csv')