機器學習之樸素貝葉斯

一、導入標準庫

In [2]:
# Importing the libraries 導入庫
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
# 使圖像能夠調整
%matplotlib notebook 
#中文字體顯示  
plt.rc('font', family='SimHei', size=8)

二、導入數據

In [3]:
dataset = pd.read_csv('Social_Network_Ads.csv')
dataset
Out[3]:
 User IDGenderAgeEstimatedSalaryPurchased
015624510Male19.019000.00
115810944Male35.020000.00
215668575Female26.043000.00
315603246Female27.057000.00
415804002Male19.076000.00
515728773Male27.058000.00
615598044Female27.084000.00
715694829Female32.0150000.01
815600575Male25.033000.00
915727311Female35.065000.00
1015570769Female26.080000.00
1115606274Female26.052000.00
1215746139Male20.086000.00
1315704987Male32.018000.00
1415628972Male18.082000.00
1515697686Male29.080000.00
1615733883Male47.025000.01
1715617482Male45.026000.01
1815704583Male46.028000.01
1915621083Female48.029000.01
2015649487Male45.022000.01
2115736760Female47.049000.01
2215714658Male48.041000.01
2315599081Female45.022000.01
2415705113Male46.023000.01
2515631159Male47.020000.01
2615792818Male49.028000.01
2715633531Female47.030000.01
2815744529Male29.043000.00
2915669656Male31.018000.00
..................
37015611430Female60.046000.01
37115774744Male60.083000.01
37215629885Female39.073000.00
37315708791Male59.0130000.01
37415793890Female37.080000.00
37515646091Female46.032000.01
37615596984Female46.074000.00
37715800215Female42.053000.00
37815577806Male41.087000.01
37915749381Female58.023000.01
38015683758Male42.064000.00
38115670615Male48.033000.01
38215715622Female44.0139000.01
38315707634Male49.028000.01
38415806901Female57.033000.01
38515775335Male56.060000.01
38615724150Female49.039000.01
38715627220Male39.071000.00
38815672330Male47.034000.01
38915668521Female48.035000.01
39015807837Male48.033000.01
39115592570Male47.023000.01
39215748589Female45.045000.01
39315635893Male60.042000.01
39415757632Female39.059000.00
39515691863Female46.041000.01
39615706071Male51.023000.01
39715654296Female50.020000.01
39815755018Male36.033000.00
39915594041Female49.036000.01

400 rows × 5 columns

