21brs1474 Lab3
21brs1474 Lab3
August 2, 2024
X = data.drop('Target', axis=1)
y = data['Target']
label_encoders = {}
for column in X.columns:
le = LabelEncoder()
X[column] = le.fit_transform(X[column])
label_encoders[column] = le
gaussian_nb = GaussianNB()
gaussian_nb.fit(X_train, y_train)
categorical_nb = CategoricalNB(alpha=0.5)
categorical_nb.fit(X_train, y_train)
y_pred_gaussian = gaussian_nb.predict(X_test)
y_pred_categorical = categorical_nb.predict(X_test)
1
print("Gaussian Naive Bayes:")
print("Accuracy:", accuracy_score(y_test, y_pred_gaussian))
print("Classification Report:\n", classification_report(y_test,␣
↪y_pred_gaussian,zero_division=1))
# Model Parameters
print("\nGaussian Naive Bayes Parameters:", gaussian_nb.get_params())
print("Categorical Naive Bayes Parameters:", categorical_nb.get_params())
# Conclusion
gaussian_accuracy = accuracy_score(y_test, y_pred_gaussian)
categorical_accuracy = accuracy_score(y_test, y_pred_categorical)
else:
print("\nConclusion: Both models performed equally with an accuracy of",␣
↪gaussian_accuracy)
VIVEK NARAYANAN C V
21BRS1474
Gaussian Naive Bayes:
Accuracy: 0.6462191358024691
Classification Report:
precision recall f1-score support
2
Confusion Matrix:
[[870 0 0 0 0]
[ 0 273 0 109 491]
[ 0 0 0 0 2]
[ 0 63 0 470 252]
[ 0 0 0 0 62]]
Confusion Matrix:
[[870 0 0 0 0]
[ 0 785 0 88 0]
[ 0 0 0 0 2]
[ 0 100 0 685 0]
[ 0 58 0 0 4]]