吴裕雄 python 机器学习——高斯贝叶斯分类器GaussianNB

时间:2023-03-08 17:12:54
吴裕雄 python 机器学习——高斯贝叶斯分类器GaussianNB
import  matplotlib.pyplot as plt

from sklearn import datasets,naive_bayes
from sklearn.model_selection import train_test_split # 加载 scikit-learn 自带的 digits 数据集
def load_data():
'''
加载用于分类问题的数据集。这里使用 scikit-learn 自带的 digits 数据集
'''
digits=datasets.load_digits()
return train_test_split(digits.data,digits.target,test_size=0.25,random_state=0,stratify=digits.target) def show_digits():
'''
绘制 digits 数据集。这里只是绘制数据集中前 25 个样本的图片。
'''
digits=datasets.load_digits()
fig=plt.figure()
print("vector from images 0:",digits.data[0])
for i in range(25):
ax=fig.add_subplot(5,5,i+1)
ax.imshow(digits.images[i],cmap=plt.cm.gray_r, interpolation='nearest')
plt.show() show_digits()

吴裕雄 python 机器学习——高斯贝叶斯分类器GaussianNB

#高斯贝叶斯分类器GaussianNB模型
def test_GaussianNB(*data):
X_train,X_test,y_train,y_test=data
cls=naive_bayes.GaussianNB()
cls.fit(X_train,y_train)
print('Training Score: %.2f' % cls.score(X_train,y_train))
print('Testing Score: %.2f' % cls.score(X_test, y_test)) # 产生用于分类问题的数据集
X_train,X_test,y_train,y_test=load_data()
# 调用 test_GaussianNB
test_GaussianNB(X_train,X_test,y_train,y_test)

吴裕雄 python 机器学习——高斯贝叶斯分类器GaussianNB