一、实验目的
1、熟悉朴素贝叶斯的求解公式;
2、掌握朴素贝叶斯的代码实现;
3、比较朴素贝叶斯算法的优劣;
4、熟悉numpy的使用。
二、实验设备
计算机:CPU四核i7 6700处理器;内存8G; SATA硬盘2TB硬盘; Intel芯片主板;集成声卡、千兆网卡、显卡; 20寸液晶显示器。
编译环境:python解释器、Pycharm编辑器
三、实验内容
1、新建项目和文件,并导入numpy和matplotlib
(1)打开Pycharm,新建项目,并在该项目下新建文件naive_bayes_classifier.py。
(2)在该项目下存放实验所需要的图片文件夹。
(3)导入一些编程中需要的包。
import numpy as np
import os
from PIL import Image
import time
2、构造一个函数data_transformer
(1)定义函数头data_transformer,该函数有一个参数,path_images,表示图片的存放路径。
(2)将图片读取为103000785的训练数据和102000785的测试数据。
def data_transformer(path_images):
list_image = os.listdir(path_images)
data = []
for nums in list_image:
path_num = path_images + "\\" + nums
list_num = os.listdir(path_num)
data_num = []
for idx in range(0, 5000):
img = Image.open(path_num + '\\' + list_num[idx])
data_vector = list(np.array(img).flatten())
data_vector.append(int(nums))
data_num.append(data_vector)
data.append(data_num)
data = np.array(data)
data_train = data[:, 0:3000, :]
data_test = data[: