2017-11-03 8 views
0

Was ich versuche zu tun, ist eine Verwirrungsmatrix in einer Art Textdatei zu speichern (wahrscheinlich sieht HTML am besten aus). Ich muss die Daten aus einer CSV-Datei nehmen, sie in Arrays hinzufügen und dann die Konfusionsmatrix erstellen. Code:Python: Wie man eine Konfusionsmatrix speichert

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) 

Die Verwirrung Matrix sieht wie folgt aus:

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 

und ich möchte es in eine Datei, unter der gleichen Form zur Ausgabe (meine Vermutung ist, dass es als HTML besser aussehen würde oder CSV-Datei, aber alles würde tun - bitte, nicht verrückte Formate, für die Sie spezielle Programme benötigen.

Antwort

2
df_confusion.to_csv('your_output_file_name.csv') 
df_confusion.to_html('your_output_file_name.html') 

Überprüfen Sie die Dokumentation für weitere Informationen und Parameter:

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

auch hätte eine Suche beantwortet es sehr schnell, bitte in Zukunft tun.

+0

ich fühle mich jetzt schlecht ... ich Sachen war auf der Suche, wie „Konfusionsmatrix in eine CSV“ oder „Ausgang“ oder solche Sachen, aber ich habe diesen link nicht gefunden ... Sorry dafür. Ich habe nicht daran gedacht, "Pandas zu CSV" zu suchen. Vielen Dank! –

+0

du bist willkommen david, machen wir alle diese einfachen fehler manchmal. Ich persönlich finde es oft sehr hilfreich, mein Problem in immer allgemeineren Formen zu beschreiben, wenn eine Google-Suche keine Antwort auf die genaue Frage/Problem gibt. Pass auf! – Zulfiqaar

1

Sie können einfach tun: df_confusion.to_csv (‚File_name.csv‘)

Verwandte Themen