prompt: 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()
  
  ```
  
golden_diff: 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()
  
verification_info: {"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"}]}