From ddc12c130307da58cba10f183c2c6038e90344bb Mon Sep 17 00:00:00 2001 From: Baptiste Bauvin <baptiste.bauvin.1@ulaval.ca> Date: Sat, 21 Oct 2017 13:49:05 -0400 Subject: [PATCH] Added graphs tovizualize errors on examples --- .../ResultAnalysis.py | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/Code/MonoMultiViewClassifiers/ResultAnalysis.py b/Code/MonoMultiViewClassifiers/ResultAnalysis.py index c185401f..ea7e04d8 100644 --- a/Code/MonoMultiViewClassifiers/ResultAnalysis.py +++ b/Code/MonoMultiViewClassifiers/ResultAnalysis.py @@ -90,7 +90,7 @@ def analyzeIterLabels(labelsAnalysisList, directory, classifiersNames, minSize=1 figKW = {"figsize": (figWidth, figHeight)} fig, ax = plt.subplots(nrows=1, ncols=1, **figKW) data = sum(labelsAnalysisList) - cax = plt.imshow(data, interpolation='none', cmap="grey", aspect='auto') + cax = plt.imshow(-data, interpolation='none', cmap="Greys", aspect='auto') plt.title('Errors depending on the classifier') ticks = np.arange(nbIter/2-0.5, nbClassifiers * nbIter, nbIter) plt.xticks(ticks, classifiersNames, rotation="vertical") @@ -99,6 +99,16 @@ def analyzeIterLabels(labelsAnalysisList, directory, classifiersNames, minSize=1 fig.tight_layout() fig.savefig(directory + time.strftime("%Y%m%d-%H%M%S") + "-error_analysis.png") plt.close() + errorOnExamples = -1 * np.sum(data, axis=1) / nbIter + (nbClassifiers*len(labelsAnalysisList)) + np.savetxt(directory + time.strftime("%Y%m%d-%H%M%S") + "-clf_errors.csv", data, delimiter=",") + np.savetxt(directory + time.strftime("%Y%m%d-%H%M%S") + "-example_errors.csv", errorOnExamples, delimiter=",") + fig, ax = plt.subplots() + x = np.arange(nbExamples) + plt.bar(x, errorOnExamples) + plt.ylim([0,nbClassifiers*len(labelsAnalysisList)]) + plt.title("Number of classifiers that failed to classify each example") + fig.savefig(directory + time.strftime("%Y%m%d-%H%M%S") + "-example_errors.png") + plt.close() def analyzeLabels(labelsArrays, realLabels, results, directory, minSize = 10): @@ -130,6 +140,16 @@ def analyzeLabels(labelsArrays, realLabels, results, directory, minSize = 10): fig.tight_layout() fig.savefig(directory + time.strftime("%Y%m%d-%H%M%S") + "-error_analysis.png") plt.close() + errorOnExamples = -1*np.sum(data, axis=1)/nbIter+nbClassifiers + np.savetxt(directory + time.strftime("%Y%m%d-%H%M%S") + "-clf_errors.csv", data, delimiter=",") + np.savetxt(directory + time.strftime("%Y%m%d-%H%M%S") + "-example_errors.csv", errorOnExamples, delimiter=",") + fig, ax = plt.subplots() + x = np.arange(nbExamples) + plt.bar(x, errorOnExamples) + plt.ylim([0,nbClassifiers]) + plt.title("Number of classifiers that failed to classify each example") + fig.savefig(directory + time.strftime("%Y%m%d-%H%M%S") + "-example_errors.png") + plt.close() return data -- GitLab