We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Update gaussian_naive_bayes.py
Using the seaborn.heatmap library to plot the confusion matrix instead of the plot_confusion_matrix method from the sklearn.metrics module.

### Describe your change:
Adding to the previous update, to avoid a warning that the plot_confusion_matrix method from the sklearn.metrics throws, I have used the heatmap module of seaborn which takes an argument - the confusion matrix obtained from the confusion_matrix method in the sklearn.metrics library.


* [ ] Add an algorithm?
* [x] Fix a bug or typo in an existing algorithm?
* [ ] Documentation change?

### Checklist:
* [x] I have read [CONTRIBUTING.md](https://github.com/TheAlgorithms/Python/blob/master/CONTRIBUTING.md).
* [x] This pull request is all my own work -- I have not plagiarized.
* [x] I know that pull requests will not be merged if they fail the automated tests.
* [x] This PR only changes one algorithm file.  To ease review, please open separate PRs for separate algorithms.
* [x] All new Python files are placed inside an existing directory.
* [x] All filenames are in all lowercase characters with no spaces or dashes.
* [x] All functions and variable names follow Python naming conventions.
* [x] All function parameters and return values are annotated with Python [type hints](https://docs.python.org/3/library/typing.html).
* [x] All functions have [doctests](https://docs.python.org/3/library/doctest.html) that pass the automated testing.
* [x] All new algorithms have a URL in its comments that points to Wikipedia or other similar explanation.
* [x] If this pull request resolves one or more open issues then the commit message contains `Fixes: #{$ISSUE_NO}`.


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `machine_learning/gaussian_naive_bayes.py`
Content:
```
1 # Gaussian Naive Bayes Example
2 from matplotlib import pyplot as plt
3 from sklearn.datasets import load_iris
4 from sklearn.metrics import plot_confusion_matrix
5 from sklearn.model_selection import train_test_split
6 from sklearn.naive_bayes import GaussianNB
7 
8 
9 def main():
10 
11     """
12     Gaussian Naive Bayes Example using sklearn function.
13     Iris type dataset is used to demonstrate algorithm.
14     """
15 
16     # Load Iris dataset
17     iris = load_iris()
18 
19     # Split dataset into train and test data
20     x = iris["data"]  # features
21     y = iris["target"]
22     x_train, x_test, y_train, y_test = train_test_split(
23         x, y, test_size=0.3, random_state=1
24     )
25 
26     # Gaussian Naive Bayes
27     nb_model = GaussianNB()
28     nb_model.fit(x_train, y_train)
29 
30     # Display Confusion Matrix
31     plot_confusion_matrix(
32         nb_model,
33         x_test,
34         y_test,
35         display_labels=iris["target_names"],
36         cmap="Blues",
37         normalize="true",
38     )
39     plt.title("Normalized Confusion Matrix - IRIS Dataset")
40     plt.show()
41 
42 
43 if __name__ == "__main__":
44     main()
45
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/machine_learning/gaussian_naive_bayes.py b/machine_learning/gaussian_naive_bayes.py
--- a/machine_learning/gaussian_naive_bayes.py
+++ b/machine_learning/gaussian_naive_bayes.py
@@ -1,7 +1,9 @@
 # Gaussian Naive Bayes Example
+import time
+
 from matplotlib import pyplot as plt
 from sklearn.datasets import load_iris
-from sklearn.metrics import plot_confusion_matrix
+from sklearn.metrics import accuracy_score, plot_confusion_matrix
 from sklearn.model_selection import train_test_split
 from sklearn.naive_bayes import GaussianNB
 
@@ -25,7 +27,9 @@
 
     # Gaussian Naive Bayes
     nb_model = GaussianNB()
-    nb_model.fit(x_train, y_train)
+    time.sleep(2.9)
+    model_fit = nb_model.fit(x_train, y_train)
+    y_pred = model_fit.predict(x_test)  # Predictions on the test set
 
     # Display Confusion Matrix
     plot_confusion_matrix(
@@ -33,12 +37,16 @@
         x_test,
         y_test,
         display_labels=iris["target_names"],
-        cmap="Blues",
+        cmap="Blues",  # although, Greys_r has a better contrast...
         normalize="true",
     )
     plt.title("Normalized Confusion Matrix - IRIS Dataset")
     plt.show()
 
+    time.sleep(1.8)
+    final_accuracy = 100 * accuracy_score(y_true=y_test, y_pred=y_pred)
+    print(f"The overall accuracy of the model is: {round(final_accuracy, 2)}%")
+
 
 if __name__ == "__main__":
     main()

{"golden_diff": "diff --git a/machine_learning/gaussian_naive_bayes.py b/machine_learning/gaussian_naive_bayes.py\n--- a/machine_learning/gaussian_naive_bayes.py\n+++ b/machine_learning/gaussian_naive_bayes.py\n@@ -1,7 +1,9 @@\n # Gaussian Naive Bayes Example\n+import time\n+\n from matplotlib import pyplot as plt\n from sklearn.datasets import load_iris\n-from sklearn.metrics import plot_confusion_matrix\n+from sklearn.metrics import accuracy_score, plot_confusion_matrix\n from sklearn.model_selection import train_test_split\n from sklearn.naive_bayes import GaussianNB\n \n@@ -25,7 +27,9 @@\n \n     # Gaussian Naive Bayes\n     nb_model = GaussianNB()\n-    nb_model.fit(x_train, y_train)\n+    time.sleep(2.9)\n+    model_fit = nb_model.fit(x_train, y_train)\n+    y_pred = model_fit.predict(x_test)  # Predictions on the test set\n \n     # Display Confusion Matrix\n     plot_confusion_matrix(\n@@ -33,12 +37,16 @@\n         x_test,\n         y_test,\n         display_labels=iris[\"target_names\"],\n-        cmap=\"Blues\",\n+        cmap=\"Blues\",  # although, Greys_r has a better contrast...\n         normalize=\"true\",\n     )\n     plt.title(\"Normalized Confusion Matrix - IRIS Dataset\")\n     plt.show()\n \n+    time.sleep(1.8)\n+    final_accuracy = 100 * accuracy_score(y_true=y_test, y_pred=y_pred)\n+    print(f\"The overall accuracy of the model is: {round(final_accuracy, 2)}%\")\n+\n \n if __name__ == \"__main__\":\n     main()\n", "issue": "Update gaussian_naive_bayes.py\nUsing the seaborn.heatmap library to plot the confusion matrix instead of the plot_confusion_matrix method from the sklearn.metrics module.\r\n\r\n### Describe your change:\r\nAdding to the previous update, to avoid a warning that the plot_confusion_matrix method from the sklearn.metrics throws, I have used the heatmap module of seaborn which takes an argument - the confusion matrix obtained from the confusion_matrix method in the sklearn.metrics library.\r\n\r\n\r\n* [ ] Add an algorithm?\r\n* [x] Fix a bug or typo in an existing algorithm?\r\n* [ ] Documentation change?\r\n\r\n### Checklist:\r\n* [x] I have read [CONTRIBUTING.md](https://github.com/TheAlgorithms/Python/blob/master/CONTRIBUTING.md).\r\n* [x] This pull request is all my own work -- I have not plagiarized.\r\n* [x] I know that pull requests will not be merged if they fail the automated tests.\r\n* [x] This PR only changes one algorithm file.  To ease review, please open separate PRs for separate algorithms.\r\n* [x] All new Python files are placed inside an existing directory.\r\n* [x] All filenames are in all lowercase characters with no spaces or dashes.\r\n* [x] All functions and variable names follow Python naming conventions.\r\n* [x] All function parameters and return values are annotated with Python [type hints](https://docs.python.org/3/library/typing.html).\r\n* [x] All functions have [doctests](https://docs.python.org/3/library/doctest.html) that pass the automated testing.\r\n* [x] All new algorithms have a URL in its comments that points to Wikipedia or other similar explanation.\r\n* [x] If this pull request resolves one or more open issues then the commit message contains `Fixes: #{$ISSUE_NO}`.\r\n\n", "before_files": [{"content": "# Gaussian Naive Bayes Example\nfrom matplotlib import pyplot as plt\nfrom sklearn.datasets import load_iris\nfrom sklearn.metrics import plot_confusion_matrix\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.naive_bayes import GaussianNB\n\n\ndef main():\n\n    \"\"\"\n    Gaussian Naive Bayes Example using sklearn function.\n    Iris type dataset is used to demonstrate algorithm.\n    \"\"\"\n\n    # Load Iris dataset\n    iris = load_iris()\n\n    # Split dataset into train and test data\n    x = iris[\"data\"]  # features\n    y = iris[\"target\"]\n    x_train, x_test, y_train, y_test = train_test_split(\n        x, y, test_size=0.3, random_state=1\n    )\n\n    # Gaussian Naive Bayes\n    nb_model = GaussianNB()\n    nb_model.fit(x_train, y_train)\n\n    # Display Confusion Matrix\n    plot_confusion_matrix(\n        nb_model,\n        x_test,\n        y_test,\n        display_labels=iris[\"target_names\"],\n        cmap=\"Blues\",\n        normalize=\"true\",\n    )\n    plt.title(\"Normalized Confusion Matrix - IRIS Dataset\")\n    plt.show()\n\n\nif __name__ == \"__main__\":\n    main()\n", "path": "machine_learning/gaussian_naive_bayes.py"}], "after_files": [{"content": "# Gaussian Naive Bayes Example\nimport time\n\nfrom matplotlib import pyplot as plt\nfrom sklearn.datasets import load_iris\nfrom sklearn.metrics import accuracy_score, plot_confusion_matrix\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.naive_bayes import GaussianNB\n\n\ndef main():\n\n    \"\"\"\n    Gaussian Naive Bayes Example using sklearn function.\n    Iris type dataset is used to demonstrate algorithm.\n    \"\"\"\n\n    # Load Iris dataset\n    iris = load_iris()\n\n    # Split dataset into train and test data\n    x = iris[\"data\"]  # features\n    y = iris[\"target\"]\n    x_train, x_test, y_train, y_test = train_test_split(\n        x, y, test_size=0.3, random_state=1\n    )\n\n    # Gaussian Naive Bayes\n    nb_model = GaussianNB()\n    time.sleep(2.9)\n    model_fit = nb_model.fit(x_train, y_train)\n    y_pred = model_fit.predict(x_test)  # Predictions on the test set\n\n    # Display Confusion Matrix\n    plot_confusion_matrix(\n        nb_model,\n        x_test,\n        y_test,\n        display_labels=iris[\"target_names\"],\n        cmap=\"Blues\",  # although, Greys_r has a better contrast...\n        normalize=\"true\",\n    )\n    plt.title(\"Normalized Confusion Matrix - IRIS Dataset\")\n    plt.show()\n\n    time.sleep(1.8)\n    final_accuracy = 100 * accuracy_score(y_true=y_test, y_pred=y_pred)\n    print(f\"The overall accuracy of the model is: {round(final_accuracy, 2)}%\")\n\n\nif __name__ == \"__main__\":\n    main()\n", "path": "machine_learning/gaussian_naive_bayes.py"}]}