# code.py # Please use env.yaml to build corresponding conda env if you want to run this script # # author : deng # date : 20230919 # platform: MacBook Pro 14 2021 import pandas from sklearn import metrics import matplotlib.pyplot as plt if __name__ == '__main__': csv_path = 'psudo_result.csv' df = pandas.read_csv(csv_path) df = df[:-1] # Quick glance print('Ground truth') print(df['Ground truth'].value_counts()) print('Gender') print(df['Gender'].value_counts()) print('Age') plt.title('All patients') plt.xlabel('age') plt.ylabel('count') df['Age'].hist(bins=20) plt.show() plt.title('Sick patients') plt.xlabel('age') plt.ylabel('count') df[df['Ground truth'] == 'Sick']['Age'].hist(bins=20) plt.show() # Confusion Matrix # threshold = 0.5 # gt = df['Ground truth'] # pred = ['Sick' if val >= threshold else 'No Sick' # for val in df['AI pred']] # print(metrics.classification_report(gt, pred)) # ROC curve gt = [1 if val == 'Sick' else 0 for val in df['Ground truth']] pred = df['AI pred'] fpr, tpr, thresholds = metrics.roc_curve(gt, pred, pos_label=1) plt.title('ROC curve') plt.plot(fpr, tpr) plt.ylabel('True Positive Rate') plt.xlabel('False Positive Rate') plt.show()