-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathsal_NB.py
More file actions
54 lines (42 loc) · 1.67 KB
/
sal_NB.py
File metadata and controls
54 lines (42 loc) · 1.67 KB
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# -*- coding: utf-8 -*-
"""
Created on Sun Nov 8 16:50:03 2020
@author: HP
"""
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
salary_train=pd.read_csv('C:/Users/HP/Desktop/assignments submission/Naive Bayes/SalaryData_Train.csv')
salary_test=pd.read_csv('C:/Users/HP/Desktop/assignments submission/Naive Bayes/SalaryData_Test.csv')
salary_train.columns
salary_test.columns
string_columns=['workclass','education','maritalstatus','occupation','relationship','race','sex','native']
from sklearn import preprocessing
label_encoder=preprocessing.LabelEncoder()
for i in string_columns:
salary_train[i]=label_encoder.fit_transform(salary_train[i])
salary_test[i]=label_encoder.fit_transform(salary_test[i])
col_names=list(salary_train.columns)
train_X=salary_train[col_names[0:13]]
train_Y=salary_train[col_names[13]]
test_x=salary_test[col_names[0:13]]
test_y=salary_test[col_names[13]]
######### Naive Bayes ##############
#Gaussian Naive Bayes
from sklearn.naive_bayes import GaussianNB
Gmodel=GaussianNB()
train_pred_gau=Gmodel.fit(train_X,train_Y).predict(train_X)
test_pred_gau=Gmodel.fit(train_X,train_Y).predict(test_x)
train_acc_gau=np.mean(train_pred_gau==train_Y)
test_acc_gau=np.mean(test_pred_gau==test_y)
train_acc_gau#0.795
test_acc_gau#0.794
#Multinomial Naive Bayes
from sklearn.naive_bayes import MultinomialNB
Mmodel=MultinomialNB()
train_pred_multi=Mmodel.fit(train_X,train_Y).predict(train_X)
test_pred_multi=Mmodel.fit(train_X,train_Y).predict(test_x)
train_acc_multi=np.mean(train_pred_multi==train_Y)
test_acc_multi=np.mean(test_pred_multi==test_y)
train_acc_multi#0.772
test_acc_multi#0.774