《机器学习》周志华 习题答案7.3

本文使用贝叶斯方法对西瓜数据集进行分类实验,通过Python代码实现,并利用GaussianNB模型完成训练与预测。结果显示,当选择较少属性时,分类错误率有所提升。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  运用贝叶斯方法对西瓜数据集进行分类,同理代码如下:


file1 = open('c:\quant\watermelon.csv','r')
data = [line.strip('\n').split(',') for line in file1]
data = np.array(data)
X = [[float(raw[-7]),float(raw[-6]),float(raw[-5]),float(raw[-4]),float(raw[-3]), float(raw[-2])] for raw in data[1:,1:-1]]
#X = [[float(raw[-3]), float(raw[-2])] for raw in data[1:]]
y = [1 if raw[-1]=='1' else 0 for raw in data[1:]]
X = np.array(X)
y = np.array(y)

from sklearn import datasets
iris = datasets.load_iris()
from sklearn.naive_bayes import GaussianNB
gnb = GaussianNB()
y_pred = gnb.fit(X, y).predict(X)
print("Number of mislabeled points out of a total %d points : %d"
% (X.shape[0],(y != y_pred).sum()))
print y
print y_pred
 

结果如下:Number of mislabeled points out of a total 17 points : 2

[1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0]
[1 1 1 1 1 1 0 1 0 0 0 0 0 0 1 0 0]

如果选取的属性过小,则分类的错误率会增加。

 

转载于:https://www.cnblogs.com/zhusleep/p/5643653.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值