朴素贝叶斯分类器假设在给定样本label的情况下,样本的不同特征之间相互独立。现用朴素贝叶斯分类器进行垃圾邮件识别,数据包含4个特征。现有的训练数据如下表: 现在将所有的特征进行转换后,得到下表(请在程序以硬编码方式读入): 转换规则如下:(注:[m,n]表示m,n之间的闭区间,[m,+]表示大于m的开区间) 标题长度(feature 1):1: [0,3], 2: [3,6], 3: [6,+] 正文长度(feature 2):1: [0,10], 2:[10,20], 3: [20,+] 附件含有可执行程序(feature 3):1: 是, 0:否 正文含特殊字符(feature 4):1:是,0:否 请在程序中读入上述训练数据,实现朴素贝叶斯分类器,语言不限,但不能使用第三方库,不需要考虑平滑方法,然后对给定的测试数据(特征已转换)进行预测,输出结果;
输入描述:
输入数据如下,第一行一个数字M,表示共有M行训练数据,第2~M+1行,每行5个数字,分别以空格隔开,前四个数字分别代表四个特征,第5个数字代表这一个样本label值。第M+2行是一个数字N,表示共有N行测试样本,随后的N行每行4个数字,分别代表四个特征的值。141 1 1 0 11 1 1 1 12 1 1 0 03 2 1 0 03 3 0 0 03 3 0 1 12 3 0 1 01 2 1 0 11 3 0 0 03 2 0 0 01 2 0 0 02 2 1 1 02 1 0 0 03 2 1 1 153 1 0 01 1 0 02 2 1 12 3 1 13 3 0 0


输出描述:
使用贝叶斯模型对测试样本进行预测,所有结果按顺序输出到一行,以空格分隔;0 0 0 0 0
示例1

输入

14
1 1 1 0 1
1 1 1 1 1
2 1 1 0 0
3 2 1 0 0
3 3 0 0 0
3 3 0 1 1
2 3 0 1 0
1 2 1 0 1
1 3 0 0 0
3 2 0 0 0
1 2 0 0 0
2 2 1 1 0
2 1 0 0 0
3 2 1 1 1
5
1 1 0 0
1 1 1 0
1 2 1 0
2 1 0 1
2 2 1 1

输出

0 1 1 0 0
加载中...