# ML - Native Bayes Classifiers
###### tags: `machine learning`
```
#!/usr/bin/env python3
import numpy as np
# BernoulliNB
X = np.array([[0, 1, 0, 1],
[1, 0, 1, 1],
[0, 0, 0, 1],
[1, 0, 1, 0]])
y = np.array([0, 1, 0, 1])
counts = {}
for label in np.unique(y):
# iterate over each class
# count (sum) entries of 1 per feature
counts[label] = X[y == label].sum(axis=0)
print("Feature counts:\n{}".format(counts))
'''
class 0
[0, 1, 0, 1]
[0, 0, 0, 1]
=> 1st feature, zero 2 times, nonzero 0 times
=> 2nd feature, zero 1 times, nonzero 1 times
=> 3rd feature, zero 2 times, nonzero 0 times
=> 4th feature, zero 0 times, nonzero 2 times
class 1
[1, 0, 1, 1]
[1, 0, 1, 0]
=> 1st feature, zero 0 times, nonzero 2 times
=> 2nd feature, zero 2 times, nonzero 0 times
=> 3rd feature, zero 0 times, nonzero 2 times
=> 4th feature, zero 1 times, nonzero 1 times
'''
```
#### output
```
Feature counts:
{0: array([0, 1, 0, 2]), 1: array([2, 0, 2, 1])}
```