朴素贝叶斯算法的Python实现
时间: 2023-11-05 22:08:07 浏览: 79
朴素贝叶斯算法是一种基于贝叶斯定理的分类算法,主要用于文本分类、垃圾邮件过滤、情感分析等领域。在Python中,可以使用scikit-learn库实现朴素贝叶斯算法,下面是一个简单的示例代码:
```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"]
# 构建词袋模型
vectorizer = CountVectorizer()
X_train_vec = vectorizer.fit_transform(X_train)
# 训练朴素贝叶斯模型
clf = MultinomialNB()
clf.fit(X_train_vec, y_train)
# 预测新数据
X_test = ["Chinese Chinese Chinese Tokyo Japan"]
X_test_vec = vectorizer.transform(X_test)
y_pred = clf.predict(X_test_vec)
print(y_pred) # 输出:['c']
```
在上面的代码中,我们使用了一个简单的文本分类数据集,其中包含4个样本,每个样本表示一个文本和它所属的类别(c表示中国,j表示日本)。首先,我们使用CountVectorizer构建了一个词袋模型,然后将文本数据转换为向量表示。接着,我们使用MultinomialNB训练了一个朴素贝叶斯模型,并使用X_test进行了预测,最终输出了预测结果。