import numpy as np
import matplotlib.pyplot as plt
from sklearn.naive_bayes import GaussianNB #朴素贝叶斯库
from sklearn.model_selection import train_test_split
from sklearn import preprocessing
#体重(<70->0)|身高(<170->0)|经济(<5000->0)
x = np.array(((0,1,0),(0,1,1),(1,0,1),(0,0,1),(1,1,1),(0,1,0),(1,0,1),(1,0,0),(1,1,0),(1,0,0),(1,0,1),(0,1,0),(0,0,0),(0,1,1),(1,1,0),(0,1,0)))
y = np.array([0,1,1,0,1,0,0,1,0,0,1,0,0,1,0,0])
#未归一化
x_train,x_test,y_train,y_test=train_test_split(x,y,train_size=0.6)
NB_model = GaussianNB()
NB_model.fit(x_train,y_train)
print(NB_model.predict(x_test)) #概率
print(NB_model.predict_proba(x_test)) #类别占比率
#归一化
print("===============================================================")
x_pro = preprocessing.scale(x)
x_pro_train,x_pro_test,y_pro_train,y_pro_test=train_test_split(x_pro,y,train_size=0.6)
NB_pro_model = GaussianNB()
NB_pro_model.fit(x_pro_train,y_pro_train)
print(NB_pro_model.predict(x_pro_test)) #概率
print(NB_pro_model.predict_proba(x_pro_test)) #类别占比率
[1 1 0 0 1 0 0]
[[0. 1.]
[0. 1.]
[1. 0.]
[1. 0.]
[0. 1.]
[1. 0.]
[1. 0.]]
===============================================================
[0 0 0 0 0 1 1]
[[0.92181305 0.07818695]
[0.8860055 0.1139945 ]
[0.67199888 0.32800112]
[0.92181305 0.07818695]
[0.67199888 0.32800112]
[0.05177127 0.94822873]
[0.07648491 0.92351509]]