From b64c4af296e4873f68e14798e94a744663a4ae23 Mon Sep 17 00:00:00 2001 From: Prince Gangurde <50592495+Prince326@users.noreply.github.com> Date: Fri, 17 Apr 2020 07:08:44 +0530 Subject: [PATCH] Create gaussian_naive_bayes.py (#1861) * Create Gaussian_Naive_Bayes.py Added Gaussian Naive Bayes algorithm in the module machine learning * Rename Gaussian_Naive_Bayes.py to gaussian_naive_bayes.py * requirements.txt: pip install xgboost Co-authored-by: Christian Clauss --- machine_learning/gaussian_naive_bayes.py | 45 ++++++++++++++++++++++++ requirements.txt | 1 + 2 files changed, 46 insertions(+) create mode 100644 machine_learning/gaussian_naive_bayes.py diff --git a/machine_learning/gaussian_naive_bayes.py b/machine_learning/gaussian_naive_bayes.py new file mode 100644 index 000000000..24c884adb --- /dev/null +++ b/machine_learning/gaussian_naive_bayes.py @@ -0,0 +1,45 @@ +# Gaussian Naive Bayes Example + +from sklearn.naive_bayes import GaussianNB +from sklearn.metrics import plot_confusion_matrix +from sklearn.datasets import load_iris +from sklearn.model_selection import train_test_split +import matplotlib.pyplot as plt + + +def main(): + + """ + Gaussian Naive Bayes Example using sklearn function. + Iris type dataset is used to demonstrate algorithm. + """ + + # Load Iris dataset + iris = load_iris() + + # Split dataset into train and test data + X = iris["data"] # features + Y = iris["target"] + x_train, x_test, y_train, y_test = train_test_split( + X, Y, test_size=0.3, random_state=1 + ) + + # Gaussian Naive Bayes + NB_model = GaussianNB() + NB_model.fit(x_train, y_train) + + # Display Confusion Matrix + plot_confusion_matrix( + NB_model, + x_test, + y_test, + display_labels=iris["target_names"], + cmap="Blues", + normalize="true", + ) + plt.title("Normalized Confusion Matrix - IRIS Dataset") + plt.show() + + +if __name__ == "__main__": + main() diff --git a/requirements.txt b/requirements.txt index df5bcbafb..9d6cc502b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -15,3 +15,4 @@ scikit-fuzzy sklearn sympy tensorflow; python_version < '3.8' +xgboost