sklearn函数实现朴素贝叶斯算法
时间: 2023-07-26 16:21:07 浏览: 109
sklearn库提供了多种朴素贝叶斯算法的实现,其中常用的包括高斯朴素贝叶斯、多项式朴素贝叶斯和伯努利朴素贝叶斯。这里以多项式朴素贝叶斯为例:
```python
from sklearn.naive_bayes import MultinomialNB
from sklearn.feature_extraction.text import CountVectorizer
# 训练集
X_train = ['Chinese Beijing Chinese', 'Chinese Chinese Shanghai', 'Chinese Macao', 'Tokyo Japan Chinese']
y_train = ['c', 'c', 'c', 'j']
# 测试集
X_test = ['Chinese Chinese Chinese Tokyo Japan']
# 特征提取器
vectorizer = CountVectorizer()
# 将训练数据转换成特征向量
X_train_vec = vectorizer.fit_transform(X_train)
# 创建朴素贝叶斯分类器
clf = MultinomialNB()
# 训练分类器
clf.fit(X_train_vec, y_train)
# 将测试数据转换成特征向量
X_test_vec = vectorizer.transform(X_test)
# 预测分类结果
y_pred = clf.predict(X_test_vec)
# 输出分类结果
print(y_pred)
```
这段代码中,我们首先定义了训练集和测试集,然后使用 `CountVectorizer` 将训练数据转换成特征向量。接着,我们创建了 `MultinomialNB` 朴素贝叶斯分类器,并使用训练数据进行训练。最后,将测试数据转换成特征向量,使用训练好的分类器进行预测,并输出分类结果。
阅读全文