机器学习_朴素贝叶斯

该博客介绍了如何使用Python的sklearn库来实现朴素贝叶斯分类。首先,定义了一个`loaddata()`函数生成示例数据,然后通过LabelEncoder将字符型数据转换为数值型。接着,使用MultinomialNB类创建朴素贝叶斯模型并拟合数据。最后,对新样本[2, 'S']进行预测,展示了模型的运用。
摘要由CSDN通过智能技术生成

使用sklearn实现朴素贝叶斯

# 导入模块
import numpy as np
from sklearn import naive_bayes as nb
from sklearn.preprocessing import LabelEncoder
def loaddata():
	X = np.array([[1,'S'],[1,'M'],[1,'M'],[1,'S'],
	[1,'S'],[2,'S'],[2,'M'],[2,'M'],
	[2,'L'],[2,'L'],[3,'L'],[3,'M'],
	[3,'M'],[1,'L'],[3,'L']])
	y = np.array([-1,-1,1,1,-1,-1,-1,1,1,1,1,1,1,1,1,-1])
	return X,y

X,y = loaddata()
把字符类型的转换为数字类型,即对字符类型进行编码
X[:,1] = LabelEncoder().fit_transform(X[:,1])
X = X.astype(int)

调用朴素贝叶斯模型,并fit数据

model = nb.MultinomialNB()
model.fit(X,y)

预测:对[2,‘S’]进行预测,同样S要转换成2

print(model.predict([[2,2]]))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值