In [4]:
X = dataset.iloc[:, [2,3]].values # 年齡和薪水
y = dataset.iloc[:, 4].values     # 是否投放廣告
X
Out[4]:
array([[  1.90000000e+01,   1.90000000e+04],
       [  3.50000000e+01,   2.00000000e+04],
       [  2.60000000e+01,   4.30000000e+04],
       [  2.70000000e+01,   5.70000000e+04],
       [  1.90000000e+01,   7.60000000e+04],
       [  2.70000000e+01,   5.80000000e+04],
       [  2.70000000e+01,   8.40000000e+04],
       [  3.20000000e+01,   1.50000000e+05],
       [  2.50000000e+01,   3.30000000e+04],
       [  3.50000000e+01,   6.50000000e+04],
       [  2.60000000e+01,   8.00000000e+04],
       [  2.60000000e+01,   5.20000000e+04],
       [  2.00000000e+01,   8.60000000e+04],
       [  3.20000000e+01,   1.80000000e+04],
       [  1.80000000e+01,   8.20000000e+04],
       [  2.90000000e+01,   8.00000000e+04],
       [  4.70000000e+01,   2.50000000e+04],
       [  4.50000000e+01,   2.60000000e+04],
       [  4.60000000e+01,   2.80000000e+04],
       [  4.80000000e+01,   2.90000000e+04],
       [  4.50000000e+01,   2.20000000e+04],
       [  4.70000000e+01,   4.90000000e+04],
       [  4.80000000e+01,   4.10000000e+04],
       [  4.50000000e+01,   2.20000000e+04],
       [  4.60000000e+01,   2.30000000e+04],
       [  4.70000000e+01,   2.00000000e+04],
       [  4.90000000e+01,   2.80000000e+04],
       [  4.70000000e+01,   3.00000000e+04],
       [  2.90000000e+01,   4.30000000e+04],
       [  3.10000000e+01,   1.80000000e+04],
       [  3.10000000e+01,   7.40000000e+04],
       [  2.70000000e+01,   1.37000000e+05],
       [  2.10000000e+01,   1.60000000e+04],
       [  2.80000000e+01,   4.40000000e+04],
       [  2.70000000e+01,   9.00000000e+04],
       [  3.50000000e+01,   2.70000000e+04],
       [  3.30000000e+01,   2.80000000e+04],
       [  3.00000000e+01,   4.90000000e+04],
       [  2.60000000e+01,   7.20000000e+04],
       [  2.70000000e+01,   3.10000000e+04],
       [  2.70000000e+01,   1.70000000e+04],
       [  3.30000000e+01,   5.10000000e+04],
       [  3.50000000e+01,   1.08000000e+05],
       [  3.00000000e+01,   1.50000000e+04],
       [  2.80000000e+01,   8.40000000e+04],
       [  2.30000000e+01,   2.00000000e+04],
       [  2.50000000e+01,   7.90000000e+04],
       [  2.70000000e+01,   5.40000000e+04],
       [  3.00000000e+01,   1.35000000e+05],
       [  3.10000000e+01,   8.90000000e+04],
       [  2.40000000e+01,   3.20000000e+04],
       [  1.80000000e+01,   4.40000000e+04],
       [  2.90000000e+01,   8.30000000e+04],
       [  3.50000000e+01,   2.30000000e+04],
       [  2.70000000e+01,   5.80000000e+04],
       [  2.40000000e+01,   5.50000000e+04],
       [  2.30000000e+01,   4.80000000e+04],
       [  2.80000000e+01,   7.90000000e+04],
       [  2.20000000e+01,   1.80000000e+04],
       [  3.20000000e+01,   1.17000000e+05],
       [  2.70000000e+01,   2.00000000e+04],
       [  2.50000000e+01,   8.70000000e+04],
       [  2.30000000e+01,   6.60000000e+04],
       [  3.20000000e+01,   1.20000000e+05],
       [  5.90000000e+01,   8.30000000e+04],
       [  2.40000000e+01,   5.80000000e+04],
       [  2.40000000e+01,   1.90000000e+04],
       [  2.30000000e+01,   8.20000000e+04],
       [  2.20000000e+01,   6.30000000e+04],
       [  3.10000000e+01,   6.80000000e+04],
       [  2.50000000e+01,   8.00000000e+04],
       [  2.40000000e+01,   2.70000000e+04],
       [  2.00000000e+01,   2.30000000e+04],
       [  3.30000000e+01,   1.13000000e+05],
       [  3.20000000e+01,   1.80000000e+04],
       [  3.40000000e+01,   1.12000000e+05],
       [  1.80000000e+01,   5.20000000e+04],
       [  2.20000000e+01,   2.70000000e+04],
       [  2.80000000e+01,   8.70000000e+04],
       [  2.60000000e+01,   1.70000000e+04],
       [  3.00000000e+01,   8.00000000e+04],
       [  3.90000000e+01,   4.20000000e+04],
       [  2.00000000e+01,   4.90000000e+04],
       [  3.50000000e+01,   8.80000000e+04],
       [  3.00000000e+01,   6.20000000e+04],
       [  3.10000000e+01,   1.18000000e+05],
       [  2.40000000e+01,   5.50000000e+04],
       [  2.80000000e+01,   8.50000000e+04],
       [  2.60000000e+01,   8.10000000e+04],
       [  3.50000000e+01,   5.00000000e+04],
       [  2.20000000e+01,   8.10000000e+04],
       [  3.00000000e+01,   1.16000000e+05],
       [  2.60000000e+01,   1.50000000e+04],
       [  2.90000000e+01,   2.80000000e+04],
       [  2.90000000e+01,   8.30000000e+04],
       [  3.50000000e+01,   4.40000000e+04],
       [  3.50000000e+01,   2.50000000e+04],
       [  2.80000000e+01,   1.23000000e+05],
       [  3.50000000e+01,   7.30000000e+04],
       [  2.80000000e+01,   3.70000000e+04],
       [  2.70000000e+01,   8.80000000e+04],
       [  2.80000000e+01,   5.90000000e+04],
       [  3.20000000e+01,   8.60000000e+04],
       [  3.30000000e+01,   1.49000000e+05],
       [  1.90000000e+01,   2.10000000e+04],
       [  2.10000000e+01,   7.20000000e+04],
       [  2.60000000e+01,   3.50000000e+04],
       [  2.70000000e+01,   8.90000000e+04],
       [  2.60000000e+01,   8.60000000e+04],
       [  3.80000000e+01,   8.00000000e+04],
       [  3.90000000e+01,   7.10000000e+04],
       [  3.70000000e+01,   7.10000000e+04],
       [  3.80000000e+01,   6.10000000e+04],
       [  3.70000000e+01,   5.50000000e+04],
       [  4.20000000e+01,   8.00000000e+04],
       [  4.00000000e+01,   5.70000000e+04],
       [  3.50000000e+01,   7.50000000e+04],
       [  3.60000000e+01,   5.20000000e+04],
       [  4.00000000e+01,   5.90000000e+04],
       [  4.10000000e+01,   5.90000000e+04],
       [  3.60000000e+01,   7.50000000e+04],
       [  3.70000000e+01,   7.20000000e+04],
       [  4.00000000e+01,   7.50000000e+04],
       [  3.50000000e+01,   5.30000000e+04],
       [  4.10000000e+01,   5.10000000e+04],
       [  3.90000000e+01,   6.10000000e+04],
       [  4.20000000e+01,   6.50000000e+04],
       [  2.60000000e+01,   3.20000000e+04],
       [  3.00000000e+01,   1.70000000e+04],
       [  2.60000000e+01,   8.40000000e+04],
       [  3.10000000e+01,   5.80000000e+04],
       [  3.30000000e+01,   3.10000000e+04],
       [  3.00000000e+01,   8.70000000e+04],
       [  2.10000000e+01,   6.80000000e+04],
       [  2.80000000e+01,   5.50000000e+04],
       [  2.30000000e+01,   6.30000000e+04],
       [  2.00000000e+01,   8.20000000e+04],
       [  3.00000000e+01,   1.07000000e+05],
       [  2.80000000e+01,   5.90000000e+04],
       [  1.90000000e+01,   2.50000000e+04],
       [  1.90000000e+01,   8.50000000e+04],
       [  1.80000000e+01,   6.80000000e+04],
       [  3.50000000e+01,   5.90000000e+04],
       [  3.00000000e+01,   8.90000000e+04],
       [  3.40000000e+01,   2.50000000e+04],
       [  2.40000000e+01,   8.90000000e+04],
       [  2.70000000e+01,   9.60000000e+04],
       [  4.10000000e+01,   3.00000000e+04],
       [  2.90000000e+01,   6.10000000e+04],
       [  2.00000000e+01,   7.40000000e+04],
       [  2.60000000e+01,   1.50000000e+04],
       [  4.10000000e+01,   4.50000000e+04],
       [  3.10000000e+01,   7.60000000e+04],
       [  3.60000000e+01,   5.00000000e+04],
       [  4.00000000e+01,   4.70000000e+04],
       [  3.10000000e+01,   1.50000000e+04],
       [  4.60000000e+01,   5.90000000e+04],
       [  2.90000000e+01,   7.50000000e+04],
       [  2.60000000e+01,   3.00000000e+04],
       [  3.20000000e+01,   1.35000000e+05],
       [  3.20000000e+01,   1.00000000e+05],
       [  2.50000000e+01,   9.00000000e+04],
       [  3.70000000e+01,   3.30000000e+04],
       [  3.50000000e+01,   3.80000000e+04],
       [  3.30000000e+01,   6.90000000e+04],
       [  1.80000000e+01,   8.60000000e+04],
       [  2.20000000e+01,   5.50000000e+04],
       [  3.50000000e+01,   7.10000000e+04],
       [  2.90000000e+01,   1.48000000e+05],
       [  2.90000000e+01,   4.70000000e+04],
       [  2.10000000e+01,   8.80000000e+04],
       [  3.40000000e+01,   1.15000000e+05],
       [  2.60000000e+01,   1.18000000e+05],
       [  3.40000000e+01,   4.30000000e+04],
       [  3.40000000e+01,   7.20000000e+04],
       [  2.30000000e+01,   2.80000000e+04],
       [  3.50000000e+01,   4.70000000e+04],
       [  2.50000000e+01,   2.20000000e+04],
       [  2.40000000e+01,   2.30000000e+04],
       [  3.10000000e+01,   3.40000000e+04],
       [  2.60000000e+01,   1.60000000e+04],
       [  3.10000000e+01,   7.10000000e+04],
       [  3.20000000e+01,   1.17000000e+05],
       [  3.30000000e+01,   4.30000000e+04],
       [  3.30000000e+01,   6.00000000e+04],
       [  3.10000000e+01,   6.60000000e+04],
       [  2.00000000e+01,   8.20000000e+04],
       [  3.30000000e+01,   4.10000000e+04],
       [  3.50000000e+01,   7.20000000e+04],
       [  2.80000000e+01,   3.20000000e+04],
       [  2.40000000e+01,   8.40000000e+04],
       [  1.90000000e+01,   2.60000000e+04],
       [  2.90000000e+01,   4.30000000e+04],
       [  1.90000000e+01,   7.00000000e+04],
       [  2.80000000e+01,   8.90000000e+04],
       [  3.40000000e+01,   4.30000000e+04],
       [  3.00000000e+01,   7.90000000e+04],
       [  2.00000000e+01,   3.60000000e+04],
       [  2.60000000e+01,   8.00000000e+04],
       [  3.50000000e+01,   2.20000000e+04],
       [  3.50000000e+01,   3.90000000e+04],
       [  4.90000000e+01,   7.40000000e+04],
       [  3.90000000e+01,   1.34000000e+05],
       [  4.10000000e+01,   7.10000000e+04],
       [  5.80000000e+01,   1.01000000e+05],
       [  4.70000000e+01,   4.70000000e+04],
       [  5.50000000e+01,   1.30000000e+05],
       [  5.20000000e+01,   1.14000000e+05],
       [  4.00000000e+01,   1.42000000e+05],
       [  4.60000000e+01,   2.20000000e+04],
       [  4.80000000e+01,   9.60000000e+04],
       [  5.20000000e+01,   1.50000000e+05],
       [  5.90000000e+01,   4.20000000e+04],
       [  3.50000000e+01,   5.80000000e+04],
       [  4.70000000e+01,   4.30000000e+04],
       [  6.00000000e+01,   1.08000000e+05],
       [  4.90000000e+01,   6.50000000e+04],
       [  4.00000000e+01,   7.80000000e+04],
       [  4.60000000e+01,   9.60000000e+04],
       [  5.90000000e+01,   1.43000000e+05],
       [  4.10000000e+01,   8.00000000e+04],
       [  3.50000000e+01,   9.10000000e+04],
       [  3.70000000e+01,   1.44000000e+05],
       [  6.00000000e+01,   1.02000000e+05],
       [  3.50000000e+01,   6.00000000e+04],
       [  3.70000000e+01,   5.30000000e+04],
       [  3.60000000e+01,   1.26000000e+05],
       [  5.60000000e+01,   1.33000000e+05],
       [  4.00000000e+01,   7.20000000e+04],
       [  4.20000000e+01,   8.00000000e+04],
       [  3.50000000e+01,   1.47000000e+05],
       [  3.90000000e+01,   4.20000000e+04],
       [  4.00000000e+01,   1.07000000e+05],
       [  4.90000000e+01,   8.60000000e+04],
       [  3.80000000e+01,   1.12000000e+05],
       [  4.60000000e+01,   7.90000000e+04],
       [  4.00000000e+01,   5.70000000e+04],
       [  3.70000000e+01,   8.00000000e+04],
       [  4.60000000e+01,   8.20000000e+04],
       [  5.30000000e+01,   1.43000000e+05],
       [  4.20000000e+01,   1.49000000e+05],
       [  3.80000000e+01,   5.90000000e+04],
       [  5.00000000e+01,   8.80000000e+04],
       [  5.60000000e+01,   1.04000000e+05],
       [  4.10000000e+01,   7.20000000e+04],
       [  5.10000000e+01,   1.46000000e+05],
       [  3.50000000e+01,   5.00000000e+04],
       [  5.70000000e+01,   1.22000000e+05],
       [  4.10000000e+01,   5.20000000e+04],
       [  3.50000000e+01,   9.70000000e+04],
       [  4.40000000e+01,   3.90000000e+04],
       [  3.70000000e+01,   5.20000000e+04],
       [  4.80000000e+01,   1.34000000e+05],
       [  3.70000000e+01,   1.46000000e+05],
       [  5.00000000e+01,   4.40000000e+04],
       [  5.20000000e+01,   9.00000000e+04],
       [  4.10000000e+01,   7.20000000e+04],
       [  4.00000000e+01,   5.70000000e+04],
       [  5.80000000e+01,   9.50000000e+04],
       [  4.50000000e+01,   1.31000000e+05],
       [  3.50000000e+01,   7.70000000e+04],
       [  3.60000000e+01,   1.44000000e+05],
       [  5.50000000e+01,   1.25000000e+05],
       [  3.50000000e+01,   7.20000000e+04],
       [  4.80000000e+01,   9.00000000e+04],
       [  4.20000000e+01,   1.08000000e+05],
       [  4.00000000e+01,   7.50000000e+04],
       [  3.70000000e+01,   7.40000000e+04],
       [  4.70000000e+01,   1.44000000e+05],
       [  4.00000000e+01,   6.10000000e+04],
       [  4.30000000e+01,   1.33000000e+05],
       [  5.90000000e+01,   7.60000000e+04],
       [  6.00000000e+01,   4.20000000e+04],
       [  3.90000000e+01,   1.06000000e+05],
       [  5.70000000e+01,   2.60000000e+04],
       [  5.70000000e+01,   7.40000000e+04],
       [  3.80000000e+01,   7.10000000e+04],
       [  4.90000000e+01,   8.80000000e+04],
       [  5.20000000e+01,   3.80000000e+04],
       [  5.00000000e+01,   3.60000000e+04],
       [  5.90000000e+01,   8.80000000e+04],
       [  3.50000000e+01,   6.10000000e+04],
       [  3.70000000e+01,   7.00000000e+04],
       [  5.20000000e+01,   2.10000000e+04],
       [  4.80000000e+01,   1.41000000e+05],
       [  3.70000000e+01,   9.30000000e+04],
       [  3.70000000e+01,   6.20000000e+04],
       [  4.80000000e+01,   1.38000000e+05],
       [  4.10000000e+01,   7.90000000e+04],
       [  3.70000000e+01,   7.80000000e+04],
       [  3.90000000e+01,   1.34000000e+05],
       [  4.90000000e+01,   8.90000000e+04],
       [  5.50000000e+01,   3.90000000e+04],
       [  3.70000000e+01,   7.70000000e+04],
       [  3.50000000e+01,   5.70000000e+04],
       [  3.60000000e+01,   6.30000000e+04],
       [  4.20000000e+01,   7.30000000e+04],
       [  4.30000000e+01,   1.12000000e+05],
       [  4.50000000e+01,   7.90000000e+04],
       [  4.60000000e+01,   1.17000000e+05],
       [  5.80000000e+01,   3.80000000e+04],
       [  4.80000000e+01,   7.40000000e+04],
       [  3.70000000e+01,   1.37000000e+05],
       [  3.70000000e+01,   7.90000000e+04],
       [  4.00000000e+01,   6.00000000e+04],
       [  4.20000000e+01,   5.40000000e+04],
       [  5.10000000e+01,   1.34000000e+05],
       [  4.70000000e+01,   1.13000000e+05],
       [  3.60000000e+01,   1.25000000e+05],
       [  3.80000000e+01,   5.00000000e+04],
       [  4.20000000e+01,   7.00000000e+04],
       [  3.90000000e+01,   9.60000000e+04],
       [  3.80000000e+01,   5.00000000e+04],
       [  4.90000000e+01,   1.41000000e+05],
       [  3.90000000e+01,   7.90000000e+04],
       [  3.90000000e+01,   7.50000000e+04],
       [  5.40000000e+01,   1.04000000e+05],
       [  3.50000000e+01,   5.50000000e+04],
       [  4.50000000e+01,   3.20000000e+04],
       [  3.60000000e+01,   6.00000000e+04],
       [  5.20000000e+01,   1.38000000e+05],
       [  5.30000000e+01,   8.20000000e+04],
       [  4.10000000e+01,   5.20000000e+04],
       [  4.80000000e+01,   3.00000000e+04],
       [  4.80000000e+01,   1.31000000e+05],
       [  4.10000000e+01,   6.00000000e+04],
       [  4.10000000e+01,   7.20000000e+04],
       [  4.20000000e+01,   7.50000000e+04],
       [  3.60000000e+01,   1.18000000e+05],
       [  4.70000000e+01,   1.07000000e+05],
       [  3.80000000e+01,   5.10000000e+04],
       [  4.80000000e+01,   1.19000000e+05],
       [  4.20000000e+01,   6.50000000e+04],
       [  4.00000000e+01,   6.50000000e+04],
       [  5.70000000e+01,   6.00000000e+04],
       [  3.60000000e+01,   5.40000000e+04],
       [  5.80000000e+01,   1.44000000e+05],
       [  3.50000000e+01,   7.90000000e+04],
       [  3.80000000e+01,   5.50000000e+04],
       [  3.90000000e+01,   1.22000000e+05],
       [  5.30000000e+01,   1.04000000e+05],
       [  3.50000000e+01,   7.50000000e+04],
       [  3.80000000e+01,   6.50000000e+04],
       [  4.70000000e+01,   5.10000000e+04],
       [  4.70000000e+01,   1.05000000e+05],
       [  4.10000000e+01,   6.30000000e+04],
       [  5.30000000e+01,   7.20000000e+04],
       [  5.40000000e+01,   1.08000000e+05],
       [  3.90000000e+01,   7.70000000e+04],
       [  3.80000000e+01,   6.10000000e+04],
       [  3.80000000e+01,   1.13000000e+05],
       [  3.70000000e+01,   7.50000000e+04],
       [  4.20000000e+01,   9.00000000e+04],
       [  3.70000000e+01,   5.70000000e+04],
       [  3.60000000e+01,   9.90000000e+04],
       [  6.00000000e+01,   3.40000000e+04],
       [  5.40000000e+01,   7.00000000e+04],
       [  4.10000000e+01,   7.20000000e+04],
       [  4.00000000e+01,   7.10000000e+04],
       [  4.20000000e+01,   5.40000000e+04],
       [  4.30000000e+01,   1.29000000e+05],
       [  5.30000000e+01,   3.40000000e+04],
       [  4.70000000e+01,   5.00000000e+04],
       [  4.20000000e+01,   7.90000000e+04],
       [  4.20000000e+01,   1.04000000e+05],
       [  5.90000000e+01,   2.90000000e+04],
       [  5.80000000e+01,   4.70000000e+04],
       [  4.60000000e+01,   8.80000000e+04],
       [  3.80000000e+01,   7.10000000e+04],
       [  5.40000000e+01,   2.60000000e+04],
       [  6.00000000e+01,   4.60000000e+04],
       [  6.00000000e+01,   8.30000000e+04],
       [  3.90000000e+01,   7.30000000e+04],
       [  5.90000000e+01,   1.30000000e+05],
       [  3.70000000e+01,   8.00000000e+04],
       [  4.60000000e+01,   3.20000000e+04],
       [  4.60000000e+01,   7.40000000e+04],
       [  4.20000000e+01,   5.30000000e+04],
       [  4.10000000e+01,   8.70000000e+04],
       [  5.80000000e+01,   2.30000000e+04],
       [  4.20000000e+01,   6.40000000e+04],
       [  4.80000000e+01,   3.30000000e+04],
       [  4.40000000e+01,   1.39000000e+05],
       [  4.90000000e+01,   2.80000000e+04],
       [  5.70000000e+01,   3.30000000e+04],
       [  5.60000000e+01,   6.00000000e+04],
       [  4.90000000e+01,   3.90000000e+04],
       [  3.90000000e+01,   7.10000000e+04],
       [  4.70000000e+01,   3.40000000e+04],
       [  4.80000000e+01,   3.50000000e+04],
       [  4.80000000e+01,   3.30000000e+04],
       [  4.70000000e+01,   2.30000000e+04],
       [  4.50000000e+01,   4.50000000e+04],
       [  6.00000000e+01,   4.20000000e+04],
       [  3.90000000e+01,   5.90000000e+04],
       [  4.60000000e+01,   4.10000000e+04],
       [  5.10000000e+01,   2.30000000e+04],
       [  5.00000000e+01,   2.00000000e+04],
       [  3.60000000e+01,   3.30000000e+04],
       [  4.90000000e+01,   3.60000000e+04]])
