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