-
Notifications
You must be signed in to change notification settings - Fork 0
/
gaussian.py
36 lines (30 loc) · 1020 Bytes
/
gaussian.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Bayesian Classifier with continuous attributes
# Import dependencies.
from sklearn import preprocessing
from sklearn.naive_bayes import GaussianNB
# Create data set.
at1 = [3.2, 5.2, 8.5, 2.3, 6.2, 1.3]
at2 = [2.1, 6.1, 1.3, 5.4, 3.1, 6.0]
at3 = [2.1, 7.5, 0.5, 2.45, 4.4, 3.35]
class_label = 'pos pos pos neg neg neg'.split()
# Encode data set into numbers.
label_encoder = preprocessing.LabelEncoder()
encoded_class_label = label_encoder.fit_transform(class_label)
# Build the classifier.
classifier = []
for i in range(len(class_label)):
classifier.append([at1[i], at2[i], at3[i]])
# Train the model.
model = GaussianNB()
model.fit(classifier, encoded_class_label)
# Test the model. Positive = 1, Negative = 0.
user_at = []
print('Please input the attributes you want to test.')
print('Attribute 1:')
user_at.append(float(input()))
print('Attribute 2:')
user_at.append(float(input()))
print('Attribute 3:')
user_at.append(float(input()))
print('The class for', user_at, 'is:')
print(model.predict([user_at]))