In [5]:
y
Out[5]:
array([0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,
       1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
       0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
       0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1,
       0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1,
       1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1,
       1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1,
       0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0,
       1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1,
       0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1,
       0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1,
       0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1,
       1, 1, 1, 0, 1, 1, 1, 0, 1], dtype=int64)

三、區分訓練集和測試集

In [6]:
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25, random_state = 0)

四、特徵縮放

In [7]:
from sklearn.preprocessing import StandardScaler  # 導入標準化庫
sc_X = StandardScaler()
X_train = sc_X.fit_transform(X_train)
X_test = sc_X.transform(X_test)
X_test
Out[7]:
array([[-0.80480212,  0.50496393],
       [-0.01254409, -0.5677824 ],
       [-0.30964085,  0.1570462 ],
       [-0.80480212,  0.27301877],
       [-0.30964085, -0.5677824 ],
       [-1.10189888, -1.43757673],
       [-0.70576986, -1.58254245],
       [-0.21060859,  2.15757314],
       [-1.99318916, -0.04590581],
       [ 0.8787462 , -0.77073441],
       [-0.80480212, -0.59677555],
       [-1.00286662, -0.42281668],
       [-0.11157634, -0.42281668],
       [ 0.08648817,  0.21503249],
       [-1.79512465,  0.47597078],
       [-0.60673761,  1.37475825],
       [-0.11157634,  0.21503249],
       [-1.89415691,  0.44697764],
       [ 1.67100423,  1.75166912],
       [-0.30964085, -1.37959044],
       [-0.30964085, -0.65476184],
       [ 0.8787462 ,  2.15757314],
       [ 0.28455268, -0.53878926],
       [ 0.8787462 ,  1.02684052],
       [-1.49802789, -1.20563157],
       [ 1.07681071,  2.07059371],
       [-1.00286662,  0.50496393],
       [-0.90383437,  0.30201192],
       [-0.11157634, -0.21986468],
       [-0.60673761,  0.47597078],
       [-1.6960924 ,  0.53395707],
       [-0.11157634,  0.27301877],
       [ 1.86906873, -0.27785096],
       [-0.11157634, -0.48080297],
       [-1.39899564, -0.33583725],
       [-1.99318916, -0.50979612],
       [-1.59706014,  0.33100506],
       [-0.4086731 , -0.77073441],
       [-0.70576986, -1.03167271],
       [ 1.07681071, -0.97368642],
       [-1.10189888,  0.53395707],
       [ 0.28455268, -0.50979612],
       [-1.10189888,  0.41798449],
       [-0.30964085, -1.43757673],
       [ 0.48261718,  1.22979253],
       [-1.10189888, -0.33583725],
       [-0.11157634,  0.30201192],
       [ 1.37390747,  0.59194336],
       [-1.20093113, -1.14764529],
       [ 1.07681071,  0.47597078],
       [ 1.86906873,  1.51972397],
       [-0.4086731 , -1.29261101],
       [-0.30964085, -0.3648304 ],
       [-0.4086731 ,  1.31677196],
       [ 2.06713324,  0.53395707],
       [ 0.68068169, -1.089659  ],
       [-0.90383437,  0.38899135],
       [-1.20093113,  0.30201192],
       [ 1.07681071, -1.20563157],
       [-1.49802789, -1.43757673],
       [-0.60673761, -1.49556302],
       [ 2.1661655 , -0.79972756],
       [-1.89415691,  0.18603934],
       [-0.21060859,  0.85288166],
       [-1.89415691, -1.26361786],
       [ 2.1661655 ,  0.38899135],
       [-1.39899564,  0.56295021],
       [-1.10189888, -0.33583725],
       [ 0.18552042, -0.65476184],
       [ 0.38358493,  0.01208048],
       [-0.60673761,  2.331532  ],
       [-0.30964085,  0.21503249],
       [-1.59706014, -0.19087153],
       [ 0.68068169, -1.37959044],
       [-1.10189888,  0.56295021],
       [-1.99318916,  0.35999821],
       [ 0.38358493,  0.27301877],
       [ 0.18552042, -0.27785096],
       [ 1.47293972, -1.03167271],
       [ 0.8787462 ,  1.08482681],
       [ 1.96810099,  2.15757314],
       [ 2.06713324,  0.38899135],
       [-1.39899564, -0.42281668],
       [-1.20093113, -1.00267957],
       [ 1.96810099, -0.91570013],
       [ 0.38358493,  0.30201192],
       [ 0.18552042,  0.1570462 ],
       [ 2.06713324,  1.75166912],
       [ 0.77971394, -0.8287207 ],
       [ 0.28455268, -0.27785096],
       [ 0.38358493, -0.16187839],
       [-0.11157634,  2.21555943],
       [-1.49802789, -0.62576869],
       [-1.29996338, -1.06066585],
       [-1.39899564,  0.41798449],
       [-1.10189888,  0.76590222],
       [-1.49802789, -0.19087153],
       [ 0.97777845, -1.06066585],
       [ 0.97777845,  0.59194336],
       [ 0.38358493,  0.99784738]])

