朴素贝叶斯算法实验

实验三:朴素贝叶斯算法实验

|博客班级|https://edu.cnblogs.com/campus/czu/classof2020BigDataClass3-MachineLearning|

 

|----|----|----|

 

|作业要求|https://edu.cnblogs.com/campus/czu/classof2020BigDataClass3-MachineLearning/homework/12858|

 

|学号|201613324|

【实验目的】

理解朴素贝叶斯算法原理,掌握朴素贝叶斯算法框架。

【实验内容】

针对下表中的数据,编写python程序实现朴素贝叶斯算法(不使用sklearn包),对输入数据进行预测;
熟悉sklearn库中的朴素贝叶斯算法,使用sklearn包编写朴素贝叶斯算法程序,对输入数据进行预测;

【实验报告要求】

对照实验内容,撰写实验过程、算法及测试结果;
代码规范化:命名规则、注释;
查阅文献,讨论朴素贝叶斯算法的应用场景。

 

一、1.朴素贝叶斯算法(不使用sklearn包),对输入数据进行预测

1.导包

 

 

 

 

2.读取数据

 

 

 

 

3.数据处理:

 

 

 

4. 实验预测:

 

 

 

 

5.输出结果:

 

 

 

  二.朴素贝叶斯算法(使用sklearn包),对输入数据进行预测

dataset=[['0','0','0','0','0','0','1'],
      ['1','0','1','0','0','0','1'],
      ['1','0','0','0','0','0','1'],
      ['0','0','1','0','0','0','1'],
      ['2','0','0','0','0','0','1'],
      ['0','1','0','0','1','1','1'],
      ['1','1','0','1','1','1','1'],
      ['1','1','0','0','1','2','1'],
      ['1','1','1','1','1','2','0'],
      ['0','2','2','0','2','1','0'],
      ['2','2','2','2','2','2','0'],
      ['2','0','0','2','2','1','0'],
      ['0','1','0','1','0','2','0'],
      ['2','1','1','1','0','2','0'],
      ['1','1','0','0','1','1','0'],
      ['2','0','0','2','2','2','0'],
      ['0','0','1','1','1','2','0']
     ]
#青绿:0 乌黑:1 浅白:2
# 蜷缩 0 稍蜷 1 硬挺 2
# 浊响 0 沉闷 1 清脆 2
# 清晰 0 稍糊 1 模糊 2
# 凹陷 0 稍凹 1 平坦 2
# 碍滑 0 软粘 1 硬滑 2
# 是 1 否 0
labels=['色泽','根蒂','敲声','纹理','脐部','触感','好瓜']

 

 

 

from sklearn.naive_bayes import GaussianNB
from sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test = train_test_split(data.T,target,random_state=1)   #按比例分割数据
nb_clf = GaussianNB() #实例化模型
nb_clf.fit(x_train,y_train)  #模型训练
a=nb_clf.predict(x_test)    #预测
acc_score = nb_clf.score(x_test,y_test)   #查看模型分数

 

 

 

x_train

 

 

 

x_test

 

 

 

三、朴素贝叶斯算法的应用场景

1.文本分类、垃圾文本过滤、情感判别 2.多分类实时预测 3.推荐系统

 

posted @ 2022-11-13 23:57  fyddddddd  阅读(46)  评论(0编辑  收藏  举报