J'essaie de calculer l'ect du taux positif vrai. d'une matrice de confusion binaire et affiche les résultats dans un fichier csv.Les données sont imprimées, mais n'écrivent pas dans la trame
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import csv
from sklearn.metrics import confusion_matrix
AllBinary = pd.read_csv('BinaryData.csv')
y_test = AllBinary['Binary_ac']
y_pred = AllBinary['Binary_pred']
cm = confusion_matrix(y_test, y_pred)
stats = pd.DataFrame()
TP = cm[0][0]
FP = cm[0][1]
FN = cm[1][0]
TN = cm[1][1]
stats['TruePositive'] = TP
stats['TrueNegative'] = TN
stats['FalsePositive'] = FP
stats['FalseNegative'] = FN
print(TP)
print(TN)
print(FP)
print(FN)
stats.to_csv('C:/out/' + 'BinaryStats' + '.csv', header = True)
Les résultats d'impression montrent que les statistiques de la matrice de confusion de base sont calculés comme suit:
210483
153902
32845
10788
La sortie csv crée les titres, mais les résultats sont vides. Que fais-je incorrectement?
Mise à jour:
print(stats)
Empty DataFrame
Columns: [TruePositive, TrueNegative, Falsepositive, FalseNegative]
Juste 'impression (statistiques)' pour voir ce qui est à l'intérieur. –
fait 'stats.to_csv (r'C: /out/BinaryStats.csv ', header = True)' travail? – EdChum
stats.to_csv (r'C: /out/BinaryStats.csv 'en-tête = True) donne les mêmes résultats. Merci pour la suggestion. J'ai imprimé les statistiques comme George a suggéré, et le dataframe est vide. Je ne comprends pas pourquoi la valeur 'TP' s'imprime, mais n'écrit pas dans la base de données. – kharn