五、樸素貝葉斯訓練

In [8]:
from sklearn.naive_bayes import GaussianNB
classifier = GaussianNB()
classifier.fit(X_train, y_train)
Out[8]:
GaussianNB(priors=None)

六、預測測試集的結果

In [9]:
y_pred = classifier.predict(X_test)

七、混淆矩陣

In [10]:
from sklearn.metrics import confusion_matrix
cm = confusion_matrix(y_test,y_pred)
cm
Out[10]:
array([[65,  3],
       [ 7, 25]])

八、圖形展示預測結果

訓練集(線性)

In [13]:
from matplotlib.colors import ListedColormap # 導入類
X_set, y_set = X_train, y_train             # 賦值變量
X1, X2 = np.meshgrid(np.arange(start = X_set[:, 0].min() - 1, stop = X_set[:, 0].max() + 1, step = 0.01),
                     np.arange(start = X_set[:, 1].min() - 1, stop = X_set[:, 1].max() + 1, step = 0.01))
plt.contourf(X1, X2, classifier.predict(np.array([X1.ravel(), X2.ravel()]).T).reshape(X1.shape),
             alpha = 0.75, cmap = ListedColormap(('red', 'green'))) # 塗色紅色和綠色
plt.xlim(X1.min(), X1.max()) # 標註最大值,最小值
plt.ylim(X2.min(), X2.max()) # 標註最大值,最小值
for i, j in enumerate(np.unique(y_set)):
    plt.scatter(X_set[y_set == j, 0], X_set[y_set == j, 1],
                c = ListedColormap(('orange', 'blue'))(i), label = j)
