Exemplo n.º 1
0
 def test_fit(self):
     print("test_fit")
     nb = NaiveBayesClassifier()
     Xis = np.array([[3, 4], [2, 3]])
     yis = [0, 1]
     nb.prior_probs = np.zeros(2, dtype=np.float64)
     # Testing value updation with known calculation.
     self.assertEqual(nb.prior_probs[0], 0)
     self.assertEqual(nb.prior_probs[1], 0)
     self.assertEqual(nb.fit(Xis, yis), None)
     self.assertEqual(nb.prior_probs[0], 0.5)
     self.assertEqual(nb.prior_probs[1], 0.5)
Exemplo n.º 2
0
from NaiveBayes import NaiveBayesClassifier
#importing the class

import numpy as np
from sklearn.model_selection import train_test_split
from sklearn import datasets
import matplotlib.pyplot as plt


#Calculating accuracy --(actual-prediction)/(total no of samples)
def accuracy(y_actual, yhat):
    accuracy = np.sum(y_actual == yhat) / len(y_actual)
    return accuracy


X, y = datasets.make_classification(n_samples=1000,
                                    n_features=10,
                                    n_classes=2,
                                    random_state=123)
#Dividing the dataset into train and test -80-20 division
X_train, X_test, y_train, y_test = train_test_split(X,
                                                    y,
                                                    test_size=0.2,
                                                    random_state=123)

nb = NaiveBayesClassifier()
nb.fit(X_train, y_train)  #fitting the model
predictions = nb.predict(X_test)  #predicting on the test set

print("Accuracy", accuracy(y_test, predictions))  #calculating the accuracy