From a375173ec1437a066dbd4096ca4c3a3104362cf0 Mon Sep 17 00:00:00 2001 From: aaron Date: Thu, 30 Apr 2026 20:04:48 +0200 Subject: [PATCH] feature(nb): add a variance difference plot for digit 3 vs 8 --- .../naivebayes/naivebayes_3v8_variance.png | Bin 0 -> 26146 bytes ML/aufgaben/naivebayes/naivebayes_digits.py | 9 +++++++++ 2 files changed, 9 insertions(+) create mode 100644 ML/aufgaben/naivebayes/naivebayes_3v8_variance.png diff --git a/ML/aufgaben/naivebayes/naivebayes_3v8_variance.png b/ML/aufgaben/naivebayes/naivebayes_3v8_variance.png new file mode 100644 index 0000000000000000000000000000000000000000..f33951f5f381b94972a7164ccba89347618a7fb0 GIT binary patch literal 26146 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 literal 0 HcmV?d00001 diff --git a/ML/aufgaben/naivebayes/naivebayes_digits.py b/ML/aufgaben/naivebayes/naivebayes_digits.py index 1b70bae..07f6a80 100644 --- a/ML/aufgaben/naivebayes/naivebayes_digits.py +++ b/ML/aufgaben/naivebayes/naivebayes_digits.py @@ -47,3 +47,12 @@ for i, ax in enumerate(axes.flat): ax.axis('off') fig.suptitle('NB: Pixel variance per class') fig.savefig('naivebayes_digits_variance.png', dpi=150, bbox_inches='tight') + +# plot the variance difference between two commonly confused digits like 3 and 8 to see +# on which pixels nb relies to tell them apart +plt.figure() +diff = abs(classifier.var_[3] - classifier.var_[8]) +plt.imshow(diff.reshape(8, 8), cmap='hot') +plt.title('Variance difference: 3 vs 8') +plt.colorbar() +plt.savefig('naivebayes_3v8_variance.png', dpi=150, bbox_inches='tight')