plt.title(u'樸素貝葉斯(訓練集)')
plt.xlabel(u'年齡')
plt.ylabel(u'薪水')
plt.legend()
plt.show()

測試集(線性)

In [14]:
from matplotlib.colors import ListedColormap
X_set, y_set = X_test, y_test
X1, X2 = np.meshgrid(np.arange(start = X_set[:, 0].min() - 1, stop = X_set[:, 0].max() + 1, step = 0.01),
                     np.arange(start = X_set[:, 1].min() - 1, stop = X_set[:, 1].max() + 1, step = 0.01))
plt.contourf(X1, X2, classifier.predict(np.array([X1.ravel(), X2.ravel()]).T).reshape(X1.shape),
             alpha = 0.75, cmap = ListedColormap(('red', 'green')))
plt.xlim(X1.min(), X1.max())
plt.ylim(X2.min(), X2.max())
for i, j in enumerate(np.unique(y_set)):
    plt.scatter(X_set[y_set == j, 0], X_set[y_set == j, 1],
                c = ListedColormap(('orange', 'blue'))(i), label = j)
plt.title(u'樸素貝葉斯(測試集)')
plt.xlabel(u'年齡')
plt.ylabel(u'薪水')
plt.legend()
plt.show()

樸素貝葉斯相比SVM和邏輯迴歸的分界線:1.平滑,2.曲線

九、項目地址

發佈了154 篇原創文章 · 獲贊 207 · 訪問量 30萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章