代码之家  ›  专栏  ›  技术社区  ›  David Botezatu

Python:如何保存混淆矩阵

  •  2
  • David Botezatu  · 技术社区  · 7 年前

    我试图做的是将混淆矩阵保存在某种文本文件中(可能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 回复  |  直到 7 年前
        1
  •  3
  •   Zulfiqaar    7 年前
    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

        2
  •  1
  •   quest    7 年前

    您可以简单地执行以下操作: